



<html>
<head>
  <title>javabog.dk - Webprogrammering med Java Server Pages - Forord</title>
  <link rev="stylesheet" type="text/css" href="../typografi.css">
  <meta name="description" content="Lærebog i Java. Af Jacob Nordfalk. Udkommet hos Forlaget Globe">
  <meta name="keywords" content="designmønster, programmering, OOP, objekter, klasser, objektorienteret programmering, Java, JSP, lærebog, UML, IT">
</head>
<body bgcolor="#ffffff">



<a href='http://javabog.dk/'>javabog.dk</a>&nbsp;&nbsp;|&nbsp;&nbsp;&lt;&lt; forrige&nbsp;&nbsp;|&nbsp;&nbsp;<a href='indhold.jsp'>indhold</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='kapitel1.jsp'>n&aelig;ste &gt;&gt;</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='kode/'>programeksempler</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='../index_JSP.html'>om bogen</a>

<H1 CLASS="western" STYLE="">0 <a name='afsn0'></a>Forord</H1>
<P CLASS="western">Denne bog henvender sig til de, der gerne vil l&aelig;re
at lave webprogrammering med JSP - Java Server Pages. Det er en
fordel hvis du allerede har kendskab til Java p&aring; et vist
niveau.</P>
<H2 CLASS="western">0.1 <a name='afsn0.1'></a>Bogens opbygning</SPAN></H2>
<P CLASS="western"><SPAN STYLE="font-weight: medium"><a href='kapitel1.jsp'>Kapitel </SPAN>1</a>,
Introduktion, introducerer HTML og grundprincipperne i
serverside-teknologi og viser en r&aelig;kke udviklingsv&aelig;rkt&oslash;j
og webservere der underst&oslash;tter JSP.</P>
<P CLASS="western"><SPAN STYLE="font-weight: medium"><a href='kapitel2.jsp'>Kapitel </SPAN>2</a>,
Grundelementer i JSP<SPAN STYLE="font-weight: medium">,</SPAN>
introducerer JSP-syntaks og de grundl&aelig;ggende begreber.</P>
<P CLASS="western"><SPAN STYLE="font-weight: medium"><a href='kapitel3.jsp'>Kapitel </SPAN>3</a>,
Interaktive sider<SPAN STYLE="font-weight: medium">,</SPAN> beskriver
hvordan brugeren f&aring;r mulighed for at sende data til serveren og
interaktionen mellem HTML-koden, der typisk indeholder en
HTML-formular, netl&aelig;serens fremvisning af denne og parametre
der sendes til serveren.</P>
<P CLASS="western"><SPAN STYLE="font-weight: medium"><a href='kapitel4.jsp'>Kapitel </SPAN>4</a>,
Videre med JSP<SPAN STYLE="font-weight: medium">,</SPAN> introducerer
sessions-begrebet og omdirigering og hvordan det  kan bruges til at
lave en interaktiv webapplikation.</P>
<P CLASS="western"><SPAN STYLE="font-weight: medium"><a href='kapitel5.jsp'>Kapitel </SPAN>5</a>,
Brug af databaser<SPAN STYLE="font-weight: medium">,</SPAN>
introducerer kort databaser, hvordan man arbejder med dem og hvordan
man kommunikerer med dem fra JSP. De mange forskellige strategier til
databaseadgang beskrives ogs&aring;.</P>
<P CLASS="western"><a href='kapitel6.jsp'>Kapitel 6</a>, JSTL - JSP Standard Tag Library, er
frivillig l&aelig;sning, der <SPAN STYLE="font-weight: medium"><SPAN LANG="da-DK">ikke
foruds&aelig;ttes l&aelig;st i resten af bogen. Det </SPAN></SPAN>beskriver
JSTL, et HTML-lignende sprog, som kan bruges i stedet for Java, n&aring;r
man skriver koden, der udf&oslash;res p&aring; serveren. Er du ikke
s&aring; erfaren med Java, kan du v&aelig;lge at l&aelig;re JSTL i
stedet, ved at kigge p&aring; og lege med eksemplerne i dette
kapitel.</P>
<P CLASS="western"><SPAN STYLE="font-weight: medium"><a href='kapitel7.jsp'>Kapitel </SPAN>7</a>,
Inde i webserveren, <SPAN STYLE="font-weight: medium">er ogs&aring;
<SPAN LANG="da-DK">frivillig l&aelig;sning. Det </SPAN></SPAN>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&aring; web.xml vises. 
</P>
<P CLASS="western"><SPAN STYLE="font-weight: medium"><a href='kapitel8.jsp'>Kapitel </SPAN>8</a>,
Sikkerhed og adgangskontrol, der <SPAN STYLE="font-weight: medium">ogs&aring;
er <SPAN LANG="da-DK">frivillig l&aelig;sning, </SPAN></SPAN>beskriver
kryptering med SSL og hvordan man kan f&aring; webserveren til
beskytte visse sider med brugernavn og adgangskode. Sidst diskuteres
sikkerhed og hvordan man beskytter sig mod hacking.</P>
<P CLASS="western"><SPAN STYLE="font-weight: medium"><a href='kapitel9.jsp'>Kapitel </SPAN>9</a>,
Javab&oslash;nner i JSP-sider<SPAN STYLE="font-weight: medium">,</SPAN>
viser hvordan man med fordel benytter javaklasser til at huske data
og til st&oslash;rre opgaver, der er uhensigtsm&aelig;ssige at udf&oslash;re
direkte i JSP-siden, bl.a. oprettelse og identifikation af brugere og
sende elektronisk post.</P>
<P CLASS="western"><SPAN STYLE="font-weight: medium"><a href='kapitel10.jsp'>Kapitel </SPAN>10</a>,
Arkitekturer i webprogrammering<SPAN STYLE="font-weight: medium">,</SPAN>
diskuterer hvad der sker, n&aring;r en webapplikation vokser sig stor
og designm&oslash;nstre til at h&aring;ndtere dette, herunder
trelagsmodellen, model 1- og 2-arkitekturer,
Model-View-Controller-arkitekturen og Frontkontrol. 
</P>
<P CLASS="western"><SPAN STYLE="font-weight: medium"><a href='kapitel11.jsp'>Kapitel </SPAN>11</a>,
XML, indholdssyndikering og webtjenester<SPAN STYLE="font-weight: medium">,</SPAN>
introducerer kort XML og relaterede teknologier og beskriver
forskellige anvendelser, bl.a. indholdssyndikering. Derudover
introduceres metodekald over netv&aelig;rket og webtjenester.</P>
<P CLASS="western"><SPAN STYLE="font-weight: medium"><a href='kapitel12.jsp'>Kapitel </SPAN>12</a>,
Enterprise JavaBeans<SPAN STYLE="font-weight: medium">,</SPAN>
handler om store serversystemer og J2EE-platformen, med fokus p&aring;
<SPAN LANG="da-DK">Enterprise JavaBeans.</SPAN></P>
<P CLASS="western"><SPAN STYLE="font-weight: medium"><a href='kapitel13.jsp'>Kapitel </SPAN>13</a>,
Internationale sider<SPAN STYLE="font-weight: medium">,</SPAN>
beskriver hvordan man f&aring;r en webapplikation til at fungere
internationalt, d.v.s. p&aring; flere nationale sprog.</P>
<P CLASS="western"><SPAN STYLE="font-weight: medium">Forrest i hvert
kapitel beskrives foruds&aelig;tningerne for at l&aelig;se kapitlet,
s&aring; her kan du vurdere, om der er et andet kapitel, du eventuelt
b&oslash;r se i f&oslash;rst</SPAN>.</P>

