Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Dynamische WEB-Applikationen

Ähnliche Präsentationen


Präsentation zum Thema: "Dynamische WEB-Applikationen"—  Präsentation transkript:

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


Herunterladen ppt "Dynamische WEB-Applikationen"

Ähnliche Präsentationen


Google-Anzeigen