Java Reference
In-Depth Information
out.println("</body>");
out.println("</html>");
}
}
Der Request-Parameter wird bei diesem einfachen Servlet nicht genutzt. Über den Res-
ponse-Parameter wird der Typ der Antwort („text/html“) gesetzt sowie ein PrintWriter-
Objekt bescha , über das der HTML-Antworttext geschrieben werden kann. Wie zu sehen
ist, wird dieser mit Hilfe des Zufalls variiert. Eine mögliche von diesem Servlet erzeugte
Seite ist in Bild 12.2 zu sehen. Man kann erkennen, dass in diesem Fall der Firefox-Browser
auf demselben Rechner läu wie der Tomcat-Server, denn als Rechnername für den Tomcat-
Server wurde localhost angegeben.
Bild 12.2 Beispiel einer vom Servlet aus Listing 12.1 erzeugten Web-Seite
Falls, wie oben beschrieben wurde, ein Servlet in der URL eines HTTP-Kommandos ange-
sprochen wird und es dafür noch kein Objekt gibt, dann wird es erzeugt. Dies ist das Stan-
dardverhalten: Ein Objekt einer Servlet-Klasse wird erst dann erzeugt, wenn es zum ersten
Mal benötigt wird. Dieses Standardverhalten kann durch eine Konfi gurationseinstellung
geändert werden:
@WebServlet(value="/hello", loadOnStartup=1)
Wenn man in der Annotation @WebServlet für loadOnStartup einen nicht-negativen Wert
(d. h. 0 oder größer) angibt, dann wird ein Objekt der Klasse schon erzeugt, wenn die Web-
Anwendung installiert bzw. der Web-Server gestartet wird. Wenn eine Web-Komponente
mehrere Servlets enthält, dann kann man die Reihenfolge, in der die Objekte dieser Servlets
erzeugt werden, durch unterschiedliche Attributwerte von loadOnStartup beeinfl ussen
(Servlets mit kleiner Werten werden vor Servlets mit größeren Werten gestartet, bei glei-
chen Werten ist die Reihenfolge undefi niert). Falls bei loadOnStartup ein negativer Wert
angegeben wird, was die Standardeinstellung ist, wird das Servlet-Objekt erst erzeugt,
wenn es zum ersten Mal angesprochen wird.
Wie im obigen Code-Fragment zu sehen ist, kann in der Annotation @WebServlet der Attri-
butname für value jetzt, wo es ein weiteres Attribut gibt, nicht mehr weggelassen werden.
Der Typ des Attributs value ist String[]. D. h., es können damit auch mehrere Bezeichner
angegeben werden, unter denen das Servlet erreichbar sein soll:
@WebServlet(value={"/hello", "/hallo"}, loadOnStartup=1)
Statt value kann übrigens auch urlPatterns verwendet werden:
@WebServlet(urlPatterns={"/hello", "/hallo"}, loadOnStartup=1)
 
Search WWH ::




Custom Search