Stunde11-SOTE.ink Webprogrammierung 1. Servlets Erstes Beispiel 1 Stunde11-SOTE.ink 2 Stunde11-SOTE.ink Wichtige Methoden auf GenericServlet - getServletContext() - init() - getInitParameters() (z.B. wann Servlet gestartet wird, in welcher Reihenfolge) Wichtige Methoden auf HttpServlet - doGet() - doPost() - service() Wichtige Methoden auf HttpServletRequest - getParameter(<String parametername<) - getSession(): HttpSession Wichtige Methoden auf HttpSession - getId(): String (Session-Id) - setAttribute(String key, Object value) - getAttribute(String key): Object 3 Stunde11-SOTE.ink Servlet Life Cycle 4 Stunde11-SOTE.ink Verbindet die XML-Fragmente Klassenname (inkl. Package) "Kürzel" über das Servlet aufgerufen wird 5 Stunde11-SOTE.ink Zusammenfassung: Erstellen einer Webanwendung mit Servlets 0. Windows -> Preferences -> Tomcat -> Tomcat Home einstellen 1. neue Tomcatprojekt anlegen 2. Servlet schreiben (Javaklasse, die von HttpSevlet erbt und Methoden wie doGet(HttpServletRequest, HttpServletResponse) doPost(HttpServletRequest, HttpServletResponse) implementiert. Klassen liegen in <PROJEKT>/WEB-INF/classes Sourcecode liegt in <PROJEKT>/WEB-INF/src 3. in WEB-INF Verzeichnis web.xml anlegen (siehe vorherige Seite) 4. Seite aufrufen http://localhost:8080/RailwayWeb/Railway Tomcat/Webserver Projektname "Kürzel" 6 Stunde11-SOTE.ink JSP-Seiten JSP: HTML-Seiten mit eingebettetem Java-Code Servlet: Java-Code mit eingebettetem HTML Wichtig: JSP werden automatisch in Servlets konvertiert und als solche kompiliert Skriptelemente 1. Scriplets Zweck: Einbetten von Java Code Syntax <% JAVA_CODE %> Alternative Syntax: <jsp:scriplet> JAVA </jsp:scriplet> In Scriplets kann auf implizite Objekte zugegriffen werden > request: HttpServletRequest > response: HttpServletResponse > out: JspWriter > application: ServletContext (init-Parameter hierüber auslesbar) > session: HttpSession (Kontext, z.B. für Warenkorb usw.) > pageContext (Kontext für eine Seite) > page: this 2. Expressions Zweck: Ausgeben von Informationen (entspricht <% out.println(TEXT) %> Syntax: <%= TEXT %> Alternative Syntax: <jsp: expression>TEXT</jsp:expression> 7 Stunde11-SOTE.ink 3. Deklarationen Zweck: Definition von Variablen Syntax: <%! DEKLARATIOM %> z.B. <%! double zahl = 3;%> Alternative Syntax: <jsp:declaration> DEKLARATION </jsp:declaration> 4. Kommentare Zweck: Kommentieren des JSP Codes Syntax: <%-- KOMMENTAR %> Alternative Syntax: gibts nicht 8 Stunde11-SOTE.ink Beispiel 9