Denne bog henvender sig til de, der gerne vil lære at lave webprogrammering med JSP - Java Server Pages. Det er en fordel hvis du allerede har kendskab til Java på et vist niveau.
Kapitel 1, Introduktion, introducerer HTML og grundprincipperne i serverside-teknologi og viser en række udviklingsværktøj og webservere der understøtter JSP.
Kapitel 2, Grundelementer i JSP, introducerer JSP-syntaks og de grundlæggende begreber.
Kapitel 3, Interaktive sider, beskriver hvordan brugeren får mulighed for at sende data til serveren og interaktionen mellem HTML-koden, der typisk indeholder en HTML-formular, netlæserens fremvisning af denne og parametre der sendes til serveren.
Kapitel 4, Videre med JSP, introducerer sessions-begrebet og omdirigering og hvordan det kan bruges til at lave en interaktiv webapplikation.
Kapitel 5, Brug af databaser, introducerer kort databaser, hvordan man arbejder med dem og hvordan man kommunikerer med dem fra JSP. De mange forskellige strategier til databaseadgang beskrives også.
Kapitel 6, JSTL - JSP Standard Tag Library, er frivillig læsning, der ikke forudsættes læst i resten af bogen. Det beskriver JSTL, et HTML-lignende sprog, som kan bruges i stedet for Java, når man skriver koden, der udføres på serveren. Er du ikke så erfaren med Java, kan du vælge at lære JSTL i stedet, ved at kigge på og lege med eksemplerne i dette kapitel.
Kapitel 7, Inde i webserveren, er også frivillig læsning. Det introducerer servletter og hvordan JSP-sider internt bliver oversat til servletter. Derefter ses begrebet webapplikation, hvordan man laver en, hvordan den pakkes og et samlet eksempel på web.xml vises.
Kapitel 8, Sikkerhed og adgangskontrol, der også er frivillig læsning, beskriver kryptering med SSL og hvordan man kan få webserveren til beskytte visse sider med brugernavn og adgangskode. Sidst diskuteres sikkerhed og hvordan man beskytter sig mod hacking.
Kapitel 9, Javabønner i JSP-sider, viser hvordan man med fordel benytter javaklasser til at huske data og til større opgaver, der er uhensigtsmæssige at udføre direkte i JSP-siden, bl.a. oprettelse og identifikation af brugere og sende elektronisk post.
Kapitel 10, Arkitekturer i webprogrammering, diskuterer hvad der sker, når en webapplikation vokser sig stor og designmønstre til at håndtere dette, herunder trelagsmodellen, model 1- og 2-arkitekturer, Model-View-Controller-arkitekturen og Frontkontrol.
Kapitel 11, XML, indholdssyndikering og webtjenester, introducerer kort XML og relaterede teknologier og beskriver forskellige anvendelser, bl.a. indholdssyndikering. Derudover introduceres metodekald over netværket og webtjenester.
Kapitel 12, Enterprise JavaBeans, handler om store serversystemer og J2EE-platformen, med fokus på Enterprise JavaBeans.
Kapitel 13, Internationale sider, beskriver hvordan man får en webapplikation til at fungere internationalt, d.v.s. på flere nationale sprog.
Forrest i hvert kapitel beskrives forudsætningerne for at læse kapitlet, så her kan du vurdere, om der er et andet kapitel, du eventuelt bør se i først.
Hvert kapitel starter med en oversigt over indholdet, og hvilke andre kapitler du forudsættes at have læst, så du altid har overblik over, om du har de nødvendige forudsætninger.
Dernæst kommer hovedteksten, der introducerer emnerne og kommer med eksempler hvor de anvendes.
De fleste kapitler har herefter
Appendiks giver en komplet oversigt
over de fakta, som relaterer sig til kapitlet.
Det er beregnet
til at blive læst sammen med kapitlet, men er også
velegnet til senere opslag.
Test dig selv, hvor du kan afprøve, om du har fået fat i de vigtigste ting i kapitlet.
Resumé, der i kort form repeterer de vigtigste ting.
Avanceret,
der handler om de mere avancerede ting i relation til kapitlets
emne.
Disse kan springes over ved første læsning,
men kan være nyttige at kigge på senere hen. Resten af
bogen forudsætter ikke, at man har læst de avancerede
afsnit.
Bogen udspringer af noter fra kurset "Videregående Programmering", som jeg begyndte at undervise i i efteråret 2001 på IT-Diplomuddannelsen på Ingeniørhøjskolen i København. Den er i høj grad resultatet af praktisk undervisning og derfor velegnet til kursusbrug.
Som underviser kan du i starten af hvert kapitel se, hvad det forudsætter og planlægge læsningen gennem kurset derefter
Der findes en (gratis) samlet undervisningspakke, hvor underviseren får:
transparenter, der supplerer bogen
forslag til semesterplan og opgavesedler
vejledende opgavebesvarelser
Undervisningspakken kan hentes på http://javabog.dk/JSP. Du er også meget velkommen til at skrive til mig, på nordfalk@mobilixnet.dk, hvis du holder et kursus og er interesseret i supplerende stof eller har spørgsmål til undervisningspakken.
Størstedelen af bogen findes også som netudgave, på adressen http://javabog.dk/JSP.
På http://javabog.dk/JSP kan du gratis læse ca. 80% af bogen og derudover hente:
Programeksemplerne fra bogen
Alt koden kan gennemses på http://javabog.dk/JSP/kode/.
Koden kan afprøves (udført på en server) på: http://javabog.dk:8080/JSP/kode/.
Du kan også hente netudgaven af hele bogen med alle eksempler som en WAR-fil (webapplikation, klar til at installere og køre i din egen JSP-webserver, se hvordan i afsnit 7.4, Webapplikationer).
Undervisningsmateriale fra et kursus i Web- og serverprogrammering, såsom lektionsplaner, ugesedler, opgaver og transparenter
Foredrag om udvalgte kapitler (som lydfiler)
Rettelser og tilføjelser til bogen
Netudgaven, d.v.s. alt der kan findes på http://javabog.dk/JSP, er frigivet under Åben Dokumentlicens (ÅDL). Det betyder, at du kan udskrive og kopiere netudgaven, som du lyster. Den præcise ordlyd af Åben Dokumentlicens kan læses på næste side.
I netudgaven er ca. 20% af teksten skåret væk, men bogen er stadig fuldt ud brugbar, idet kun undværlige emner er udeladt, såsom avancerede afsnit og hjemmeopgaver.
Bidrag og bemærkninger er meget velkomne. Send dem til nordfalk@mobilixnet.dk.
Tak til Mikala Kjellerup, Kim Damgaard, Jakob Raavig, Tina Modvig Frederiksen, Troels Nordfalk og Henrik Tange for deres kritik og forslag til forbedringer.
Tak til Sune Cording for at lade mig bruge hans tekst som udgangspunktet for afsnit 11.5, Webtjenester, og til René Thomsen for idéen til afsnit 2.8.6, Indlejre og nedskalere billeder fra harddisken.
Særligt mange tak til min allerkæreste Anne Mette for støtte og tålmodighed og for at være kommet med mange gode kommentarer til kapitel 11, XML, indholdssyndikering og webtjenester. Og tak til min søn Aske for at være så glad og nem som spæd at jeg bl.a. har kunnet gøre denne bog færdig (i skrivende stund er han 3 måneder).
Sidst men ikke mindst: Tak til Linux-samfundet for
at lave et styresystem, der styrer! Denne bog er skrevet med
OpenOffice.org under Mandrake Linux. Begge
har åben kildekode (Open Source) og kan
hentes på http://OpenOffice.org
og http://mandrakelinux.com
gratis.
Dankon por la granda
helpo, kiu ebligis tiun ĉi libron!
(det er
esperanto og betyder "tak for den store hjælp, som gjorde
denne bog mulig!")
Jacob Nordfalk
Valby, september 2004.
Version 1.0 (25. januar 2002)
Du må frit kopiere dette værk uændret og distribuere det på ethvert medium, forudsat at du sammen med hver kopi bibeholder denne licens og en henvisning til værkets kilde.
Du kan vælge at kræve penge for kopiering og distribution af indholdet, for undervisning i indholdet, for brugerstøtte og garantier i forbindelse med indholdet. Hvis du videregiver værket til andre, har du pligt til at se til, at du selv eller andre giver modtageren gratis adgang i minimum 3 år til en elektronisk udgave af indholdet - i et åbent redigérbart format - for eksempel via internettet, og at der i hvert eksemplar tydeligt angives, hvordan man kan få den elektroniske udgave.
Du må gerne ændre i dette værk eller dele af det (og dermed lave et nyt værk baseret på dette værk) og distribuere det som nævnt ovenfor, forudsat at du opfylder alle følgende krav:
Du skal sørge for, at det nye værk indeholder en tydelig anmærkning om, at du ændrede det, hvad du ændrede og datoen for ændringerne.
Det skal være omfattet af samme rettigheder og betingelser ("licens") som det oprindelige værk.
Alternativt kan det nye værk bære en anden licens eller almindelig ophavsretlig beskyttelse, forudsat at samtlige dele, der oprindeligt stammer fra dette værk, tydeligt er markeret (f.eks. i sidefoden på hver side) som værende under denne licens, og at licensen følges for disse dele af værket, herunder at der gives gratis elektronisk adgang som nævnt under afsnittet om kopiering og distribution.
Enhver anvendelse, kopiering eller distribuering betragtes som en accept af denne licens og dens betingelser. Ved overtrædelse af licensbetingelserne, vil almindelig ophavsretlig beskyttelse være gældende for hele værket og vil dermed gøre person eller personer erstatningspligtige for enhver uautoriseret anvendelse.
Indholdet leveres "som det er", uden nogen form for garanti for købs-, brugs- eller nytteværdi, medmindre der er givet en særskilt skriftlig garanti herom.
Denne bog er under ÅDL, med undtagelse af avancerede afsnit, Test dig selv, Resumé og løsninger på opgaver samt kapitel 8, Sikkerhed og adgangskontrol, kapitel 12, Enterprise JavaBeans. Disse dele er under almindelig ophavsretlig beskyttelse.
javabog.dk | << forrige | indhold | næste >> | programeksempler | om bogen