<H3 CLASS="western">0.1.1 <a name='afsn0.1.1'></a>Hvert kapitels opbygning</H3>
<UL>
  <LI><P CLASS="western">Hvert kapitel starter med en <B>oversigt</B>
  over indholdet, og hvilke andre kapitler du foruds&aelig;ttes at
  have l&aelig;st, s&aring; du altid har overblik over, om du har de
  n&oslash;dvendige foruds&aelig;tninger.</P>
  <LI><P CLASS="western">Dern&aelig;st kommer <B>hovedteksten</B>, der
  introducerer emnerne og kommer med eksempler hvor de anvendes. 
  </P>
</UL>
<P CLASS="western">De fleste kapitler har herefter</P>
<UL>
  <LI><P CLASS="western"><B>Appendiks</B> giver en komplet oversigt
  over de fakta, som relaterer sig til kapitlet. <BR>Det er beregnet
  til at blive l&aelig;st sammen med kapitlet, men er ogs&aring;
  velegnet til senere opslag.</P>
  <LI><P CLASS="western"><B>Test dig selv</B>, hvor du kan afpr&oslash;ve,
  om du har f&aring;et fat i de vigtigste ting i kapitlet.</P>
  <LI><P CLASS="western"><B>Resum&eacute;</B>, der i kort form
  repeterer de vigtigste ting.</P>
  <LI><P CLASS="western"><B>Avanceret</B><SPAN STYLE="font-weight: medium">,
  der handler om de mere avancerede ting i relation til kapitlets
  emne. <BR>Disse kan springes over ved f&oslash;rste l&aelig;sning,
  men kan v&aelig;re nyttige at kigge p&aring; senere hen. Resten af
  bogen foruds&aelig;tter ikke, at man har l&aelig;st de avancerede
  afsnit.</SPAN></P>
