ワークベンチがユーザーの Web サービスのために作成する WAR ファイルでワークベンチが使用する web.xml ファイルをカスタマイズできます。
これらのフィルターをサービスとともにデプロイする場合、ご使用の Web サービスに対する着信要求のためのフィルターをいくつか追加することによって、web.xml を変更できます。
また、追加のサーブレットまたはサーブレット・マッピング・タグを追加することもできます。
このタスクについて
web.xml ファイルがご使用の Web サービスのためのプロジェクトに存在するとしても、web.xml ファイルを直接編集することはしません。
代わりに、ワークベンチが WAR ファイルを再度生成する際にワークベンチが web.xml ファイルに含める変更を入れたテンプレートを作成します。
「作成とデプロイ (Build and Deploy)」ウィザードを使用して WAR ファイルを生成するとき、ワークベンチはプロジェクト内のすべてのファイルを削除して、それらを再作成します。
したがって、web.xml ファイルを直接編集すると、「作成とデプロイ (Build and Deploy)」ウィザードを使用するときに、行った変更を消失することになります。
web.xml ファイルに加える編集を含めたテンプレートを使用すると、ワークベンチはそのテンプレートの内容を、ワークベンチが作成する web.xml ファイルの内容とマージします。
手順
web.xml ファイルをカスタマイズするには、次のようにします。
- 「ナビゲーター」ビューがまだ開いていなければ、それを開きます。
- を選択します。
- 「ビューの表示」ウィンドウで、を選択します。
- プロジェクト用の .metadata フォルダーを右クリックして、を選択します。
「新規」ウィザードで、「一般」を展開し、
「フォルダー (Folder)」を選択します。
「次へ」をクリックします。
「新規フォルダー (New Folder)」ページで、名前として templates と入力します。
「完了」をクリックします。
- テンプレート・フォルダーを右クリックして、「新規」> 「その他」を選択します。
「新規」ウィザードで、「一般」を展開し、
「フォルダー (Folder)」を選択します。
「次へ」をクリックします。
「新規フォルダー」ページで、名前として j2ee と入力します。
「完了」をクリックします。
- j2ee フォルダーを右クリックして、を選択します。
「新規」ウィザードで、「一般」を展開し、
「ファイル (File)」を選択します。
「次へ」をクリックします。
「新規ファイル」ページで、名前として web_template.xml と入力します。
「完了」をクリックします。
- 新規ファイル用のエディターで、「ソース」タブを選択します。
以下のタグをエディターへコピー・アンド・ペーストします。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
</web-app>
- ご使用の Web サービス用の WAR ファイル用に生成する web.xml ファイルにワークベンチが取り込む内容を追加します。 Java Servlet 2.5 仕様のためのスキーマが定義する任意のタグ内に、内容を追加します。
以下は、テンプレート例です。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<filter>
<filter-name>DebugFilter-In</filter-name>
<description>Print XMl request, XML response and current timestamps</description>
<filter-class>com.vzb.varwebservices.filter.DebugFilter</filter-class>
<init-param>
<param-name>input</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<servlet>
<servlet-name>testServlet1</servlet-name>
<servlet-class>com.ibm.datatools.dsws.rt.testclient.testServlet1</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>testServlet1</servlet-name>
<url-pattern>/TestClient/testServlet1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>testServlet2</servlet-name>
<servlet-class>com.ibm.datatools.dsws.rt.testclient.testServlet2</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>testServlet2</servlet-name>
<url-pattern>/TestClient/testServlet2</url-pattern>
</servlet-mapping>
</web-app>
- テンプレートを保存します。 次回プロジェクトを作成するとき、ワークベンチはテンプレート・ファイルの内容を、新規に生成される WAR ファイルに取り込まれる web.xml ファイルに挿入します。