Präsentation herunterladen
1
Dynamische WEB-Applikationen
Java Servlets und JSP
2
Statischer Inhalt WEB-Server GET request HTML response
Rudolf Radlbauer
3
Dynamischer Inhalt von Servlet generiert
WEB-Server web.xml URL request Servlet-mapping BL / PL response Servlet Rudolf Radlbauer
4
Model View Controller (MVC)
WEB-Server web.xml URL request Servlet-mapping BL / PL Servlet response Tag-Handler JSP Rudolf Radlbauer
5
Filter WEB-Server web.xml URL Filter Mapping request response
Filterkette Rudolf Radlbauer
6
Listeners ServletContextListener ServletContextAttributeListener
HttpSessionListener HttpSessionAttributeListener HttpSessionBindingListener HttpSessionActivationListener ServletRequestListener ServletRequestAttributeListener Rudolf Radlbauer
7
Aufbau einer URL http://www.sample-server.com:8080/app1/page1
http Protokoll Server Port app1 Context (Applikation) page1 Seite/Ziel Rudolf Radlbauer
8
Request Routing www.sample-server.com 8080 WEB-Server app1
WEB-Applikation page1 Context- Eintrag Servlet Servlet- mapping Filter server.xml Filter- mapping web.xml Rudolf Radlbauer
9
Servlet Mapping <servlet>
<servlet-name>Test Servlet</servlet-name> <servlet-class>web.Servlet1</servlet-class> </servlet> <servlet-mapping> <url-pattern>*.test</url-pattern> <url-pattern>/servlet1</url-pattern> </servlet-mapping> Rudolf Radlbauer
10
Filter Mapping <filter>
<filter-name>Test Filter</filter-name> <filter-class>web.Filter1</filter-class> </filter> <filter-mapping> <url-pattern>/*</url-pattern> </filter-mapping> Rudolf Radlbauer
11
Registrierung eines Listeners
<listener-class> web.Listener1 </listener-class> </listener> Rudolf Radlbauer
12
Lebenszyklus der Komponenten
Servlet-Engine (ist ein Java-Programm) main(…) server.xml liest confi-Dateien web.xml instanziiert Komponenten Filter Listener init(…) ruft Initialisierungs- Methoden contextInitialized(…) … Rudolf Radlbauer
13
Lebenszyklus der Komponenten
… Servlet-Engine (ist ein Java-Programm) mehrere Threads warten auf Requests instanziieren bei Bedarf Servlets rufen Initialisierungs-Methoden Servlet init(…) rufen HTTP-Methoden doPost(…) / doGet(…) Rudolf Radlbauer
14
Lebenszyklus der Komponenten
Servlet-Engine (ist ein Java-Programm) shutdown- stoppt Threads Request destroy() Filter ruft Aufräume- Methoden destroy() Servlet contextDestroyed(…) Listener Rudolf Radlbauer
15
Datenaustausch Voraussetzungen Komponenten werden nur 1x instanziiert
Requests werden parallel verarbeitet Komponenten kennen einander nicht Realisierung Datenaustausch über Aufrufparameter Attribute an verschiedenen Kontext-Objekten mit klar definiertem Geltungsbereich Rudolf Radlbauer
16
Kontext-Objekte Servlet-Kontext Session-Kontext Request-Kontext
1x für die WEB-Applikation Session-Kontext 1x pro Client-Session Request-Kontext 1x pro HTTP-Request Page-Kontext 1x pro Java Server Page (JSP) an jedes Kontext-Objekt können andere beliebige Objekte als Attribute angehängt werden. Alle Komponenten haben Zugriff auf die in ihrem Bereich gültigen Kontext-Objekte. Rudolf Radlbauer
17
Kontext-Objekte (Beispiel)
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { .... User u = (User)request.getSession().getAttribute("user"); request.setAttribute("name", u.getName()); } Rudolf Radlbauer
18
Kontrollsteuerung (Weiterleiten des Requests)
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try .... request.getRequestDispatcher("antwort.jsp") .forward(request, response); } catch(Exception e) request.getRequestDispatcher("fehler.html") } Rudolf Radlbauer
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.