JAX-RS サーブレット用 web.xml ファイルの構成

web.xml ファイルには、モジュール内の Web コンポーネントの構造、および外部との依存関係に関する情報が含まれ、 実行時のコンポーネントの使用方法が記述されています。 Web コンテナーが Java™ API for RESTful Web Services (JAX-RS) アプリケーションを実行できるようにするため、IBM® JAX-RS サーブレットを直接ポイントするように web.xml ファイルを構成することができます。サーブレットを使用する場合は、ベース URL に付加されるサーブレット・パスを web.xml ファイル内に 定義できます。

このタスクについて

Web アプリケーションが JAX-RS アプリケーション・コードを使用できるように web.xml ファイルを構成することができます。JAX-RS コードを 実行するために使用する IBM 固有 の JAX-RS サーブレットを指定できます。web.xml ファイルは、Web アプリケーションを構成する Web コンポーネントの 構成およびデプロイメント情報を提供します。 このデプロイメント記述子ファイルについて詳しく学習するには、JAX-RS 用の web.xml ファイルの構成 に関する説明を参照してください。

サーブレットを使用するときには、 web.xml 内に定義されたサーブレット・パスがベース URL に付加されます。 例えば、ルート・リソースの @javax.ws.rs.Path 値が myresource で、 サーブレット・パスが myservletpath の場合、リソースの 最終的な URL は http://<your_hostname>:<your Web_container_port>/<context_root_of_Web_application>//myservletpath/myresource です。

手順

  1. WEB-INF/web.xml ファイルを開きます。
  2. 以下のサーブレット定義を WEB-INF/web.xml ファイル に追加します。 以下のサーブレットでは、unique_servlet_name を固有のサーブレット名に置き換え る必要があります。また、Java_class_name 変数 を javax.ws.rs.core.Application サブクラスの完全な Java パッケージおよびクラス名 に置き換えてください。
    <servlet>
         <servlet-name>unique_servlet_name</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_class_name </param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
      </servlet>
  3. (オプション) 同じ Web アプリケーション内で複数の JAX-RS アプリケーション・サブクラスが必要とされている場合は、サーブレット初期化パラメーター requestProcessorAttribute を、WEB-INF/web.xml ファイルに追加するサーブレット定義に追加で組み込む必要があります。 以下のサーブレットでは、unique_servlet_name を 固有のサーブレット名に置き換え、Java_class_name 変数を javax.ws.rs.core.Application サブクラスの 完全な Java パッケージおよびクラス名に 置き換え、unique_identifier 変数を固有の ID に置き換える 必要があります。
    <servlet>
         <servlet-name>unique_servlet_name_a</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_class_name_a </param-value>
         </init-param>
         <init-param>
             <param-name>requestProcessorAttribute</param-name>
             <param-value>unique_identifier_a</param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
         <servlet-name>unique_servlet_name_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_class_name_b</param-value>
         </init-param>
         <init-param>
             <param-name>requestProcessorAttribute</param-name>
             <param-value>unique_identifier_b </param-value>
         </init-param>
         <load-on-startup>1</load-on-startup>
      </servlet>
  4. 各サーブレット定義について、WEB-INF/web.xml ファイル内にサーブレット・マッピングを 追加します。 Web アプリケーションのコンテキスト・ルートにサーブレット・パスが付加されます。
    <servlet-mapping>
         <servlet-name>servlet_name</servlet-name>
         <url-pattern>servlet_pattern_path</url-pattern>
    </servlet-mapping>
    例えば、servlet_pattern_path/restapi/* の場合、 すべての有効な要求は次の URL で始まります。
    http://<your_hostname>:<your Web_container_port>/<context_root_of_Web_application>/restapi/

タスクの結果

WEB-INF/web.xml ファイルの編集後、Web アプリケーションは JAX-RS アプリケーション用に構成されます。

以下の例では、JAX-RS アプリケーション用のサーブレット・パスを構成する WEB-INF/web.xml ファイル を示します。web.xml ファイル内に定義されたサーブレット・パスがベース URL に付加されます。

<?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>

次のタスク

Web アプリケーションをアセンブルします。


トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxrs_configwebxml
ファイル名:twbs_jaxrs_configwebxml.html