Java Reference
In-Depth Information
Wenn wir annehmen, dass die obige Datei die Konfi gurationsdatei für die Web-Anwendung
application1 aus Bild 12.1 ist, dann kann durch die Angabe von a.html im Element <wel-
come-fi le> die in a.html angegebene Web-Seite auch durch eine URL abgerufen werden, die
nur den Namen der Anwendung enthält:
http://www.abc.de:8080/application1
12.2.3 Java-Code einer Web-Komponente
Wie für andere Komponentenmodelle auch haben wir jetzt die Verzeichnisstruktur, in der
die Dateien einer Web-Komponente organisiert sein müssen, sowie das Format der Konfi gu-
rationsdatei kennengelernt. Üblicherweise wird in der Konfi gurationsdatei auch die Ein-
stiegsklasse angegeben, von der das Komponenten-Framework ein Objekt erzeugt. Davon
haben wir in web.xml bisher nichts gesehen. Bei den Servlets ist es nun so, dass es pro
Web-Komponente nicht nur eine Einstiegsklasse geben kann, sondern beliebig viele. Diese
Einstiegsklassen benötigen tatsächlich Konfi gurationsinformationen, die früher in der web.
xml abgelegt werden konnten, die man heute aber auch über Annotationen angeben kann.
Die wichtigste Information ist dabei der Bezeichner, der in einer URL angegeben sein muss,
damit das Komponenten-Framework (also der Servlets unterstützende Web-Server) entspre-
chende Methoden auf einem Objekt dieser Klasse aufru .
Die Servlet-Klassen leitet man am besten von der Klasse HttpServlet ab. Wenn man die
K o n fi guration durch Annotationen vornimmt, versieht man diese Klasse mit einer @Web-
Servlet-Annotation:
package javacomp.servlets.application1;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
@WebServlet("/hello")
public class HelloServlet extends HttpServlet
{
...
}
Wenn wir annehmen, dass dieses Servlet zu der Web-Komponente application1 aus Bild
12.1 gehört, dann kann durch die Angabe von „/hello“ in der @WebServlet-Annotation ein
Objekt dieser Klasse durch diese URL aktiviert werden:
http://www.abc.de:8080/application1/hello
Mit einer Aktivierung ist gemeint, dass das Framework ein Objekt der Servlet-Klasse
erzeugt, falls es noch keines gibt. Von jeder Servlet-Klasse einer Web-Komponente existiert
zu jedem Zeitpunkt höchstens ein Objekt. Aktivierung bedeutet auch, dass auf diesem einen
Objekt der angesprochenen Servlet-Klasse die Methode doGet oder die Methode doPost auf-
gerufen wird, je nachdem, ob der Browser ein GET- oder ein POST-Kommando geschickt hat.
Wenn man einen Link anklickt oder eine URL in die Adresszeile des Browsers eingibt und
abschickt, wird ein GET-Kommando abgesetzt. Wenn man ein Formular ausfüllt und dieses
 
Search WWH ::




Custom Search