javabog.dk  |  << forrige  |  indhold  |  næste >>  |  programeksempler  |  om bogen

1 Introduktion


1.1 Hvad er HTML? 18

1.2 Hvad er JSP? 19

1.2.1 Princippet i serverside-teknologier 19

1.3 Udviklingsværktøjer til JSP 20

1.3.1 Oracle JDeveloper 20

1.3.2 Netbeans og Sun Java Studio Creator 21

1.3.3 Borland JBuilder 21

1.3.4 Eclipse og IBM WebSphere Studio 22

1.4 Installation af en server 23

1.4.1 Tomcat 23

1.4.2 Resin 25

1.5 PHP og ASP - JSPs fætre 25

1.5.1 JSP fremfor PHP og ASP - fordele og ulemper 26

1.6 Videre læsning 26

En overfladisk forståelse af dette kapitel forudsættes i det meste af bogen.

Java Server Pages (forkortet JSP) giver dig en lang række af muligheder for at gøre din hjemmeside mere levende.

JSP benyttes i mange sammenhænge, hvor man ønsker dynamiske indhold i HTML-sider, bl.a. i debatfora, postlister, afstemninger og e-handels-løsninger.

Målet med denne bog er, at give en grundig indførsel i, hvordan du kommer i gang med at bruge JSP. Den starter fra bunden, men kræver dog, at du i forvejen har et godt kendskab til HTML. JSP er mere avanceret end HTML og det er en stor fordel hvis du allerede har prøvet at programmere i Java (eller et sprog med samme syntaks, f.eks. JavaScript eller C/C++), da man kan bruge Java som programmeringssprog i JSP. Databasekendskab er også en fordel, da man ofte har brug for at gemme nogle oplysninger.

Hvis du undervejs får brug for hjælp kan du besøge nogle af henvisningerne i afsnit 1.6. Der finder du svar på spørgsmål lige fra helt banale begynderproblemer til de meget avancerede spørgsmål.

1.1 Hvad er HTML?

Hjemmesider er skrevet i sproget HTML (HyperText Markup Language). Det forudsættes at du har rimeligt kendskab til HTML i forvejen, så hvis nedenstående kommer som en overraskelse for dig, bør du nok starte med en HTML-vejledning i stedet.

Her er et eksempel på en HTML-side:

<html>
<head><title>Simpel hjemmeside</title></head>
<body>

<h1>En simpel hjemmeside</h1>

<p>Velkommen til min lille <i>hjemmeside</i>.
</p>

<p>Jeg hedder <b>Jacob</b> og underviser på
<a href="http://www.cv.ihk.dk">
Center for Videreuddannelse</a> 
<a href="http://ihk.dk">
Ingeniørhøjskolen i København</a>.
</p>

<p>Her kan du se hvordan jeg ser ud:<br>
<img src="jacob.jpg"></p>

</body>
</html>

Til højre ses hvordan en netlæser (eng.: web browser), her Konqueror under Linux, viser siden. Det, der ikke er indkapslet i < og > er tekst, der bliver vist på skærmen.

Koderne mellem < og > kaldes HTML-koder (eng.: tags) og fortæller netlæseren hvordan den skal vise teksten. Eksempelvis markerer <h1> at der kommer en overskrift, der skal vises med større skrift end resten.

De fleste koder skal afsluttes med en slut-kode (f.eks skal <h1> afsluttes med </h1>). Koderne kan have attributter, der giver ekstra information (f.eks har koden <img>, der bruges til at vise et billede, attributten src, der angiver filnavnet på billedet, der skal vises det pågældende sted: <img src="jacob.jpg">).

1.2 Hvad er JSP?

En JSP-side er en en HTML-side med endelsen .jsp, som udover HTML også indeholder noget programkode, der er skrevet i Java. Javakoden afvikles på webserveren, og resultatet sendes til klienten, dvs. brugerens netlæser (eng.: web browser).

JSP (Java Server Pages) er udviklet af Sun Microsystems og fællesskabet omkring Java.

1.2.1 Princippet i serverside-teknologier

Den bedste måde at forklare, hvordan en serverside-teknologi (og dermed JSP) fungerer på er at sammenligne det med almindelig HTML.

En HTML-side

Forestil dig at du i din netlæsers adresselinje taster adressen (URL1) på et HTML-dokument, f.eks. http://minesider.dk/dokument.html. Det kaldes at anmode (eng.: request) om en HTML-side. Da sker der det følgende:

Serveren sender altså bare HTML-filen afsted til klienten.

En JSP-side

Hvis du i stedet taster en URL på en JSP-side, f.eks. http://minesider.dk/dokument.jsp, og dermed anmoder om et JSP-dokument, kommer serveren på arbejde:

Det er vigtigt at forstå at klienten kun ser resultatet af serverens beregninger - ikke selve instrukserne. JSP stiller derfor ikke krav til hvilken netlæser dine besøgende har, men til serveren som dine sider ligger på.

Hvis du vælger "vis kilde" (eng.: View Source) når du anmoder om at se et JSP-dokument, kan du ikke se JSP-koderne - kun almindeligt HTML. Du kan altså ikke se, hvordan en JSP-side er lavet, men er nødt til at lære JSP på andre måder - f.eks. ved at læse denne bog.

Denne bog handler om at skrive kode, der udføres på serveren, og det betyder at du skal installere et program på din computer, som gør den i stand til at fungere som en server. Der er naturligvis også den mulighed, at du bruger en eksisterende server, der understøtter JSP(f.eks. et webhotel), og at du så lægger dine sider der, når du vil prøve dem.

1.3 Udviklingsværktøjer til JSP

Det antages at du allerede har et redigeringsværktøj til HTML og ved hvordan det bruges.

Desuden har du brug for adgang til en PC eller en webserver, som kan afvikle JSP.

Den mest skrabede løsning, man kan vælge at redigere JSP-siderne i, er et ikke-Java-orienteret program, som for eksempel Notesblok under Windows eller kedit (eller emacs) under Linux. Så er det nødvendigt at installere en server, som kan afvikle JSP (se afsnit 1.4).

Når man programmerer synes de fleste dog, at det er rarere at benytte et Java-udviklingsmiljø, der kan hjælpe en med:

De fleste udviklingværktøjer er opbygget med en menulinje øverst, der indeholder tilgang til filhåndtering, projektstyring og alle nødvendige værktøjer, hvoraf den vigtigste er "Run". "Run" oversætter først kildeteksten og starter derefter fortolkeren. Uddata kan ses i den nederste ramme. "Debug" (der findes under "Run") bruges til fejlfinding af programmer og giver mulighed for at udføre programkoden trinvist.

1.3.1 Oracle JDeveloper

Databaseproducenten Oracle udgiver udviklingsværktøjet JDeveloper:

JDeveloper kan en masse meget avancerede ting, men kan for begyndere være indviklet at bruge, på grund af de mange muligheder.

JDeveloper er skrevet i Java, kræver 256 MB RAM og fås bl.a. til Windows og Linux.

Den fulde udgave kan hentes gratis til privat- og undervisningsbrug på http://oracle.com. Til kommercielt brug skal man købe en licens.

1.3.2 Netbeans og Sun Java Studio Creator

Sun har udgivet sit eget udviklingsmiljø, Sun Java Studio Creator (tidligere kaldet Forte og Sun ONE Studio), også skrevet i Java, til Windows, Linux og Sun Solaris.

Udviklingsværktøjet understøtter udvikling af JSP (sørg for at have alle web-moduler installeret):

Vælg først File|New...|JSP & Servlets|Web Module og vælg en mappe du vil have dine JSP-filer, og derefter File|New...|JSP & Servlets|JSP og vælg mappen du lige har oprettet og giv et filnavn til JSP-siden (uden .jsp-endelse, det gør værktøjet selv). Højreklik på filen og vælg 'Execute' for at køre JSP-filen i værktøjets interne webserver.

En basisudgave af programmet har fået Åben Kildekode (Open Source) under navnet NetBeans og kan hentes gratis på http://netbeans.org. En prøveudgave af Sun Java Studio Creator kan hentes gratis på http://developers.sun.com/prodtech/javatools/jscreator/

1.3.3 Borland JBuilder

JBuilder fra Borland er et af de mest populære Java-udviklingsmiljøer. JBuilder er skrevet i Java og kører på både Macintosh, Windows, Linux og Sun Solaris. Det anbefales at have 256 MB RAM.

En basisversion af JBuilder, der desværre ikke tillader udvikling i JSP, kan hentes gratis fra http://borland.com/jbuilder. Ønsker man adgang til de mere avancerede funktioner, herunder udvikling i JSP, skal programmet købes eller man må nøjes med en prøveversion, der kun virker i 30 dage.

