Datei "web.xml" für JAX-RS-Servlets konfigurieren

Die Datei web.xml enthält Informationen zur Struktur und zu den externen Abhängigkeiten von Webkomponenten im Modul und beschreibt, wie die Komponenten zur Laufzeit verwendet werden. Damit der Web-Container JAX-RS-Anwendungen (Java™ API for RESTful Web Services) ausführen kann, können Sie die Datei web.xml so konfigurieren, dass sie direkt auf das IBM® JAX-RS-Servlet zeigt. Wenn Sie Servlets verwenden möchten, können Sie einen Servletpfad in der Datei web.xml definieren, der an den Basis-URL angefügt wird.

Informationen zu diesem Vorgang

Sie können die Datei web.xml für Ihre Webanwendung konfigurieren, um den JAX-RS-Anwendungscode zu aktivieren. Sie können ein IBM spezifisches JAX-RS-Servlet für die Ausführung Ihres JAX-RS-Codes an. Die Datei web.xml enthält Konfigurations- und Implementierungsinformationen für die Webkomponenten, die eine Webanwendung enthalten. Weitere Informationen zu dieser Implementierungsdeskriptordatei finden Sie in den Informationen zur Konfiguration der Datei web.xml für JAX-RS.

Wenn Sie Servlets verwenden möchten, wird jeder Servletpfad, der in der Datei web.xml definiert ist, an den Basis-URL angefügt. Wenn beispielsweise eine Stammressource den Wert myresource für "@javax.ws.rs.Path" und den Servletpfad myservletpath hat, lautet der endgültige URL der Ressource http://<Hostname>:<Web-Container-Port>/<Kontextstammverzeichnis_der_Webanwendung>//myservletpath/myresource.

Vorgehensweise

  1. Öffnen Sie die Datei WEB-INF/web.xml.
  2. Fügen Sie der Datei WEB-INF/web.xml die folgende Servletdefinition hinzu. Im folgenden Servlet müssen Sie die Variable eindeutiger_Servletname durch Ihren eindeutigen Servletnamen ersetzen. Außerdem müssen Sie die Variable Java-Klassenname durch das vollständige Java-Paket und den Klassennamen der Unterklasse "javax.ws.rs.core.Application" ersetzen.
    <servlet>
         <servlet-name>eindeutiger_Servletname</servlet-name>
         <servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
         <init-param>
             <param-name>javax.ws.rs.Application</param-name>
             <param-value>Java-Klassenname </param-value>
         </init-param>
         		<load-on-startup>1</load-on-startup>
    </servlet>
  3. Optional: Wenn in einer Webanwendung mehrere Unterklassen der JAX-RS-Anwendung benötigt werden, müssen Sie in der Servletdefinition, die Sie zur Datei WEB-INF/web.xml hinzufügen, einen zusätzlichen Parameter für die Servletinitialisierung, requestProcessorAttribute, aufnehmen. Im folgenden Servlet müssen Sie die Variable eindeutiger_Servletname durch den vollständigen Servletnamen, die Variable Java-Klassenname durch das vollständige Java-Paket und den Klassennamen der Unterklasse "javax.ws.rs.core.Application" und schließlich die Variable eindeutige_Kennung durch eine eindeutige Kennung ersetzen.
    <servlet>
         <servlet-name>eindeutiger_Servletname</servlet-name>
         <servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
         <init-param>
             <param-name>javax.ws.rs.Application</param-name>
             <param-value>Java-Klassenname </param-value>
         </init-param>
         <init-param>
             <param-name>requestProcessorAttribute</param-name>
             <param-value>eindeutige_Kennung_a</param-value>
         </init-param>
         		<load-on-startup>1</load-on-startup>
      </servlet><servlet>
         <servlet-name>eindeutiger_Servletname_b</servlet-name>
         <servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
         <init-param>
             <param-name>javax.ws.rs.Application</param-name>
             <param-value>Java-Klassenname_b</param-value>
         </init-param>
         <init-param>
             <param-name>requestProcessorAttribute</param-name>
             <param-value>eindeutige_Kennung_b </param-value>
         </init-param>
         		<load-on-startup>1</load-on-startup>
    </servlet>
  4. Fügen Sie in der Datei WEB-INF/web.xml für jede Servletdefinition Servletzuordnungen hinzu. Der Servletpfad wird an das Kontextstammverzeichnis der Webanwendung angefügt.
    <servlet-mapping>
         <servlet-name>Servletname</servlet-name>
         <url-pattern>Pfad_des_Servletmusters</url-pattern>
    </servlet-mapping>
    wenn der Pfad_des_Servletmusters beispielsweise /restapi/* lautet, beginnen alle gültigen Anforderungen mit dem folgenden URL:
    http://<Hostname>:<Web-Container-Port>/<Kontextstammverzeichnis_der_Webanwendung>/restapi/

Ergebnisse

Nachdem Sie die Datei WEB-INF/web.xml bearbeitet haben, wird die Webanwendung für die JAX-RS-Anwendung konfiguriert.

Beispiel

Das folgende Beispiel veranschaulicht eine Datei WEB-INF/web.xml, die einen Servletpfad für eine JAX-RS-Anwendung konfiguriert. Der Servletpfad, der in der Datei web.xml definiert ist, wird an den Basis-URL angefügt.

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" 
xmlns=http://java.sun.com/xml/ns/j2ee 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">


<servlet>
     <servlet-name>RestApplication1</servlet-name>
     <servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
     <init-param>
         <param-name>javax.ws.rs.Application</param-name>
         <param-value>com.ibm.rest.sample.app1.MyApplication</param-value>
     </init-param>
     <init-param>
         <param-name>requestProcessorAttribute</param-name>
         <param-value>restApplication1ProcessorID</param-value>
     </init-param>
     		<load-on-startup>1</load-on-startup>
  </servlet>
<servlet>
     <servlet-name>OtherRestApplicationServlet</servlet-name>
     <servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
     <init-param>
         <param-name>javax.ws.rs.Application</param-name>
         <param-value>com.ibm.rest.other.sample.OtherApplication </param-value>
     </init-param>
     <init-param> 
        <param-name>requestProcessorAttribute</param-name>
         <param-value>otherRestApplicationID </param-value>
     </init-param> 
    		<load-on-startup>1</load-on-startup>
  </servlet>
<servlet-mapping>
     <servlet-name> RestApplication1</servlet-name>
     <url-pattern>/rest/api/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
     <servlet-name>OtherRestApplicationServlet /servlet-name>
     <url-pattern>/other/*</url-pattern>
</servlet-mapping>
</web-app>

Nächste Schritte

Assemblieren Sie die Webanwendung.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxrs_configwebxml
Dateiname:twbs_jaxrs_configwebxml.html