1 / 23

JSP

JSP. Einführung Skripte Direktiven Tomcat 3.2 Version 1.1 Tomcat 4.0 Version 1.2. JBuilder Fr. 220.- beim Jäggi (mit Legi). Bis jetzt Servlets …. Webserver (Tomcat). get start. Servlet Container generiert HTML versendet via http. In Zukunft …. Präsentationsschicht

myra
Download Presentation

JSP

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 • Einführung • Skripte • Direktiven • Tomcat 3.2 Version 1.1 • Tomcat 4.0 Version 1.2 JBuilder Fr. 220.- beim Jäggi (mit Legi)

  2. Bis jetzt Servlets … Webserver (Tomcat) get start Servlet Container generiert HTML versendet via http

  3. In Zukunft … • Präsentationsschicht • Scriptprogrammierung

  4. Möglichkeiten von JSP • HTML + Java in spez. Tag • Mischung von HTML / XML / Java-Code • Einfachheit • Trennung von Darstellung und Logik • Definition eigener Tags JSP Implementierung Logik Präsentation Darstellung

  5. CGI HTTP Server Request CGI Process StartProcess Gen.Data ReceiveCGI out Process starten kostet Zeit !! SendResponse

  6. JSP

  7. HTTP Server JSP Receive Request JSP Container Page Compiler JSP Servlet current? Nein Parse JSP Ja JSP Servlet loaded? Ja Generate JSPServlet Source Nein Load Servlet Compile JSPServlet JSP PAGEServlet GenerateResponse SendResponse

  8. javax.servlet.jsp.HttpJspPage

  9. Syntax • „Standard“-Syntax<% ... %> • XML-Syntax<jsp:einJspTag>...</jsp:einJspTag> • Skripte (scripts) / Programmierung • Direktiven (directives) / Steuerung JSP Container • Aktionen (actions) / Kontrollfluss JSP

  10. Skripte • Deklaration: Definition Variablen, Methode für die aktuelle Seite • <%! • Scriptlets: Blöcke von Code • <% • Expressions: Einzelne Linien von Code automatisch in Seitenausgabe eingefügt. • <%=

  11. Deklarationen • <%! privat int x=0,y=0; • privat String unit=“hallo“;%> • <%! Circle a = new Circle(2.0); %> • <jsp:declaration> • privat int x=0,y=0; • privat String unit=“hallo“; • </jsp:declaration>

  12. Lokale vs. Klassen Variablen • Lokal, neu pro Instanz, für einen User gedacht. • <%! private int z=0; %> • Klassen Variable, für alle Instanzen (alle User) • <%! static public int z=0; %>

  13. Ausdrücke (Expressions) • <%= numguess.getHint()%> • <jsp:expression> numguess.getHint()</jsp:expression> • direkte Ausgabe in den Outputstream • Stringkonvertierung über toString()oder String.valueOf() • äquivalent zu out.print(...); • Spez. Ausdruck: • test_expr ? true_exp : false_exp • <%= (hours < 12) ? “AM“ : “PM“ %>

  14. Beispiel Script • <% • String name = null; • if (request.getParameter("name") == null) { • %> • <%@ include file="error.html" %> • <% • } else { • foo.setName(request.getParameter("name")); • if (foo.getName().equalsIgnoreCase("integra")) • name = "acura"; • if (name.equalsIgnoreCase( "acura" )) { • %>

  15. Direktiven • Enthalten globale Informationen für den Pagecompiler und auch den JSP-Container • Allgemeine Definitionen • import Anweisungen • Tag-Bibliotheken • Anzeige von Fehler-Seiten • Erzeugen keine Ausgabe • keine laufzeitrelevanten Inhalte JSP

  16. Direktive • Syntax1: • <%@ page attribute1=“value1” %> • Syntax2: • <jsp:directive.page attribute1=“value1” />

  17. Direktive Page • <%@ page • [ language="java" ] • [ extends="package .class" ] • [ import="{package .class | package.*}, ..." ] • [ session="true|false" ] • [ buffer="none|8kb|sizekb" ] • [ autoFlush="true|false" ] • [ isThreadSafe="true|false" ] • [ info="text" ] • [ errorPage="relativeURL" ] • [ contentType="mimeType [ ;charset=characterSet ]" | • "text/html ; charset=ISO-8859-1" ] • [ isErrorPage="true|false" ] • %>

  18. include.jsp: <html> <head><title>An Include Test</title></head> <body bgcolor="white"> <font color="blue"> The current date and time are <%@ include file="date.jsp" %> </font> </body> </html> date.jsp: <%@ page import="java.util.*" %> <%= (new java.util.Date() ) .toLocaleString() %> Displays in the page: The current date and time are Aug 30, 1999 2:38:40 Include

  19. Implizite Objekte • stehen in jeder JSP zur Verfügung • page (javax.servlet.jsp.HttpJspPage) • config (javax.servlet.ServletConfig) • request (javax.servlet.http.HttpRequest) • response (javax.servlet.http.HttpResponse) • out (javax.servlet.jsp.JspWriter) • session (javax.servlet.http.HttpSession) • application (javax.servlet.ServletContext) • pageContext (javax.servlet.jsp.PageContext) • exception (java.lang.Throwable) • … JSP

  20. Request Objectjavax.servlet.http.HttpServletRequest

  21. Request Bsp. • <% String Str = request.getParameter(“name“); %> • Ihr Name ist: <%= Str %> • Praktikum • Servlet Geschichte beenden • Helo World jsp • Primzahlen • Nummer Ratespiel • Euro in SFr. umrechnung

  22. quellenangaben • Offizielle Spezifikationen, Klassenbibliotheken & -dokumentation • http://java.sun.com/products/servlet/ • http://java.sun.com/products/jsp/ • Tutorials • The J2EE™ Tutorial • Java Servlet Technology / JavaServer Pages ™ Technology http://java.sun.com/j2ee/tutorial/ • The Java ™ Tutorial • Trail: Servlets: http://java.sun.com/docs/books/tutorial/servlets/ • Campione M. et al.: The Java™ Tutorial Continued: The Rest of the JDK; Addison-Wesley Pub Co; ISBN: 0201485583

  23. Quellenangaben (II) • Tomcat, Jakarta Project • http://jakarta.apache.org • Bücher: • Hunter J. & Crawford W.: Java™ Servlet Programming; O‘Reilly & Associates, ISBN: 156592391X • Turau, V.: Java Server Pages; dpunkt-Verlag,ISBN: 3932588665 JSP

More Related