Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Servlet III Java Webanwendung Webcontainer Web.xml Weiterleitung von Requests Cookies.

Ähnliche Präsentationen


Präsentation zum Thema: "Servlet III Java Webanwendung Webcontainer Web.xml Weiterleitung von Requests Cookies."—  Präsentation transkript:

1 Servlet III Java Webanwendung Webcontainer Web.xml Weiterleitung von Requests Cookies

2 Struktur einer Webanwendung Wurzel Webanwendung Klassen Files jar Files

3 Eigene Anwendung eigene Fehlermeldung Passwort File

4 Eigene Anwendung im JBuilder Webanwendung WAR File Beschreibung der Anwendung Servlet Klassen Statische Seiten Fehlerseite Passwörter

5

6 Web Application Archive File Das WAR-File verpackt ein komplette Webanwendung. Das WEB-INF Verzeichnis ist speziell, es enthält Konfigurationen und class files für die Webanwendung. Format = jar-File WAR-File

7 Installation von Webanwendungen Eine Webanwendung wird auf einem Server installiert, indem das WAR-File in den webapp Ordner kopiert wird. Tomcat WAR-File

8 Container Servlet Container Webserver Request Response Context Session eigene Servlets

9 Konfigurationdatei für den Servlet Container ServletContext Init Parameters Servlet Declaration Servlet Mappings Welcome File list Error Pages MIME Type Mappings Session Configuration Application Lifecyle Listener classes Filter Definitions and Filter Mappings

10 web.xml login servletiii.protectedpage passwordFile pw.properties

11 web.xml login *.log wetter1 /wetter/* wetter2 /wetter2

12 web.xml index.html index.htm 404 /404.html

13 Seiten weiterleiten out.println( Uni Basel ); res.setHeader(Refresh,3); res.setHeader(Refresh,3; URL=http://www.unibas.ch); res.setStatus(res.SC_MOVED_TEMPORARILY); res.setHeader(Location,http://www.new.site); res.sendRedirect(http://www.new.site); RFC 2616 Hypertext Transfer Protocol (HTTP/1.1)

14 res.sendRedirect Servlet: formular1 … res.sendRedirect(ant2.html); … Response Status 302 Location ant2.html Get Request CLIENTSERVER Get Request ant2.html … Response

15 public class randomforward2 extends HttpServlet { private static final String CONTENT_TYPE = "text/html"; private Vector wetter = new Vector(); Random random = new Random(); /**Initialize global variables*/ public void init() throws ServletException { wetter.add("/html/gut.html"); wetter.add("/html/schlecht.html"); wetter.add("/html/nebel.html"); wetter.add("/html/kalt.html"); } /**Process the HTTP Get request*/ public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType(CONTENT_TYPE); PrintWriter out = res.getWriter(); int index = Math.abs(random.nextInt())% wetter.size(); String go = (String)wetter.elementAt(index);

16 // Methode 1 //res.sendRedirect(req.getContextPath()+go); //res.flushBuffer(); // Methode 2 //res.setStatus(res.SC_MOVED_TEMPORARILY); //res.setHeader("Location",req.getContextPath()+go); //res.flushBuffer(); // Methode 3 String dummy = "3; URL="+req.getContextPath()+go; res.setHeader("Refresh",dummy); res.flushBuffer(); out.println(" randomforward "); out.println(" Hierhin kommen Sie nicht "); …

17 RequestDispatcher rd; rd = getServletContext(). \\ getRequestDispatcher(/display.html); rd.forward(req,res); RequestDispatcher disp = req.getRequestDispatcher("/display.html"); disp.forward(req, res);

18 res.sendRedirect Servlet: formular1 … res.sendRedirect(ant2.html); … Get Request CLIENTSERVER ant2.html … Response

19 Was ist ein Cookie? Ein Cokie sind kleine Textinformation vom Server zum Client gesendet Jedes Mal, wenn der Browser die Seite wieder besucht wird das Cookie geschickt. Cookies ermöglichen anhaltende (persistent) Sitzungen via http RFC 2109 Cookies

20 Vorteile? Identifizierung eine Users Personifizierte Homepages, Portale, User Profiles Automatisches Login Cookies

21

22 Servlet Cookie API Erzeugen mit: c = new Cookie(name, value) Verschieden Attribute: public String getComment() public void setComment(String comment) public String getDomain() public void setDomain(String domainPattern) c.setDomain(.unibas.ch) Cookies

23 Servlet Cookie API public String getMaxAge() public void setMaxAge(int lifetime in Sekunden) lifetime < 0 das Cookie nicht speichern lifetime = 0 das Cookie von der Disk löschen public String getPath() public void setPath(String path) path =/ Alle Seiten des Servers erhalten das Cookie path = /ifi/user Bei allen Seiten unterhalb dieses Pfades schickt der User-Agent das Cookie Cookies

24 Beispiel SetCookies package cookies; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class SetCookies extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { for(int i=0; i<3; i++) { // Default maxAge is -1, indicating cookie // applies only to current browsing session. Cookie cookie = new Cookie("Session-Cookie-" + i, "Cookie-Value-S" + i); response.addCookie(cookie); Cookies

25 Beispiel SetCookies cookie = new Cookie("Persistent-Cookie-" + i, "Cookie-Value-P" + i); // Cookie is valid for an hour, regardless of whether // user quits browser, reboots computer, or whatever. cookie.setMaxAge(3600); response.addCookie(cookie); } response.setContentType("text/html"); PrintWriter out = response.getWriter(); String title = "Setting Cookies"; Cookies

26 Beispiel SetCookies out.println (ServletUtilities.headWithTitle(title) + " \n" + " " + title + " \n" + "There are six cookies associated with this page.\n" + "To see them, visit the\n" + " \n" + " ShowCookies servlet.\n" +" \n" + "Three of the cookies are associated only with the\n" + "current session, while three are persistent.\n" + "Quit the browser, restart, and return to the\n" + " ShowCookies servlet to verify that\n" + "the three long-lived ones persist across sessions.\n" + " "); } Cookies

27 Praktikum Kundenangaben mit PW Abfrage: 1.http Passwortabfrage 2.Formular mit Passwortabfrage 3.Eingabe von weiteren Daten 4.Alle Daten anzeigen 5.Eingabe von weiteren Daten 6.Cookie für AutoLogin 7.Möglichkeit das Cookie zu löschen

28 3.) Eingabe von Daten Ihr Job 1.) 4.) Anzeige der Daten 2.)

29


Herunterladen ppt "Servlet III Java Webanwendung Webcontainer Web.xml Weiterleitung von Requests Cookies."

Ähnliche Präsentationen


Google-Anzeigen