Web- og serverprogrammering

Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html

Java Server Pages - dag 2

Java Server Pages fortsat

Implicit definerede objekter. Sessioner

Evt.: JSTL (Java Standard Template Library)

Læsning: WJSP kapitel 3 - 3.5, 4 - 4.2

Formularer og interaktive sider

Klienten laver en forespørgsel

Serveren sender en HTML-side med formular

F.eks <form action="side2.jsp"><input type="tekst" name="alder"> <input type="submit" name="send" value="OK"></form>

Klienten viser HTML-side med formular

Bruger udfylder formular og trykker 'OK'

Klienten laver en ny forespørgsel med formular

F.eks. GET /side2.jsp?alder=34&send=OK

Serveren fortolker formulardata

request.getParameter("alder") er "34" (og req.getP("send") er "OK")

Serveren sender en ny HTML-side

Indholdet afhænger af (sædvanligvis) af de indsendte formulardata

Formularer og interaktive sider

Formularer og interaktive sider

Formularer og interaktive sider

Test hinanden

Udføres med naboen (vejledende svar findes i afsnit 2.7 og 3.5)

Hvad er HTML-kode? Hvor udføres det (klienten eller serveren)?

Hvad er JSP-programkode? Hvor udføres det (klienten eller serveren)?

Hvad kan man skrive mellem <% og %>?

Hvad kan man skrive mellem <%= og %>?

Hvad kan man skrive mellem <%-- og --%>?

Hvad kan man med out-objektet?

Hvad kan man med request-objektet?

Hvad er en parameter? Giv et eksempel. Hvordan aflæser man den?

Hvad en en HTML-formular?

Giv et lille eksempel på HTML-koden i en formular.

Beskriv hvordan samspillet mellem klient og server foregår - beskriv de parametre der kommer fra dit eksempel på en formular.

Nævn så mange typer felter, der kan forekomme i en formular, som du kan komme i tanke om.

Projektopgaven

Erfaring med webprogrammering gennem et projekt

Omfang: Cirka 80 timer

Formål:

at deltagerne får programmeret så meget som muligt på et projekt

at de får arbejdet med de ting fra kurset der interesserer dem mest

en mindre del af de berørte teknikker i kurset skal indgå

Kan laves i grupper á 1-3 personer

Det kunne f.eks. være:

et projekt fra arbejdet

en prototype på dit afgangsprojekt

en interaktiv webside du savner

Diskussionsforum, foreningsside, gmail-klon, e-handel, ...

Et elektronisk "dueslag" til aflevering af skriftlige opgaver i folkeskolen!

Du skal lægge dig fast på et projekt til gang 4

Hjemmeopgave: Beskriv din ide til projekt (10-30 linier).

Projektopgaven

Opgave til denne gang

1. Bestem hvilken webapplikation du godt kunne tænke dig at programmere

2. Lav en oversigt over skærmbillederne der skal være i din webapplikation

3. Notér de variationer der kan være i hvert skærmbillede i forskellige situationer (f.eks. ved forkert indtastede data)

4. Lav så mange af HTML-siderne du kan (brug f.eks. Netscape's HTML-Composer, JDeveloper eller Macromedia Dreamweaver, hvis du er så heldig at have den).

Mere om JSP: Sessioner

Hver bruger får tildelt et session-objekt når de besøger en JSP-side.

Sessionen følger brugeren, lige meget hvilken side han/hun er inde på, og er derfor nyttigt til at huske data, der skal følge brugeren.

Mere om JSP: Sessioner

Eksempel: Login

Eksempel: Login

Eksempel: Login

Implicit definerede objekter

Der findes en række implicit definerede objekter, som man altid har adgang til i en JSP-side:

request - anmodningen fra klienten

response - svaret til klienten

out - skrive tekst til klienten

session - objekt der følger den enkelte bruger

application - fælles for hele webapplikationen

logning

konfigurations-parametre fra web.xml

kan også gemme attributter ligesom session-objektet

config - den enkelte websides konfiguration

page - selve JSP-siden

exception - undtagelse opstået under kørsel

pageContext - alle objekterne samlet i ét

Java Standard Template Library

JSTL (JSP Standard Tag Library)

Et tag library (forkortet taglib) er et bibliotek af HTML-lignende koder.

Ligesom JSP-koderne udføres taglib-koderne på serveren.

Udkom i slutningen af 2003,

Muligt at programmere JSP-sider i rent JSTL

Java Standard Template Library

JSTL og formularer

Åben Dokumentlicens

Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL)

Du har derfor lov til frit at kopiere dette værk

Bruger du dele af værket i et nyt værk, skal de dele, der stammer fra dette værk, igen frigives under ÅDL

Den fulde licens kan ses på
http://www.sslug.dk/linuxbog/licens.html

Web- og serverprogrammering

Forelæsningsnoter til lærebogen http://javabog.dk/JSP/

Værket er omfattet af Åben dokumentlicens (ÅDL).
Licensens ordlyd kan findes herunder eller på http://www.sslug.dk/linuxbog/licens.html
Åben dokumentlicens (ÅDL) version 1.0 (25. januar 2002)
1. Kopiering og distribution af værket i uændret form
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.
2. Ændring af indholdet
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:
* a) 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.
* b) 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.
3. Pligter
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.
4. Garanti
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.

2004-08-30T12:23:21