</UL>

<H3 CLASS="western">0.1.2 <a name='afsn0.1.2'></a>Til underviseren</H3>
<P CLASS="western">Bogen udspringer af noter fra kurset &quot;Videreg&aring;ende
Programmering&quot;, som jeg begyndte at undervise i i efter&aring;ret
2001 p&aring; IT-Diplomuddannelsen p&aring; Ingeni&oslash;rh&oslash;jskolen
i K&oslash;benhavn. Den er i h&oslash;j grad resultatet af praktisk
undervisning og derfor velegnet til kursusbrug. 
</P>
<P CLASS="western">Som underviser kan du i starten af hvert kapitel
se, hvad det foruds&aelig;tter og planl&aelig;gge l&aelig;sningen
gennem kurset derefter</P>
<P CLASS="western">Der findes en (gratis) samlet undervisningspakke,
hvor underviseren f&aring;r:</P>
<UL>
  <LI><P CLASS="western">transparenter, der supplerer bogen</P>
  <LI><P CLASS="western">forslag til semesterplan og opgavesedler</P>
  <LI><P CLASS="western">vejledende opgavebesvarelser</P>
</UL>
<P CLASS="western">Undervisningspakken kan hentes p&aring;
<SPAN STYLE="text-decoration: none"><SPAN STYLE="font-weight: medium"><A CLASS="western" HREF="http://javabog.dk/JSP"><SPAN STYLE="font-weight: medium">http://javabog.dk/JSP</SPAN></A></SPAN></SPAN>.
Du er ogs&aring; meget velkommen til at skrive til mig, p&aring;
nordfalk@mobilixnet.dk, hvis du holder et kursus og er interesseret i
supplerende stof eller har sp&oslash;rgsm&aring;l til
undervisningspakken.</P>

