Die addServlet-Methode benötigt einen Namen für das Servlet, den Pfad, über den das Servlet aufgerufen werden soll, und den Klassennamen des Servlets. Der Pfad bezieht sich natürlich auf den Pfad, der mit getContext verwendet wurde. Beim gegebenen Kontext würde der Code das Servlet über http://localhost:8000/report aufrufen. Beim Kontext „/fred/“ anstelle von „/“ würde das Servlet unter http://localhost:8000/fred/report erscheinen.
Zwei weitere Dinge bleiben noch zu tun: Wie oben schon erwähnt, muss die Bean „Tasks“ für das Servlet verfügbar gemacht werden. Dazu nimmt man den ServletContext vom gerade erstellten Handler und setzt in diesem Kontext ein Attribut „tasks“.
Zum Abschluss wird der Server gestartet.
Für dieses Beispiel benötigt man die Jetty-Bibliotheken org.mortbay.jetty.jar, javax.servlet.jar und commons-logging.jar, die alle auf der Jetty-Website zu finden sind. Bei Ausführung dieser Version läuft ein Web-Server auf Port 8000 und auf den Report kann über http://localhost:8000/report zugegriffen werden.
Bei Zugriff auf eine andere Seite auf dem lokalen Server wird jedoch ein Fehler generiert, Bilder oder sonstige andere Ressourcen könnten nur über einen anderen Handler hinzugefügt werden, und das gesamte Servlet-Mapping wäre hart codiert. Die Methode ist etwas unflexibel und kann leicht außer Kontrolle geraten, wenn man etwas anspruchsvollere Bedürfnisse hat. Sie ist also nur scheinbar einfacher. Es gibt jedoch einen besseren Weg: Web-App Packaging. Die Idee hinter einer Web-App besteht darin, alle Dateien, die für den Server verfügbar sein sollen, in ein Verzeichnis zu packen. Für unsere Zwecke soll eine Web-App in das Verzeichnis „webapp“ gestellt werden. Dieses Verzeichnis enthält den Ordner WEB-INF für Konfigurationsdateien; darunter die Datei web.xml zur Konfiguration des Web-Servers. Unten folgt eine Datei web.xml, die das erstellte Servlet auf dieselbe Weise einrichtet, wie die hart codierte Konfiguration:
Neueste Kommentare
Noch keine Kommentare zu Java-Applikationen für Web-fähige Anwendungen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.