Configuración del archivo web.xml para servlets de JAX-RS
El archivo web.xml contiene información sobre la estructura y las dependencias externas de los componentes web en el módulo y describe cómo se utilizan los componentes en tiempo de ejecución. Para permitir que el contenedor web pueda ejecutar Java™ API for RESTful Web Services (JAX-RS) aplicaciones, puede configurar el archivo web.xml para que apunte directamente al servlet IBM® JAX-RS. Cuando se utilizan servlets, puede definir una vía de acceso del servlet en el archivo web.xml que se añadirá al URL base.
Acerca de esta tarea
Puede modificar el archivo web.xml para que la aplicación web habilite el código de aplicación de JAX-RS. Puede especificar que se utilice un servlet JAX-RS específico de IBM para ejecutar el código JAX-RS. El archivo web.xml proporciona información sobre configuración y despliegue de los componentes web que componen una aplicación web. Lea la información sobre la configuración del archivo web.xml para obtener una idea más clara sobre este archivo descriptor de despliegue.
Cuando se utilizan servlets, cualquier vía de acceso de servlet que está definida en el archivo web.xml se añadirá al URL base. Por ejemplo, si un recurso root tiene un valor @javax.ws.rs.Path de mirecurso y una vía de acceso de servlet víaaccesomiservlet, el URL final del recurso seráhttp://<nombre_host>:<puerto_contenedor_web>/<raíz_contexto_de_aplicación_web>//myservletpath/myresource.
Procedimiento
Resultados
Ejemplo
En el ejemplo siguiente se ilustra un archivo WEB-INF/web.xml que configura una vía de acceso de servlet para una aplicación de JAX-RS. La vía de acceso del servlet que se define en el archivo web.xml se añade al URL base.
<?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>
Qué hacer a continuación
Ensamble la aplicación web.