<H2 CLASS="western" STYLE="">0.2 <a name='afsn0.2'></a>Netudgaven
af bogen</SPAN></H2>
<P CLASS="western">St&oslash;rstedelen af bogen findes ogs&aring; som
netudgave, p&aring; adressen <SPAN STYLE="text-decoration: none"><SPAN STYLE="font-weight: medium"><A CLASS="western" HREF="http://javabog.dk/JSP"><SPAN STYLE="font-weight: medium">http://</SPAN></A><A CLASS="western" HREF="http://javabog.dk/JSP"><SPAN STYLE="font-weight: medium">javabog.dk</SPAN></A><A CLASS="western" HREF="http://javabog.dk/JSP"><SPAN STYLE="font-weight: medium">/JSP</SPAN></A></SPAN></SPAN>.
</P>
<P CLASS="western">P&aring; <SPAN STYLE="text-decoration: none"><SPAN STYLE="font-weight: medium"><A CLASS="western" HREF="http://javabog.dk/JSP"><SPAN STYLE="font-weight: medium">http://javabog.dk/JSP</SPAN></A></SPAN></SPAN>
kan du gratis l&aelig;se ca. 80% af bogen og derudover hente:</P>
<UL>
  <LI><P CLASS="western"><SPAN LANG="da-DK">Programeksemplerne</SPAN>
  fra bogen</P>
  <LI><P CLASS="western">Alt koden kan gennemses p&aring;
  <A CLASS="western" HREF="http://javabog.dk/JSP/kode/">http://javabog.dk/JSP/kode/</A>.</P>
  <LI><P CLASS="western">Koden kan afpr&oslash;ves (udf&oslash;rt p&aring;
  en server) p&aring;: <A CLASS="western" HREF="http://javabog.dk:8080/JSP/kode/">http://javabog.dk:<B>8080</B>/JSP/kode/</A>.</P>
  <LI><P CLASS="western">Du kan ogs&aring; hente netudgaven af hele
  bogen med alle eksempler som en <A CLASS="western" HREF="http://javabog.dk/JSP/JSP.war">WAR-fil</A>
  (webapplikation, klar til at installere og k&oslash;re i din egen
  JSP-webserver, se hvordan i <a href='kapitel7.jsp#afsn7.4'>afsnit 7.4</a>, Webapplikationer).</P>
  <LI><P CLASS="western">Undervisningsmateriale fra et kursus i Web-
  og serverprogrammering, s&aring;som lektionsplaner, ugesedler,
  opgaver og transparenter</P>
</UL>
<UL>
  <LI><P CLASS="western">Foredrag om udvalgte kapitler (som lydfiler)</P>
</UL>
<UL>
  <LI><P CLASS="western">Rettelser og tilf&oslash;jelser til bogen</P>
