JSP presentasjon Arild Strømhylden NTNU 26 June 2014
Innledende beskjeder HTML hefte ikke i salg på Tapir ennå De 3 første kapitlene er lagt ut på hjemmesiden til faget
Introduksjon Java Server Pages Websider med dynamisk innhold
JSP Tillater rask utvikling av nettbaserte applikasjoner Platformuavhengig Likheter med PHP og ASP
Hva er JSP JSP = HTML + Java Tillater javakode blandet med HTML tags Kan designe sider som produserer forskjellig informasjon som resultat av utførelse av javakoden
Hva med gjenbruk? Inkludering av andre sider Servlets JavaBeans Enterprise JavaBeans
En enkel scriptlet Tid:
Scripting elementer Expressions Scriptlets Declarations
Expressions Alternativ syntax: expression expression evalueres og resultatet sendes med responsen
Scriptlets Alternativ syntax: script script er her javacode som kan være på flere linjer Blir kompilert og utført som en Servlet
Declarations Alternativ syntax: declarations declaration settes inn i den kompilerte servleten utenfor konteksten til eksisterende metoder
Parametre Variabler <% String bgfarge = request.getParameter(”bgfarge”); %> ”> Bakgrunnsfarge:
Hva så? Variabler kan deklareres i en scriptlet og refereres senere Expressions henter ut og viser en variabel request.getParameter benyttes for å behandle parametre sendt inn til jsp siden
Predefinerte variabler request response session out Eksempel Maskin: Blå tekst ”) %>
Flere predefinerte variabler application config pageContext page Ikke så mye brukt i starten
Deklarasjon av metoder Deklarasjoner: <%! int gangMed(int tall, int tall2) { int resultat = tall * tall2; return resultat; }// Samme som: return tall*tall2; %> <% int verdi = 10; out.print(gangMed(verdi, verdi)); %>
Dere kan jo selvfølgelig… if (condition) {…} else { … } while (condition) { … } for (init; condition; execute) { … } Standard java syntaks
Direktiver Eksempler:
Gøy med jsp XML dokument generering Behandling av informasjon fra skjema (Gjennomgang av eksempel fra hefte) Inkludere en side i en annen
Generere XML dokument JSP er ufattelig kult!
Sending av skjemadata Form.html Navn: processform.jsp Du skrev inn:
Sending av data (litt mer avansert) er registrert Dette er registrert Navn: Epost: Kjønn: <% if(request.getParameter("kjonn").equals("k")){ out.println("Kvinne"); } else { out.println("Mann"); }%> Vil ha tilsendt epost: <% if(request.getParameter("vilhaepost") != null){ out.println("JA"); } else { out.println("NEI"); } %>
Translation/request time Translation time JSP motoren gjør om filen til en servlet. Request time Servleten kjøres for å generere en side.
Inkludere og importere Inkludere en fil før transformering av jsp kode Importere java klasser
Include header.jsp Topp "); %> footer.jsp Bunn "); %> inkluder.jsp Her kommer litt tekst i midten
Begrensninger ved stud Ikke servlets Ikke JavaBeans Problemer med session
Konsekvenser Må repetere kode som er felles for flere sider gjennom include eller kodereplisering på flere sider
Tekniske tingtang Resin v2.0.1 og mod_caucho for Apache ( ) Bytekode lagres lokal på webserveren 4 webservere Samme fil kan kompileres 4 ganger Vanskelig å slette (bytekoden må slettes fra alle webserverene) Alle bytekode filer slettes etter 10 dager
Problemer Faglige Tekniske