1 / 29

JSP presentasjon

JSP presentasjon. Arild Strømhylden NTNU 27 September 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.

onawa
Download Presentation

JSP presentasjon

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JSP presentasjon Arild Strømhylden NTNU 27 September 2014

  2. Innledende beskjeder • HTML hefte ikke i salg på Tapir ennå • De 3 første kapitlene er lagt ut på hjemmesiden til faget

  3. Introduksjon • Java Server Pages • Websider med dynamisk innhold

  4. JSP • Tillater rask utvikling av nettbaserte applikasjoner • Platformuavhengig • Likheter med PHP og ASP

  5. 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

  6. Hva med gjenbruk? • Inkludering av andre sider • Servlets • JavaBeans • Enterprise JavaBeans

  7. En enkel scriptlet <html> <p>Tid: <%= new java.util.Date() %></p> </html> http://www.stud.ntnu.no/~arildstr/jspkurs/script1.jsp

  8. Scripting elementer • Expressions • Scriptlets • Declarations

  9. Expressions <%= expression %> • Alternativ syntax: <jsp:expression>expression</jsp:expression> • expression evalueres og resultatet sendes med responsen

  10. Scriptlets • <% script %> • Alternativ syntax: <jsp:scriptlet>script</jsp: scriptlet> • script er her javacode som kan være på flere linjer • Blir kompilert og utført som en Servlet

  11. Declarations • <%! declarations %> • Alternativ syntax: <jsp:declaration>declarations</jsp:declaration> • declaration settes inn i den kompilerte servleten utenfor konteksten til eksisterende metoder

  12. Parametre <-> Variabler <html> <% String bgfarge = request.getParameter(”bgfarge”); %> <body bgcolor=”<%= bgfarge %>”> <h2>Bakgrunnsfarge: <%= request.getParameter(”bgfarge”) %> </h2></body> </html> http://www.stud.ntnu.no/~arildstr/jspkurs/script2.jsp?bgfarge=yellow

  13. 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

  14. Predefinerte variabler • request • response • session • out Eksempel <p> Maskin: <%= request.getRemoteHost() %> <% out.print(”<br><font color=\”blue”>Blå tekst</font>”) %> </p> http://www.stud.ntnu.no/~arildstr/jspkurs/script3.jsp

  15. Flere predefinerte variabler • application • config • pageContext • page • Ikke så mye brukt i starten

  16. Deklarasjon av metoder • Deklarasjoner: <%! … %> <%! int gangMed(int tall, int tall2) { int resultat = tall * tall2; return resultat; } // Samme som: return tall*tall2; %> <html> <% int verdi = 10; out.print(gangMed(verdi, verdi)); %> </html> http://www.stud.ntnu.no/~arildstr/jspkurs/script4.jsp

  17. Dere kan jo selvfølgelig… • if (condition) {…} else { … } • while (condition) { … } • for (init; condition; execute) { … } • Standard java syntaks

  18. Direktiver • <%@ direktiv attributt=”verdi” %> • Eksempler: <%@ page import=”java.util.*” %> <%@ page contentType=”text/plain” %>

  19. Gøy med jsp  • XML dokument generering • Behandling av informasjon fra skjema (Gjennomgang av eksempel fra hefte) • Inkludere en side i en annen

  20. Generere XML dokument <%@ page contentType="text/xml" %> <?xml version="1.0" encoding="UTF-8" ?> <myetekst> <text>JSP</text> <text>er</text> <text>ufattelig kult!</text> </myetekst> http://www.stud.ntnu.no/~arildstr/jspkurs/xmlscript.jsp

  21. Sending av skjemadata Form.html <html> <form method="post" action="processform.jsp"> <h2> Navn: <input type="text" size="30" name="navn"> </h2> </form> </html> processform.jsp <html> <h2> Du skrev inn: <%= request.getParameter("navn") %> </h2> </html>

  22. Sending av data (litt mer avansert) <HTML> <HEAD><TITLE><%=request.getParameter("navn")%> er registrert</TITLE></HEAD> <BODY><H2>Dette er registrert</H2> Navn: <%=request.getParameter("navn")%><BR><BR> Epost: <%=request.getParameter("epost")%><BR><BR> Kjønn: <% if(request.getParameter("kjonn").equals("k")){ out.println("Kvinne"); }else{ out.println("Mann"); }%> <BR><BR> Vil ha tilsendt epost: <% if(request.getParameter("vilhaepost") != null){ out.println("JA"); }else{ out.println("NEI"); } %> <%--Her kommer databasekoden i neste kapittel--%> </BODY> </HTML>

  23. Translation/request time • Translation time • JSP motoren gjør om filen til en servlet. • Request time • Servleten kjøres for å generere en side.

  24. Inkludere og importere • <jsp:include> • Inkludere en fil før transformering av jsp kode • <jsp:import> • Importere java klasser

  25. Include header.jsp <% out.println("<br><h2><font color=\"blue\">Topp</font></h2>"); %> footer.jsp <% out.println("<br><h2><font color=\"blue\">Bunn</font></h2>"); %> inkluder.jsp <jsp:include page=”header.jsp” /> <p>Her kommer litt tekst i midten</p> <jsp:include page=”footer.jsp” /> http://www.stud.ntnu.no/~arildstr/jspkurs/inkluder.jsp

  26. Begrensninger ved stud • Ikke servlets • Ikke JavaBeans • Problemer med session

  27. Konsekvenser • Må repetere kode som er felles for flere sider gjennom include eller kodereplisering på flere sider

  28. Tekniske tingtang • Resin v2.0.1 og mod_caucho for Apache (http://www.caucho.com/products/resin/) • 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

  29. Problemer • Faglige • undass-sif8001@idi.ntnu.no • Tekniske • teknisk-sif8001@idi.ntnu.no

More Related