</UL>
<P CLASS="western">Netudgaven, d.v.s. alt der kan findes p&aring;
<SPAN STYLE="text-decoration: none"><SPAN STYLE="font-weight: medium"><A CLASS="western" HREF="http://javabog.dk/JSP"><SPAN STYLE="font-weight: medium">http://javabog.dk/JSP</SPAN></A></SPAN></SPAN>,
er frigivet under &Aring;ben Dokumentlicens (&Aring;DL). Det betyder,
at du kan udskrive og kopiere netudgaven, som du lyster. Den pr&aelig;cise
ordlyd af &Aring;ben Dokumentlicens kan l&aelig;ses p&aring; n&aelig;ste
side. 
</P>
<P CLASS="western">I netudgaven er ca. 20% af teksten sk&aring;ret
v&aelig;k, men bogen er stadig fuldt ud brugbar, idet kun undv&aelig;rlige
emner er udeladt, s&aring;som avancerede afsnit og hjemmeopgaver.</P>
<P CLASS="western">Bidrag og bem&aelig;rkninger er meget velkomne.
Send dem til <A CLASS="western" HREF="mailto:nordfalk@mobilixnet.dk"><SPAN LANG="da-DK">nordfalk@mobilixnet.dk</SPAN></A>.</P>
<H2 CLASS="western">0.3 <a name='afsn0.3'></a>Tak</SPAN></H2>
<P CLASS="western">Tak til Mikala Kjellerup, Kim Damgaard, Jakob
Raavig, Tina Modvig Frederiksen, Troels Nordfalk og Henrik Tange for
deres kritik og forslag til forbedringer.</P>
<P CLASS="western">Tak til Sune Cording for at lade mig bruge hans
tekst som <SPAN LANG="da-DK">udgangspunktet for <a href='kapitel11.jsp#afsn11.5'>afsnit 11.5</a>, Webtjenester,</SPAN>
og <SPAN LANG="da-DK">til Ren&eacute; Thomsen for id&eacute;en til
<a href='kapitel2.jsp#afsn2.8.6'>afsnit 2.8.6</a>, Indlejre og nedskalere billeder fra harddisken.</SPAN></P>
<P CLASS="western">S&aelig;rligt mange tak til min allerk&aelig;reste
Anne Mette for st&oslash;tte og t&aring;lmodighed og for at v&aelig;re
kommet med mange gode kommentarer til <a href='kapitel11.jsp'>kapitel 11</a>, XML, indholdssyndikering og webtjenester.
Og tak til min s&oslash;n Aske for at v&aelig;re s&aring; glad og nem
som sp&aelig;d at jeg bl.a. har kunnet g&oslash;re denne bog f&aelig;rdig
(i skrivende stund er han 3 m&aring;neder).</P>
<P CLASS="western">Sidst men ikke mindst: Tak til Linux-samfundet for
at lave et styresystem, der styrer! Denne bog er skrevet med
<SPAN LANG="da-DK">OpenOffice.org</SPAN> under Mandrake Linux. Begge
har &aring;ben kildekode (Open Source) <SPAN LANG="da-DK">og kan
hentes p&aring; </SPAN><A CLASS="western" HREF="http://OpenOffice.org/"><SPAN LANG="da-DK">http://OpenOffice.org</SPAN></A><SPAN LANG="da-DK">
og </SPAN><A CLASS="western" HREF="http://mandrakelinux.com/"><SPAN LANG="da-DK">http://mandrakelinux.com</SPAN></A><SPAN LANG="da-DK">
gratis.<BR></SPAN><BR><I><SPAN LANG="da-DK">Dankon por la granda
helpo, kiu ebligis tiun &#265;i libron! </SPAN><BR></I>(det er
esperanto og betyder &quot;tak for den store hj&aelig;lp, som gjorde
denne bog mulig!&quot;)<BR><BR><BR>
</P>
<P CLASS="western">Jacob Nordfalk</P>
<P CLASS="western">Valby, september 2004.</P>
<H2 CLASS="western" STYLE="">0.4 <a name='afsn0.4'></a>&Aring;ben
Dokumentlicens (&Aring;DL)</SPAN></H2>
<P CLASS="western" ALIGN=CENTER><IMG SRC="bog1_html_18b0f25c.png" NAME="Grafik3" BORDER=0></P>
<P CLASS="western">Version 1.0 (25. januar 2002)</P>
<H4 CLASS="western">1. Kopiering og distribution af v&aelig;rket i
u&aelig;ndret form</H4>
<P CLASS="western">Du m&aring; frit kopiere dette v&aelig;rk u&aelig;ndret
og distribuere det p&aring; ethvert medium, forudsat at du sammen med
hver kopi bibeholder denne licens og en henvisning til v&aelig;rkets
kilde. 
</P>
<P CLASS="western">Du kan v&aelig;lge at kr&aelig;ve penge for
kopiering og distribution af indholdet, for undervisning i indholdet,
for <SPAN LANG="da-DK">brugerst&oslash;tte</SPAN> og garantier i
forbindelse med indholdet. Hvis du videregiver v&aelig;rket til
andre, har du pligt til at se til, at du selv eller andre giver
modtageren gratis adgang i minimum 3 &aring;r til en elektronisk
udgave af indholdet - i et &aring;bent <SPAN LANG="da-DK">redig&eacute;rbart</SPAN>
format - for eksempel via <SPAN LANG="da-DK">internettet</SPAN>, og
at der i hvert eksemplar <SPAN LANG="da-DK">tydeligt</SPAN> angives,
hvordan man kan f&aring; den elektroniske udgave. 
</P>
<H4 CLASS="western">2. &AElig;ndring af indholdet</H4>
<P CLASS="western">Du m&aring; gerne &aelig;ndre i dette v&aelig;rk
eller dele af det (og dermed lave et nyt v&aelig;rk <SPAN LANG="da-DK">baseret</SPAN>
p&aring; dette v&aelig;rk) og distribuere det som n&aelig;vnt
ovenfor, forudsat at du opfylder alle f&oslash;lgende krav: 
</P>
<OL TYPE=a>
  <LI><P CLASS="western" STYLE="margin-bottom: 0cm">Du skal s&oslash;rge
  for, at det nye v&aelig;rk indeholder en tydelig anm&aelig;rkning
  om, at du &aelig;ndrede det, hvad du &aelig;ndrede og datoen for
  &aelig;ndringerne. 
  </P>
  <LI><P CLASS="western">Det skal v&aelig;re omfattet af samme
  rettigheder og betingelser (&quot;licens&quot;) som det oprindelige
  v&aelig;rk. 
  </P>
