 |
 |
●Tomcat−14.web.xml |
|
ここでは、サーブレット2.4仕様で規定されているweb.xmlについて解説します。
実行環境
・WindowsXP Home Edition
・Tomcat 5.0.18
・J2SDK 1.4.2_04 |
web.xmlの概要 |
サーブレット2.4仕様によるとWebアプリケーションにはその動作を規定する配備記述子(Deployment
Descriptor)を指定する必要があり、配備記述子はweb.xmlに記載する必要があるとされています。web.xmlにはサーブレット定義、セッション定義、認証設定、ウェルカム・エラーページ設定などWebアプリケーションの動作を規定する設定を行います。
Tomcatではweb.xmlは$CATALINA_HOME\confディレクトリ配下、または各コンテキストディレクトリ\WEB-INFディレクトリ配下に設置します。$CATALINA_HOME\confディレクトリ配下のweb.xmlはデフォルトで用意されており、すべてのコンテキスト(Webアプリケーション)に適用されます。各コンテキストディレクトリ\WEB-INFディレクトリ配下のweb.xmlは各コンテキストごとの動作に適用されます。 |
web.xmlの設定例 |
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<!-- (1)DTD宣言の設定 -->
<web-app>
<!-- (2)servletタグの設定 -->
<servlet>
<servlet-name>ShowDate</servlet-name>
<servlet-class>ShowDateServlett</servlet-class>
</servlet>
<!-- (3)servlet-mappingタグの設定 -->
<servlet-mapping>
<servlet-name>ShowDate</servlet-name>
<url-pattern>/SDate</url-pattern>
</servlet-mapping>
<!-- (4)security-constraintタグの設定 -->
<security-constraint>
<web-resource-collection>
<web-resource-name>Basic Authentication</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<!-- (5)login-configタグの設定 -->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>UserDatabaseRealm</realm-name>
</login-config>
</web-app>
|
|
| (1). |
web.xmlの構文はDTDファイルにより定義されてるため、DTD宣言を行います。 |
| (2). |
<servlet>タグではサーブレットクラスの名称を定義します。ここで定義された名称は他のタグから参照されます。 |
| (3). |
<servlet-mapping>タグはURLからサーブレットにアクセスする際のURLパターンを定義します。定義されたURLパターンのアクセスがあった場合、該当するサーブレットを実行します。該当するサーブレットの指定には<servlet>タグで定義したサーブレットクラス名称を使用します。ここでは、URLパターンに/SDateが含まれる場合、ShowDateServletクラスが実行される設定をしています。 |
| (4). |
<security-constraint>タグではコンテキストに適用される認証の設定をします。ここでは、認証がコンテキストのすべてのリソース(/*)に適用され、adminロールを持ったIDのみ認証の対象となる設定をしています。 |
| (5). |
<login-config>タグでは認証時に使用する認証方式とレルム方式を設定します。ここでは、認証方式としてBASIC認証を使用し、
ID、パスワード、ロールの管理にはUserDatabaseレルムを使用する設定をしています。 |
web.xmlの設定タグ |
| 内容 |
web.xmlで最上位のタグです。web.xmlで一つのみ存在します。 |
| 要素の数 |
1つのみ |
| サブ要素 |
<description>,
<display-name>, <icon>, <distributable>, <context-param>,
<filter>, <filter-mapping>, <listener>, <servlet>,
<servlet-mapping>, <session-config>, <mime-mapping>,
<welcome-file-list>, <error-page>, <jsp-config>,
<security-constraint>, <login-config>, <security-role>,
<env-entry>, <ejb-ref>, <ejb-local-ref>, <service-ref>,
<resource-ref>, <resource-env-ref>, <message-destination-ref>,
<message-destination>, <locale-encoding-mapping-list> |
| 内容 |
コンテキストの説明を記載します。 |
| 要素の数 |
0または1 |
| サブ要素 |
無し |
| 内容 |
GUIツールで表示されるコンテキストの名前を指定します。 |
| 要素の数 |
0または1 |
| サブ要素 |
無し |
| 内容 |
GUIツールで表示される画像を指定します。 |
| 要素の数 |
0または1 |
| サブ要素 |
<small-icon>,
<large-icon> |
| 内容 |
コンテキストが分散処理が可能なように作成されているかを表します。 |
| 要素の数 |
0または1 |
| サブ要素 |
無し |
| 内容 |
コンテキストの初期化パラメータを指定できます。サーブレット、JSPからパラメータで設定した値を参照できます。 |
| 要素の数 |
0以上 |
| サブ要素 |
無し |
| 内容 |
クライアントとの送受信データをフィルタし、圧縮、データ変換など様々な処理を行います。 |
| 要素の数 |
0以上 |
| サブ要素 |
<description>,
<display-name>, <icon>, <filter-name>, <filter-class>,
<init-param> |
| 内容 |
どの送受信データにフィルタ処理を適用するか指定します。適用はURLパターンか、サーブレット名で指定できます。 |
| 要素の数 |
0以上 |
| サブ要素 |
<filter-name>,
<url-pattern>, <servlet-name>, <dispatcher> |
| 内容 |
何らかのイベントにより動作するlistenerクラスの説明を記載します。 |
| 要素の数 |
0以上 |
| サブ要素 |
<description>,
<display-name>, <icon>, <listener-class> |
| 内容 |
初期化パラメータ、メモリロードのタイミングなどサーブレットクラスに対する振る舞いを指定します。ここで指定されたサーブレットクラスの名称はweb.xmlの他のタグから参照されます。 |
| 要素の数 |
0以上 |
| サブ要素 |
<description>,
<display-name>, <icon>, <servlet-name>, <servlet-class>,
<jsp-file>, <init-param>, <load-on-startup>,
<run-as>, <security-role-ref> |
| 詳細解説 |
Javaの道:Tomcat(プログラム配置・実行)
|
| 内容 |
コンテキストのセッション保持時間を指定します。 |
| 要素の数 |
0または1 |
| サブ要素 |
<session-timeout> |
| 内容 |
ファイル拡張子とMIMEタイプのマッピングを設定します。ブラウザは送られてきたMIMEタイプにより処理するアプリケーション(動画再生、PDFリーダーなど)を判断します。 |
| 要素の数 |
0以上 |
| サブ要素 |
<extension>,
<mime-type> |
| 内容 |
URLでファイル名を指定しないアクセスがあった場合に表示されるファイル(index.html,
index.jspなど)を指定します。コンテキストのルートディレクトリが指定された時だけでなく、サブディレクトリが指定された時にも適用されます。 |
| 要素の数 |
0または1 |
| サブ要素 |
<welcome-file> |
| 内容 |
HTTPエラーコード、Java例外クラスに対応したエラーページを設定します。 |
| 要素の数 |
0以上 |
| サブ要素 |
<error-code>,
<exception-type>, <location> |
| 内容 |
JSPの振る舞いを指定します。JSPタグライブラリを使用する場合はここで、タグライブラリの定義ファイル(拡張子.tld)を指定します。 |
| 要素の数 |
0以上 |
| サブ要素 |
<taglib>,
<jsp-property-group> |
| 内容 |
認証で使用するロールを定義します。 |
| 要素の数 |
0以上 |
| サブ要素 |
<description>,
<realm-name> |
| 内容 |
JNDIパラメータを指定します。アプリケーションからJNDIルックアップなどを使用し、パラメータを参照できます。 |
| 要素の数 |
0以上 |
| サブ要素 |
<description>,
<env-entry-name>, <env-entry-type>, <env-entry-value> |
| 内容 |
HomeエンタープライズBeansへの参照に関する設定をします。 |
| 要素の数 |
0以上 |
| サブ要素 |
<description>,
<ejb-ref-name>, <ejb-ref-type>, <home>, <remote>,
<ejb-link> |
| 内容 |
LocalHomeエンタープライズBeansへの参照に関する設定をします。 |
| 要素の数 |
0以上 |
| サブ要素 |
<description>,
<ejb-ref-name>, <ejb-ref-type>, <local-home>,
<local>, <ejb-link> |
| 内容 |
Webサービスへの参照に関する設定をします。 |
| 要素の数 |
0以上 |
| サブ要素 |
<description>,
<display-name>, <icon>, <service-ref-name>,
<service-interface>, <wsdl-file>, <jaxrpc-mapping-file>,
<service-qname>, <port-component-ref>, <handler> |
| 内容 |
JNDIリソースへの参照に関する設定をします。 |
| 要素の数 |
0以上 |
| サブ要素 |
<description>,
<res-ref-name>, <res-type>, <res-auth>, <res-sharing-scope> |
| 詳細解説 |
Javaの道:Tomcat(JDBC接続) |
| 内容 |
Managerツールなど管理用オブジェクトへの参照に関する設定をします。 |
| 要素の数 |
0以上 |
| サブ要素 |
<description>,
<resource-env-ref-name>, <resource-env-ref-type> |
| <message-destination-ref>タグ |
| 内容 |
メッセージデスティネーションへの参照に関する設定をします。 |
| 要素の数 |
0以上 |
| サブ要素 |
<description>,
<message-destination-ref-name>, <message-destination-type>,
<message-destination-usage>, <message-destination-link> |
| 内容 |
メッセージデスティネーションの名称を設定します。 |
| 要素の数 |
0以上 |
| サブ要素 |
<description>,
<display-name>, <icon>, <message-destination-name> |
| <locale-encoding-mapping-list>タグ |
| 内容 |
ロケール(jaなど)とエンコーディング方法(eucなど)のマッピングを設定します。 |
| 要素の数 |
0以上 |
| サブ要素 |
<locale-encoding-mapping> |
|
Tomcat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14.web.xml |
|
|
|
|
|
|
|
 |
|
 |
 |