Inhaltsverzeichnis Apache Tomcat
Transcription
Inhaltsverzeichnis Apache Tomcat
Inhaltsverzeichnis Apache Tomcat.....................................................................................................................................1 Tomcat Installation.......................................................................................................................... 2 Tomcat Administration.................................................................................................................... 2 Web-Applikationen..........................................................................................................................2 Eclipse-Plugins................................................................................................................................ 3 HelloWorld Web-Applikation......................................................................................................... 3 Fragen zum Nachschlagen/Googlen.....................................................................................................4 Praktische Aufgaben.............................................................................................................................4 Apache Tomcat Der „Apache Tomcat“ wird als Servlet/JSP Container bezeichnet. Er ermöglicht es uns, existierende und selbst implementierte Java-Servlets und Java Server Pages (JSP) auszuführen. Als Servlets werden Java-Klassen bezeichnet, die in einem Servlet-Container ausgeführt werden können, ähnlich den „normalen“ Java-Klassen, welche auf einem Client-Rechner ausgeführt werden. Servlets haben allgemein die Aufgabe (bzw. werden dafür verwendet), HTTP-Anfragen eines Webclients (Webbrowser) entgegenzunehmen und auszuwerten. Im „HelloWorld“-Beispiel der Übung zur Veranstaltung besteht die Aufgabe des Servlets HelloWorld darin, den Request des Webclient entgegenzunehmen, sowie den übermittelten Formular-Inhalt auszulesen (auszuwerten). JSPs dienen allgemein dazu, HTML-Dokumente zu generieren. Theoretisch und praktisch können HTML-Dokumente auch durch Servlets generiert werden. Der Vorteil von JSPs besteht einerseits in der Möglichkeit, HTML-Dokumente wie bisher zu schreiben und diese Dokumente mit weiteren Tags zu versehen, um den Inhalt der HTML-Dokumente dynamisch zu gestalten, wie im unten stehenden Codebeispiel gezeigt. Dabei ist der HTML-Code blau und der JSP-Code rot dargestellt. <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Hello World JSP</title> </head> <body> <% final String message = (String)getServletContext().getAttribute("message"); %> <%= message != null ? message : "" %> <form name="MESSAGE_FORM" action="./HelloWorld" method="POST"> <input type="text" name="MITTEILUNG" /> <input type="submit" name="SUBMIT" value="SENDEN" /> </form> </body> </html> Abbildung 1: Codebeispiel einer JSP-Datei Ein zweiter Vorteil der Verwendung von JSPs besteht darin, eine Trennung von Programm-Logik – diese wird durch Servlets realisiert – und Präsentation (das Aussehen einer Webseite) mittels JSP zu erreichen. Würde man die Präsentation innerhalb eines Servlets programmieren, müsste man für eventuelle Änderungen der Präsentation die Servlet-Klasse ändern, was in jedem Fall erneutes kompilieren der betroffenen Klassen und eventuell erneutes deployen der Servlets zur Folge hätte. Als dritter Vorteil der Trennung von Programm-Logik und Präsentation kann angesehen werden, dass man die Präsentation (relativ) einfach auf verschiedene Ausgabe-Medien aufteilen kann. Man kann sich vorstellen, dass eine Web-Applikation verschiedene Ausgaben für Standard-Webbrowser, sowie auch Webbrowser auf Hendheld-Computern oder Mobiltelefonen erzeugt, ohne dabei spezielle Anforderungen an die Programm-Logik zu stellen. Tomcat Installation Die Installation des Apache Tomcat unter Windows gestaltet sich relativ problemlos, da ein Installations-Programm vorhanden ist. Bedenken sollte man, dass Leerzeichen in Pfaden in der Java-Welt allgemein als problematisch anzusehen sind. Deshalb sollte der Installationspfad des Tomcat keine Leerzeichen enthalten. Es empfiehlt sich, Leerzeichen durch „Unterstriche“ zu ersetzen. Tomcat Administration Nach der Installation findet man im Tomcat-Verzeichnis verschiedene Unterordner. Das Verzeichnis „conf“ im Installationsverzeichnis des Tomcat enthält unterschiedliche Dateien zur Konfiguration des Containers, für Einstellungen zu Benutzer-Rechten und zum Ändern von Logging-Einstellungen. Möchte man eine Web-Applikation in einem anderen Verzeichnis außerhalb der Tomcat-Installation entwickeln – z.B unterhalb des Verzeichnisses public_html im Linux/Unix-Home-Verzeichnis (oder auch unterhalb der Windows-“Eigene Dateien“) – so kann man dies dem Container durch den unten abgebildeten Inhalt einer <contextname>.xml-Datei im Verzeichnis /conf/Catalina/localhost mitteilen. <?xml version='1.0' encoding='utf-8'?> <Context docBase="C:\Dokumente und Einstellungen\sszalowski\...\myServlets" path="/sszalowski"> </Context> Abbildung 2: Inhalt der sszalowski.xml im Verzeichnis /conf/Catalina/localhost Web-Applikationen Zu entwickelnde/installierende Web-Applikationen liegen unterhalb des Verzeichnisses „webapps“. Dabei enthält normalerweise jedes Verzeichnis unterhalb von webapps je eine Web-Applikation. Allen von uns entwickelten Web-Applikationen ist gemein, dass Sie eine bestimmte Verzeichnisstruktur, sowie das Vorhandensein weniger Dateien aufweisen (müssen). Untere Abbildung zeigt die minimale Verzeichnisstruktur einer Web-Anwendung. Abbildung 3: Die Verzeichnisstruktur im Tomcat; beachte den Ordner WEB-INF und die darin enthaltene web.xml Eclipse-Plugins Um mit Webanwendungen mit eclipse entwickeln, deployen und testen zu können, kann man sich auf der eclipse-Webseite (www.eclipse.org) Plugins herunterladen und installieren. Zur Arbeit sollten die J2EE Standard Tools (JST) und Web Standard Tools (WST) genügen. Diese zip-Dateien sind – wenn nicht anders vorgegeben in das eclipse-Verzeichnis zu extrahieren und eclipse dann neu zu starten. Als Installations-Alternative kann auch das Callisto-Projekt gweählt werden. Dieses kann unter www.eclipse.org/callisto heruntergeladen werden, verlangt allerdings nach der neusten eclipseInstallation (Version 3.2). HelloWorld Web-Applikation Die HelloWorld Web-Applikation soll verdeutlichen, wie Servlets und JSP innerhalb der TomcatServer-Anwendung zum Einsatz kommen können. Die Web-Applikation besteht aus einer JSP mit dem Namen index.jsp im Verzeichnis /HelloWorld, einer Datei web.xml im Verzeichnis /HelloWorld/WEB-INF und der Servlet-Klasse HelloWorld im Verzeichnis /HelloWorld/WEBINF/classes. Eine Anfrage (request) eines Web-Clients wird durch die doGet() bzw. doPost()-Methode des Servlets bearbeitet. Ist der request mittels HTTP-POST aufgetrteten, wird innerhalb der doPost()Methode der Request-Parameter „MITTEILUNG“ ausgelesen und in der Variable message abgelegt. Anschließend wird message im ServletContext abgelegt. Innerhalb der index.jsp kann auf message im ServletContext „zugegriffen“ werden und die zuvor eingelesene Nachricht wird mit der Antwort (response) an den Client zurück gesendet. Fragen zum Nachschlagen/Googlen 1. Welche Klasse sollte eine Servlet-Klasse erweiteren (davon erben)? 2. Welche Methode muss von einem Servlet sinnvoll implementiert werden, wenn es die übermittelten Daten des folgenden Request auswerten möchte (doGet() oder doPost())? Begründen Sie! Request-URL: http://localhost:8080/myWebApp?name=Stefan&surname=Szalowski 3. Was ist der ServletContext? 4. Wann ist es sinnvoll, Daten im ServletContext abzulegen? 5. Gibt es noch andere Kontexte? Praktische Aufgaben 1. Installieren Sie Apache Tomcat auf Ihrem Rechner! 2. Überprüfen Sie die korrekte Installation, indem Sie testen, ob Ihr Apache Tomcat mit einem Webbrowser erreichbar ist! 3. Testen Sie die Web-Applikation „jsp-examples“! (Bei einer Standard-Installation sollten Sie die Beispiele unter http://localhost:8080/jsp-examples aufrufen können.) 4. Überprüfen Sie, ob Sie auch die Tomcat-Dokumentation (Verzeichnis „webapps/tomcatdocs“) aufrufen können! 5. Wenn Ihre Installation erfolgreich war, können Sie sich unter http://tomcat.apache.org die „Administration Web Application“ herunterladen und installieren. Nach der Installation können Sie unter http://localhost:8080/admin versuchen, einen neuen Nutzer anzulegen. Wenn Ihnen dies gelungen ist, sehen Sie sich die Datei tomcat-users.xml im Verzeichnis „/conf“ Ihrer Tomcat-Installation an! 6. Welche Funktionalitäten bietet Ihnen das „Admin-Tool“ außerdem?