</OL>
<P CLASS="western">Alternativt kan det nye v&aelig;rk b&aelig;re en
anden licens eller almindelig ophavsretlig beskyttelse, forudsat at
samtlige dele, der <SPAN LANG="da-DK">oprindeligt</SPAN> stammer fra
dette v&aelig;rk, tydeligt er markeret (<SPAN LANG="da-DK">f.eks.</SPAN>
i sidefoden p&aring; hver side) som v&aelig;rende under denne licens,
og at licensen f&oslash;lges for disse dele af v&aelig;rket, herunder
at der gives gratis elektronisk adgang som n&aelig;vnt under
afsnittet om kopiering og distribution. 
</P>
<H4 CLASS="western">3. Pligter</H4>
<P CLASS="western">Enhver anvendelse, kopiering eller distribuering
betragtes som en accept af denne licens og dens betingelser. Ved
overtr&aelig;delse af <SPAN LANG="da-DK">licensbetingelserne</SPAN>,
vil almindelig ophavsretlig beskyttelse v&aelig;re g&aelig;ldende for
hele v&aelig;rket og vil dermed g&oslash;re person eller personer
<SPAN LANG="da-DK">erstatningspligtige</SPAN> for enhver uautoriseret
anvendelse. 
</P>
<H4 CLASS="western">4. Garanti</H4>
<P CLASS="western" STYLE="border-top: none; border-bottom: 1px solid #000000; border-left: none; border-right: none; padding-top: 0cm; padding-bottom: 0.07cm; padding-left: 0cm; padding-right: 0cm">
Indholdet leveres &quot;som det er&quot;, uden nogen form for garanti
for k&oslash;bs-, brugs- eller <SPAN LANG="da-DK">nyttev&aelig;rdi</SPAN>,
medmindre der er givet en s&aelig;rskilt skriftlig garanti herom. 
</P>
<P CLASS="western">Denne bog er under &Aring;DL, med undtagelse af
avancerede afsnit, Test dig selv, Resum&eacute; og l&oslash;sninger
p&aring; opgaver samt <a href='kapitel8.jsp'>kapitel 8</a>, Sikkerhed og adgangskontrol, <a href='kapitel12.jsp'>kapitel
12</a>, Enterprise JavaBeans. Disse dele er under almindelig ophavsretlig
beskyttelse.</P>

<a href='http://javabog.dk/'>javabog.dk</a>&nbsp;&nbsp;|&nbsp;&nbsp;&lt;&lt; forrige&nbsp;&nbsp;|&nbsp;&nbsp;<a href='indhold.jsp'>indhold</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='kapitel1.jsp'>n&aelig;ste &gt;&gt;</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='kode/'>programeksempler</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='../index_JSP.html'>om bogen</a>
<hr>
<font size=-2>http://javabog.dk/ - <b>Webprogrammering med Java Server Pages</b> af Jacob Nordfalk.
<br>
  Licens og kopiering under <a href='http://www.linuxbog.dk/licens.html'>&Aring;ben Dokumentlicens</a> (&Aring;DL)
  hvor intet andet er nævnt (72% af værket).
</font>
<br>
Ø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.
<!-- netlæser: Wget/1.10, autoHent: true  -->
     

</body>
</html>