1.3.4 Eclipse og IBM WebSphere Studio

IBM WebSphere Studio - baseret på Open Source-initiativet Eclipse (http://eclipse.org) er et andet stærkt udviklingsmiljø til bl.a. JSP. En gratis prøveversion kan hentes på IBMs hjemmeside: http://www-306.ibm.com/software/awdtools/studioappdev/.

1.4 Installation af en server

De fleste udviklingsværktøjer understøtter udvikling af JSP-sider og har en server indbygget.

Har du et Java-udviklingsmiljø der understøtter webprogrammering behøver du ikke installere en server for at prøve at programmere JSP-sider

Er du begynder foretrækker du sandsynligvis at lade udviklingsmiljøet tage sig af detaljerne og bruge dens server.

Vil du installere din egen server skal du have et Java-udviklingskit (kaldet JDK eller J2SE) installeret på din maskine. Java kan hentes fra http://java.sun.com, men har du allerede et Java-relateret udviklingsmiljø (f.eks JBuilder, JDeveloper, Netbeans/Forte, ...) på din maskine, er Java allerede installeret2.

Er du i tvivl kan det sjældent skade at installere Java en gang til :-)

Der findes rigtig mange Java-webservere på markedet, lige fra helt små (endda en, der kun fylder 2 megabyte) til kæmpeprogrammer fra store firmaer som Borland, Oracle og IBM:

Kun de første to vil blive beskrevet i det følgende.

1.4.1 Tomcat

