Web- og serverprogrammering

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

Javabønner og Arkitekturer i webprogrammer - dag 5

Strategier til adskillelse af programlogik og præsentation

Javabønner

Arkitekturer i webprogrammer

Flerlags-arkitekturer

Lærer: JANO

Læsning: WJSP 9-9.4, 10-10.2, 10.5, 10.8

Sidste uges opgaver

Undersøge HTTP-protokollen med en pakke-sniffer

Undersøge de genererede servletter

Bruge servletter (JDeveloper)

Spørgsmål i øvrigt?

Model 1 og 2 webarkitektur

Model 1 - programlogik sammen med HTML

Simpel struktur

Nem at starte med

Velegnet til små projekter

Svært at adskille programlogik og HTML

Samme person er programmør og HTML-designer

Decentral

hver side behandler data fra sin egen formular

Potentiel redundans

samme programlogik flere steder

Model 2 - programlogik adskilt fra HTML

Mere omfattende struktur

Sværere at starte med

Lettere at vedligeholde ved større projekter

Programlogik og HTML relativt adskilt

Forskellige personer kan tage sig af programmering og HTML-design

Centraliseret

Programlogik og beslutning om, hvilken side, der skal vises sker ét sted

Model 1 og 2 webarkitektur

Mange bud på implementation af model 2

To slags JSP-sider: Nogen har kun programlogik, andre kun HTML

JSP og javabønner

"Model-View-Controller"

Frontkontrol-servlet/JSP fortolker og behandler inddata

dirigerer videre til præsentations-JSP der genererer HTML

Struts: Overbygning der giver hændelseshåndtering

Struts agerer Frontkontrol ud fra XML-fil

Java Server Faces: Visuel designer a la grafiske applikationer

JSF giver hændelseshåndtering og generer bagvedliggende kode

JSP-sider, der genererer XML,

HTML-designer skriver XSLT (XML-transformationer) til HTML

Hjælpeteknologier

Servlet-filtre (præprocessering og omdirigering af forespørgsler)

Taglibs: HTML-lignende koder der udføres på serveren

JSTL

Kan simplificere JSP-siderne betydeligt

JSP og Javabønner

JSP og Javabønner - eksempel

kalender.jsp

Bruger.java

(bønne pr bruger)

Kalender.java

(fælles for alle)

Å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

2.8.1 Læse filer fra harddisken 37

2.8.2 Erklæring af metoder og blivende variabler 38

2.8.3 Trådsikkerhed i JSP-sider 39

2.8.4 Producere grafik fra JSP 40

2.8.5 Eksempel: JSP-side der danner et JPG-billede 40

2.8.6 Indlejre og nedskalere billeder fra harddisken 43

2.8.7 Opload af filer til server 44

3.6 Avanceret 58

3.6.1 Indkode data i en URL (URL-indkodning) 58

3.6.2 Skjulte felter i formularer 59

3.6.3 Bruge skjulte felter til at etablere et forløb 60

3.6.4 Skjule parametrene (POST-metoden) 60

3.6.5 Cookier 61

3.6.6 Sætte cookier 62

3.6.7 Aflæse cookier 62

3.7 Avanceret: HTTP-protokollen 64

3.7.1 Eksempel på kommunikation 64

3.7.2 Formulardata med GET-metoden 65

3.7.3 Formulardata med POST-metoden 66

3.7.4 Cookier 66

3.7.5 Øvelse 66

4.3 Omdirigering 73

4.3.1 Klient-omdirigering (response.sendRedirect()) 73

4.3.2 Server-omdirigering (<jsp:forward />) 74

4.4 Appendiks: Almindelige JSP-koder 75

4.5 Appendiks: Implicit definerede objekter 76

4.5.1 request - anmodningen fra klienten 76

4.5.2 response - svaret til klienten 77

4.5.3 out - skrive tekst til klienten 77

4.5.4 session - objekt der følger den enkelte bruger 78

4.5.5 application - fælles for hele webapplikationen 79

4.5.6 config - den enkelte websides konfiguration 80

4.5.7 page - selve JSP-siden 81

4.5.8 exception - undtagelse opstået under kørsel 81

4.5.9 pageContext - alle objekterne samlet i ét 81

4.6 Opgaver 82

7.1 Servletter 130

7.1.1 Anmodningsmetoder 131

7.1.2 Hvornår bruge JSP og hvornår bruge servletter 131

7.3 Avanceret: JSP-siders interne virkemåde 133

7.3.1 Kigge i de genererede servletter 133

7.3.2 Eksempel 133

7.3.3 JSP-siders livscyklus 135

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