home  |  suche  |  kontakt/johner  |  institut  |  hinweise 
studierende  |  tech-docs  |  blog  |  mindmailer 

Der Deployment-Deskriptor, bzw. die web.xml

Die Datei web.xml im Verzeichnis server_root/webapps/ROOT/WEB-INF wird als Deployment-Deskriptor bezeichnet. Sie enthält Konfigurationsinformationen über die Web-Applikation, in der sie sich befindet.

Ungefähr 50 verschiedene Tags sind laut DTD für die web.xml erlaubt.

Sie steuert die 

  • Servletregistrierung
  • URL-Zuordnungen
  • Begrüßungsdateien (index.html etc.)
  • MIME-Typen
  • Sicherheitseinschränkungen auf Seitenebene

Der Aufbau einer web.xml

Alles was unter dem <web-app>-Tag steht, liefert dem Server Informationen über die Web-Applikation. Dieses Beispiel registriert das WelcomeServlet unter dem Namen "welcome". Der registrierte Name befindet sich unter dem <servlet-name>-Tag. Die zugehörige Klasse ist unter <servlet-class> zu finden. Das servlet-Tag umgibt diese beiden Tags.

Nach der Registrierung und einem Neustart des Tomcat-Servers ist das "WelcomeServlet"-Servlet unter der URL: http://localhost:8080/servlet/welcome zu finden (bzw. http://<serverip>:8080/servlet/welcome).

Durch diese Registrierung ist es dem Server möglich, sich an Dinge zu errinern welche das Servlet betreffen, und kann bestimmte URL-Muster verschiedene reagieren. So kann man zum Beispiel angeben, dass alle Requests von der Seite hello.html von einem bestimmten Servlet behandelt werden sollen.

Mit Hilfe des <servlet-mapping>-Tags kann angegeben werden welches Servlet sich um welches URL-Muster kümmert.

In dem unten genannten Beispiel wurde  das "welcome-Servlet" alle Requests von hello.html entgegennehmen und bearbeiten.

Die <welcome-file-list> gibt an welche Seite angezeigt werden soll, wenn keine spezielle Seite angegeben wurde, oder wenn ein Fehler auftritt.

Beispiel:

<web-app>
    <display-name>Servlet</display-name>
    <servlet>
        <servlet-name>welcome</servlet-name>
        <servlet-class>WelcomeServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>welcome</servlet-name>
        <url-pattern>/hello.html</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>hello.html</welcome-file>
    </welcome-file-list>
</web-app>