Jakarta Tomcat (http://jakarta.apache.org/tomcat/) er Suns officielle implementering af en JSP-server. Den har for programudviklere en speciel status som reference-implementering, sådan at den, i tvivlstilfælde, definerer hvordan en JSP-webserver bør fungere, og viser dermed de andre producenter af JSP-servere, hvad de har at rette sig efter.

Tomcat har Åben Kildekode (eng.: Open Source) og er gratis at bruge både til ikke-kommercielle og kommercielle formål.

Den kan hentes på adressen http://jakarta.apache.org/builds/jakarta-tomcat/. Hjemmesiden er lidt svær at finde rundt i, men du skal ende med at stå med en fil der hedder f.eks. jakarta-tomcat-5.0.27.exe (installationsprogram - anbefales hvis du bruger Windows) eller jakarta-tomcat-5.0.27.zip (kan bruges under både Linux, Windows og andre styresystemer).

Versionsnummeret kan selvfølgelig variere, men til de ting du kommer til at bruge her gør det ikke den store forskel hvilken version du bruger.

Bruger du ZIP-filen er der et par skridt du skal ordne selv:

Installation af ZIP-filen - Linux

Pak ZIP-filen med Tomcat ud, f.eks. i din hjemmemappe og gå ind i bin-mappen:

cd jakarta-tomcat-5.0.27/bin

Miljøvariablen JAVA_HOME skal være sat til at pege på din Java-installation.

Det kan du gøre ved at skrive (erstat stien med der, hvor Java er installeret)

export JAVA_HOME=/usr/local/jdk1.4

på kommandolinjen eller ved at redigere filen catalina.sh eller setclasspath.sh og indsætte linjen øverst. Sørg også for at alt i bin-mappen kan eksekveres (chmod a+x *).

Start derefter Tomcat:

./startup.sh

Installation af ZIP-filen - Windows

Pak ZIP-filen med Tomcat ud, f.eks. i C:\ (roden på C-drevet). Derefter skal du ind i kontrolpanelet og definere miljøvariablen JAVA_HOME til at pege på der, hvor JDK er installeret (f.eks. C:\JBuilderX\jdk1.4). Du kan også gå ind i Tomcats bin-mappe og redigere filen catalina.bat eller setclasspath.bat og sætte linjen

set JAVA_HOME=C:\JBuilderX\jdk1.4

ind øverst i filen (erstat stien med der, hvor Java er installeret). Det kan være du også skal højreklikke på startup.bat og under Egenskaber vælge at reservere mere hukommelse til miljøvariabler.

Start derefter Tomcat, ved at dobbeltklikke på startup.bat.

Prøve installationen

Du kan nu gå i gang med at lege med Tomcat og prøve JSP-eksemplerne, der følger med Tomcat. Det er også en god idé at udforske filstrukturen (med f.eks. Stifinder) og blive fortrolig med mappestrukturen (vist til højre).

Tjek først at Tomcat kører ved at åbne http://localhost:8080/. Gør den ikke det, må du læse installationsvejledningen der følger med Tomcat nøjere og evt. kigge på log-filerne (der ligger i undermappen logs/).

Websiderne er opdelt i grupper, der kaldes webapplikationer. Hver webapplikation ligger under dens eget navn i en mappe under webapps/.

F.eks. ligger JSP-eksemplerne under webapps/jsp-examples/ på filsystemet og kan tilsvarende findes i gennem webserveren på adressen http://localhost:8080/jsp-examples/.

Webapplikationer forklares nærmere i afsnit 7.4.

Hvis du har problemer med at se JSP-sider

Hvis JSP-eksemplerne ikke virker (men du i øvrigt godt kan se almindelige HTML-sider og servletter gennem din Tomcat på http://localhost:8080/) så er det nok fordi Tomcat ikke kan finde filen tools.jar (der findes i din Java-installation, sandsynligvis under jdk1.4/lib/tools.jar). Så får du nok fejlen "java.lang.NoClassDefFoundError: sun/tools/javac/Main", når du forsøger at se en JSP-side.

Sørg da for, at Tomcat kender jdk1.4/lib/tools.jar fra JDKet, f.eks. ved at indføje den i CLASSPATH eller kopiere den ind i ext/-mappen for din JDK (jdk1.4/jre/lib/ext/). Se evt. afsnit 4.9.6, Hvis klasse(bibliotek)er ikke kan findes.

Bemærk at du skal have JDK (Java Developers Kit, også kaldet J2SE - Java 2 Standard Edition) installeret. JRE (Java Runtime Environment) er ikke tilstrækkeligt.

1.4.2 Resin

En anden populær webserver er Resin fra Caucho (http://caucho.com). Den er der mange der synes er betydeligt lettere at installere og bruge end Tomcat.

Resin skal blot hentes fra http://caucho.com og pakkes ud, hvorefter httpd.exe (Windows) eller httpd.sh (Linux), der ligger inde i bin-mappen, startes.

Derefter kan man prøve den ved at åbne http://localhost:8080/, klikke på Demo og prøve JSP-eksemplerne (de ligger som filer i doc/examples/basic/).

Resin har Åben Kildekode og er gratis at bruge til ikke-kommercielle formål. Til kommercielle formål skal en licens købes.

Den rareste ting ved Resin i forhold til Tomcat viser sig først, når man begynder at arbejde med servletter og separate java-klasser: Resin oversætter selv automatisk .java-kildetekstfilerne til binære .class-filer og indlæser dem. I Tomcat skal man selv sørge for at oversætte .java-kildetekst til .class-filer.

1.5 PHP og ASP - JSPs fætre

JSP er, som vi vil se i næste kapitel, HTML-sider med noget ekstra programkode, der udføres på serveren. Dette princip er også brugt i en række andre web-programmeringssprog, såsom det ekstremt populære PHP (der står for PHP: Hypertext Preprocessor) og det mindre populære ASP (Active Server Pages) fra Microsoft.

1.5.1 JSP fremfor PHP og ASP - fordele og ulemper

Som tommelfingerregel er det en god idé at vælge JSP hvis du kender Java i forvejen eller hvis du gerne vil lære et sprog og en metodik, der også fungerer sammen med store serversystemer.

1.6 Videre læsning

Man kan læse mere om JSP på de følgende sider:

Har du brug for hjælp til JSP eller installation af serverne så kig forbi

1 URL - Uniform Resource Locator - den adresse, som en hjemmeside har på internettet.

2I det tilfælde kan du bruge JDKet der følger med udviklingsmiljøet. I de fleste ligger JDKet i en mappe med navnet JDK, f.eks. ligger Borlans JBuilders JDK i mappen JBuilderX/jdk1.4/)

javabog.dk  |  << forrige  |  indhold  |  næste >>  |  programeksempler  |  om bogen
http://javabog.dk/ - Webprogrammering med Java Server Pages af Jacob Nordfalk.
Licens og kopiering under Åben Dokumentlicens (ÅDL) hvor intet andet er nævnt (72% af værket).

Ønsker du at se de sidste 28% af dette værk (275315 tegn) skal du købe bogen. Så får du pæne figurer og layout, stikordsregister og en trykt bog med i købet.