ここでは、Java EE application deployment descriptorについて、以下を説明します。
記述形式
タグの一覧
注意事項
記述形式
<?xml version="1.0" encoding="UTF-8" ?> <application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5"> <description>...</description> <display-name>...</display-name> <icon> <small-icon>...</small-icon> <large-icon>...</large-icon> </icon> <module> <connector>...</connector> または <ejb>...</ejb> または <java>...</java> または <web> <web-uri>...</web-uri> <context-root>...</context-root> </web> <alt-dd>...</alt-dd> </module> <security-role> <description>...</description> <role-name>...</role-name> </security-role> <library-directory>...</library-directory> </application>
タグの一覧
Java EE application deployment descriptorのタグ一覧を以下に示します。一覧の記載方法については、「タグ一覧の見方」を参照してください。
タグ名 | 概要 | |||
---|---|---|---|---|
deployment descriptorの開始と終了 | ||||
| モジュールに関する定義 | |||
| connectorのパス | |||
EJBモジュールのパス | ||||
Java EEアプリケーションクライアントのパス | ||||
Webモジュールに関する定義 | ||||
| web-uri | Webモジュールのパス | ||
context-root | コンテキストルート | |||
モジュールのdeployment descriptorのパス | ||||
セキュリティロール | ||||
| description* | 説明 | ||
role-name | セキュリティロール名 | |||
ライブラリの格納先のパス |
タグ一覧の見方
タグ一覧に記載している記号の意味を以下に示します。
記号 | 意味 |
---|---|
? | タグを定義しなくて良い。または1つだけタグを定義することができる。 |
* | タグを定義しなくて良い。または複数のタグを定義することができる。 |
+ | タグを1つ以上記述する必要がある。 |
注意事項
マニュアルに記載した定義以外はサポートしていません。
先頭の<?xml...>と<application xmlns...>は、XML宣言、およびschemaLocationを記述しているため、deployment descriptorファイルの先頭で必ず記述してください。
各タグの記載順序は、上記の記載順序に従ってください。
省略した場合、タグの定義が無効、またはエラーとなります。
大文字・小文字は区別します。
J2EE 1.3または1.4のdeployment descriptorの記述形式も使用できます。
配備済みのアプリケーションのdeployment descriptorの記述形式を、J2EE 1.3または1.4からJava EEの記述形式に変更する場合は、アプリケーションを配備しなおしてください。
タグの説明
Java EEアプリケーション環境定義ファイル(deployment descriptor)の開始と終了を定義します。
Java EEアプリケーション(EARファイル)に含まれるモジュールに関する定義をモジュールごとに記述します。
<connector>タグ、<ejb>タグ、<java>タグ、<web>タグのいずれかを定義する必要があります。
connector(RARファイル)のパスを定義します。
EJBモジュール(ejb-jarファイル)のパスを定義します。
Java EEアプリケーションクライアント(client-jarファイル)のパスを定義します。
Webモジュールに関する定義を記述します。
<web-uri>
Webモジュール(WARファイル)のパスを定義します。
<context-root>
コンテキストルートを定義します。
EARファイル内で一意な値でなければなりません。
モジュールのdeployment descriptorのパスを定義します。
省略した場合は、モジュールに含まれるdeployment descriptorが使用されます。
アクセス制限で使用するセキュリティロールを定義します。
<role-name>
セキュリティロール名を定義します。ロール名には、セキュリティ機能の運用設定(Interstageディレクトリサービス)で定義したセキュリティロール名を指定してください。
EARファイル内で一意な値でなければなりません。
Java EEアプリケーション(EARファイル)に含まれるライブラリの格納先のパスを定義します。指定したディレクトリに格納されているjarファイルは、Java EEアプリケーション(EARファイル)に含まれるコンポーネントから、利用可能となります。
タグを省略した場合は、libを指定したものとみなされます。
ここでは、Web application deployment descriptorについて、以下を説明します。
記述形式
タグの一覧
注意事項
記述形式
<?xml version="1.0" encoding="UTF-8" ?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <display-name>...</display-name> <context-param> <param-name>...</param-name> <param-value>...</param-value> </context-param> <filter> <filter-name>...</filter-name> <filter-class>...</filter-class> <init-param> <param-name>...</param-name> <param-value>...</param-value> </init-param> </filter> <filter-mapping> <filter-name>...</filter-name> <servlet-name>...</servlet-name> <dispatcher>...</dispatcher> </filter-mapping> <filter-mapping> <filter-name>...</filter-name> <url-pattern>...</url-pattern> <dispatcher>...</dispatcher> </filter-mapping> <listener> <listener-class>...</listener-class> </listener> <servlet> <servlet-name>...</servlet-name> <servlet-class>...</servlet-class> または <jsp-file>...</jsp-file> <init-param> <param-name>...</param-name> <param-value>...</param-value> </init-param> <load-on-startup>...</load-on-startup> <run-as> <role-name>...</role-name> </run-as> <security-role-ref> <role-name>...</role-name> <role-link>...</role-link> </security-role-ref> </servlet> <servlet-mapping> <servlet-name>...</servlet-name> <url-pattern>...</url-pattern> </servlet-mapping> <session-config> <session-timeout>...</session-timeout> </session-config> <mime-mapping> <extension>...</extension> <mime-type>...</mime-type> </mime-mapping> <welcome-file-list> <welcome-file>...</welcome-file> </welcome-file-list> <error-page> <error-code>...</error-code> または <exception-type>...</exception-type> <location>...</location> </error-page> <security-constraint> <web-resource-collection> <web-resource-name>...</web-resource-name> <url-pattern>...</url-pattern> <http-method>...</http-method> </web-resource-collection> <auth-constraint> <role-name>...</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>...</transport-guarantee> </user-data-constraint> </security-constraint> <login-config> <auth-method>...</auth-method> <realm-name>...</realm-name> <form-login-config> <form-login-page>...</form-login-page> <form-error-page>...</form-error-page> </form-login-config> </login-config> <security-role> <role-name>...</role-name> </security-role> <env-entry> <env-entry-name>...</env-entry-name> <env-entry-type>...</env-entry-type> <env-entry-value>...</env-entry-value> </env-entry> <ejb-ref> <ejb-ref-name>...</ejb-ref-name> <ejb-ref-type>...</ejb-ref-type> <home>...</home> <remote>...</remote> <ejb-link>...</ejb-link> <mapped-name>...</mapped-name> </ejb-ref> <ejb-local-ref> <description>...</description> <ejb-ref-name>...</ejb-ref-name> <ejb-ref-type>...</ejb-ref-type> <local-home>...</local-home> <local>...</local> <ejb-link>...</ejb-link> </ejb-local-ref> <resource-env-ref> <resource-env-ref-name>...</resource-env-ref-name> <resource-env-ref-type>...</resource-env-ref-type> <mapped-name>...</mapped-name> </resource-env-ref> <resource-ref> <res-ref-name>...</res-ref-name> <res-type>...</res-type> <res-auth>...</res-auth> <mapped-name>...</mapped-name> </resource-ref> <message-destination-ref> <message-destination-ref-name>...</message-destination-ref-name> <message-destination-type>...</message-destination-type> <message-destination-usage>...</message-destination-usage> <message-destination-link>...</message-destination-link> </message-destination-ref> <persistence-context-ref> <description>...</description> <persistence-context-ref-name>...</persistence-context-ref-name> <persistence-unit-name>...</persistence-unit-name> </persistence-context-ref> <persistence-unit-ref> <description>...</description> <persistence-unit-ref-name>...</persistence-unit-ref-name> <persistence-unit-name>...</persistence-unit-name> </persistence-unit-ref> <message-destination> <message-destination-name>...</message-destination-name> <mapped-name>...</mapped-name> </message-destination> <locale-encoding-mapping-list> <locale-encoding-mapping> <locale>...</locale> <encoding>...</encoding> </locale-encoding-mapping> </locale-encoding-mapping-list> <jsp-config> <taglib> <taglib-uri>...</taglib-uri> <taglib-location>...</taglib-location> </taglib> <jsp-property-group> <url-pattern>...</url-pattern> <el-ignored>...</el-ignored> <page-encoding>...</page-encoding> <scripting-invalid>...</scripting-invalid> <is-xml>...</is-xml> <include-prelude>...</include-prelude> <include-coda>...</include-coda> </jsp-property-group> </jsp-config> </web-app>
タグの一覧
Web application deployment descriptorのタグ一覧を以下に示します。一覧の記載方法については、「タグ一覧の見方」を参照してください。
タグ名 | 概要 | |||
---|---|---|---|---|
deployment descriptorの開始と終了 | ||||
| サーブレットコンテキストの名前 | |||
サーブレットコンテキストに設定する初期化パラメタ | ||||
| param-name | 初期化パラメタ名 | ||
param-value | 初期化パラメタに指定する値 | |||
フィルタクラスの定義 | ||||
| filter-name | フィルタクラスの別名 | ||
filter-class | フィルタクラスの完全なクラス名 | |||
init-param* | 初期化パラメタ | |||
| param-name | 初期化パラメタの名前 | ||
param-value | 初期化パラメタの値 | |||
フィルタクラスを適用する対象の定義 | ||||
| filter-name | フィルタ名 | ||
url-pattern* | フィルタとマッピングするURLパターン | |||
servlet-name | フィルタとマッピングするサーブレット名 | |||
dispatcher* | フィルタの呼出しのタイミング | |||
イベントリスナーの定義 | ||||
| listener-class | イベントリスナーの完全なクラス名 | ||
サーブレットに関する定義 | ||||
| servlet-name | サーブレットやJSPの名前 | ||
servlet-class | サーブレットの完全なクラス名 | |||
jsp-file | JSPファイル名 | |||
init-param* | 初期化パラメタ | |||
| param-name | 初期化パラメタの名前 | ||
param-value | 初期化パラメタの値 | |||
load-on-startup? | Webコンテナ起動時のスタートアップ | |||
run-as? | アプリケーションが動作するロール | |||
| role-name | ロール名 | ||
security-role-ref* | セキュリティロール | |||
| role-name | セキュリティロール名 | ||
role-link | <security-role>タグで指定したセキュリティロール名 | |||
サーブレット・マッピング | ||||
| servlet-name | サーブレットやJSPの名前 | ||
url-pattern+ | サーブレットやJSPとマッピングするURLパターン | |||
セションパラメタの定義 | ||||
| session-timeout? | セションタイムアウト時間 | ||
mimeタイプの定義 | ||||
| extension | mimeタイプを定義するファイルの拡張子 | ||
mime-type | mimeタイプ | |||
welcome fileの定義 | ||||
| welcome-file+ | welcome file | ||
例外タイプに対応するリソースの定義 | ||||
| error-code | HTTPのエラーコード | ||
exception-type | 例外タイプの完全クラス名 | |||
location | エラーが発生した場合に対応するリソース | |||
アクセス制限の定義 | ||||
| web-resource-collection+ | Webリソースコレクションの定義 | ||
| web-resource-name | webリソースのコレクション名 | ||
url-pattern+ | URLパターン | |||
http-method* | HTTPのメソッド | |||
auth-constraint? | セキュリティロール | |||
| role-name* | セキュリティロール名 | ||
user-data-constraint? | データ保護属性 | |||
| transport-guarantee | クライアント-サーバ間の転送方法 | ||
ユーザ認証の方法 | ||||
| auth-method? | 認証方法 | ||
realm-name? | HTTP Basic認証で使用する領域名 | |||
form-login-config? | フォームベース認証に関する定義 | |||
| form-login-page | ログインページ | ||
form-error-page | エラーページ | |||
セキュリティロール | ||||
| role-name | セキュリティロール名 | ||
環境エントリ | ||||
| env-entry-name | 環境エントリ名 | ||
env-entry-type? | 環境エントリの値のタイプ | |||
env-entry-value? | 環境エントリのエントリ値 | |||
参照するEJBオブジェクト | ||||
| ejb-ref-name | EJB参照名 | ||
ejb-ref-type? | EJBオブジェクトのタイプ | |||
home? | EJBのhomeインタフェースのフルネーム | |||
remote? | EJBのremoteインタフェースのフルネーム | |||
ejb-link? | リンクするJava EEアプリケーションパッケージの中のEJB名 | |||
mapped-name? | マッピングするJNDI名 | |||
参照するlocalインタフェースのEJBオブジェクト | ||||
| ejb-ref-name | EJBローカル参照名 | ||
ejb-ref-type? | EJBオブジェクトのタイプ | |||
local-home? | EJBのlocal homeインタフェースのフルネーム | |||
local? | EJBのlocalインタフェースのフルネーム | |||
ejb-link? | リンクするJava EEアプリケーションパッケージの中のEJB名 | |||
外部リソース環境 | ||||
| resource-env-ref-name | リソース環境参照名 | ||
resource-env-ref-type? | リソース環境参照の型 | |||
mapped-name? | マッピングするJNDI名 | |||
外部リソース | ||||
| res-ref-name | リソース参照名 | ||
res-type? | リソースの型 | |||
res-auth? | リソースの接続情報の指定方法 | |||
mapped-name? | マッピングするJNDI名 | |||
Destination参照 | ||||
| message-destination-ref-name | Destination参照名 | ||
message-destination-type? | Destinationタイプ | |||
message-destination-usage? | Destination用途 | |||
message-destination-link? | Destinationリンク | |||
永続性コンテキスト参照 | ||||
| description* | 説明 | ||
persistence-context-ref-name | 永続性コンテキスト参照名 | |||
persistence-unit-name? | 永続性ユニット名 | |||
永続性ユニット参照 | ||||
| description* | 説明 | ||
persistence-unit-ref-name | 永続性ユニット参照名 | |||
persistence-unit-name? | 永続性ユニット名 | |||
Destination | ||||
| message-destination-name | Destination名 | ||
mapped-name? | Destinationのマッピング名 | |||
ロケールと文字コードの対応の定義リスト | ||||
| locale-encoding-mapping+ | ロケールと文字コードの対応の定義 | ||
| locale | ロケール | ||
encoding | 文字コード | |||
JSPで共通の値の定義 | ||||
| taglib* | タグライブラリ | ||
| taglib-uri | タグライブラリのURI | ||
taglib-location | タグライブラリのTLDファイル名 | |||
jsp-property-group* | JSPの定義や制限 | |||
| url-pattern+ | タグを適用するJSPのURLパターン | ||
el-ignored? | Expression Languageの扱い | |||
page-encoding? | 文字コード | |||
scripting-invalid? | スクリプトの記述の可否 | |||
is-xml? | JSP Documents(XML構文)として処理するかどうか | |||
include-prelude* | JSPの先頭にインクルードするファイルのURI | |||
include-coda* | JSPの最後にインクルードするファイルのURI |
タグ一覧の見方
タグ一覧に記載している記号の意味を以下に示します。
記号 | 意味 |
---|---|
? | タグを定義しなくて良い。または1つだけタグを定義することができる。 |
* | タグを定義しなくて良い。または複数のタグを定義することができる。 |
+ | タグを1つ以上記述する必要がある。 |
注意事項
マニュアルに記載した定義以外はサポートしていません。
先頭の<?xml...>と<web-app xmlns...>は、XML宣言、およびschemaLocationを記述しているため、deployment descriptorファイルの先頭で必ず記述してください。
各タグの記載順序は、上記の記載順序に従ってください。
省略した場合、タグの定義が無効、またはエラーとなります。
大文字・小文字は区別します。
マニュアルに記載した定義以外を指定した場合、エラーメッセージが出力されずにWebコンテナが起動する場合がありますので注意してください。
Servlet 2.2または2.3、2.4のdeployment descriptorの記述形式も使用できます。
配備済みのアプリケーションのdeployment descriptorの記述形式を、Servlet2.2または2.3からServlet2.4の記述形式に変更する場合は、アプリケーションを配備しなおしてください。
タグの説明
Webアプリケーション環境定義ファイル(deployment descriptor)の開始と終了を定義します。指定可能な属性を以下に示します。
属性名 | デフォルト | 意味 |
---|---|---|
metadata-complate | false | Servlet 2.5、JSP 2.1で追加されたアノテーション機能を有効にするかどうかを指定します。
|
サーブレットコンテキストの名前を定義します。
設定したサーブレットコンテキストの名前は、以下のメソッドで取得できます。
javax.servlet.ServletContext.getServletContextName()メソッド
サーブレットコンテキストに設定する初期化パラメタを定義します。サーブレットコンテキストには、Webアプリケーションすべてのサーブレットに共通の情報を設定し、取り出すことができます。なお、重複する初期化パラメタ名は定義できません。
以下のメソッドを使用します。
javax.servlet.ServletContext.getInitParameterNames()メソッド
javax.servlet.ServletContext.getInitParameter()メソッド
<param-name>
サーブレットコンテキストの初期化パラメタ名を定義します。パラメタ名を必ず記述してください。値を省略した場合、空文字に対してパラメタ値が設定されます。
<param-value>
サーブレットコンテキストの初期化パラメタに指定する値を定義します。値を省略した場合、空文字が設定されます。
フィルタクラスを定義します。
<filter-name>
フィルタクラスの別名です。一意な名前を指定します。
この名前を使用して<filter-mapping>タグで定義したサーブレット名やURIパターンとマッチングされます。
<filter-class>
マッピングするフィルタクラスの完全なクラス名を指定します。
<init-param>
初期化パラメタとして名前と値のペアをセットします。
パラメタが複数ある場合、パラメタごとに別々の<init-param>タグを使用します。
<param-name>
初期化パラメタの名前をセットします。
<init-param>タグを使用する場合、必須です。
<param-value>
初期化パラメタの値をセットします。
<init-param>タグを使用する場合、必須です。
フィルタクラスを適用する対象を定義します。
<filter-mapping>タグでは、リクエストに対して、どのフィルタをどの順番で使えばよいかをWebコンテナに指示します。
<filter-mapping>タグは複数定義できます。フィルタを実行する順番は、以下のように決まります。
<url-pattern>要素を定義している<filter-mapping>タグの設定が有効になります。
web.xmlに<url-pattern>要素を定義している<filter-mapping>タグの設定が複数存在する場合には、定義している順番でフィルタを実行する順番が決まります。
<servlet-name>要素を定義している<filter-mapping>タグの設定が有効になります。
web.xmlに<servlet-name>要素を定義している<filter-mapping>タグの設定が複数存在する場合には、定義している順番でフィルタを実行する順番が決まります。
<filter-name>
一意であるフィルタ名を指定します。
この名前が<filter>タグ内の<filter-name>タグの値としてマッチしている必要があります。
<url-pattern>
フィルタとマッピングするURLパターンを指定します。
<servlet-name>タグと同時に指定することはできません。
URLは以下のように記述します。
単独のURLの場合
URLで呼び出す場合の名前を記述します。
例) /servlet/servlet1
特定のプレフィックス(パス、識別子)で始まるURLの場合
最後に「/*」を付加し、記述します。
例) /prefix/*
特定の拡張子を持つURLの場合
「*.xxx」を用いて記述します。
例) *.do
「*.xxx」を用いて特定の拡張子を持つファイルを指定する場合には、プレフィックスと一緒に指定することはできません。
例) /path/*.do は指定できません。
特定の拡張子を持つファイルを指定した場合は、Webアプリケーション全体のファイルが対象となります。
<servlet-name>
フィルタとマッピングするサーブレット名を指定します。
<url-pattern>タグと同時に指定することはできません。
サーブレット名には、<servlet>タグの<servlet-name>タグで指定した名前を記述します。'*'を指定した場合、すべてのサーブレット名に対して有効になります。指定していないサーブレット名を記述した場合、または値を省略した場合は、無効または定義エラーとなります。
<dispatcher>
フィルタの呼出しのタイミングを指定します。
以下の値を指定します。
REQUEST(デフォルト値)
クライアントからのリクエストに対して、フィルタクラスが有効になります。
FORWARD
RequestDispatcherのforward()メソッドやJSPのforwardアクション時に、フィルタクラスが有効になります。
INCLUDE
RequestDispatcherのinclude()メソッドやJSPのincludeアクションなど、動的なinclude時に、フィルタクラスが有効になります。
ERROR
エラーページ遷移時に、フィルタクラスが有効になります。
Webアプリケーションで発生したイベントに応じて何らかの処理を行いたい場合、ここに実装クラス名を定義します。なお、TLD(Tag Library Description file)の<listener>タグを指定している場合は、両方のリスナーが有効になります。
<listener-class>
以下のイベントを処理するためのクラスの完全なクラス名を指定します。
コンテキストの起動・停止
(javax.servlet.ServletContextListenerインタフェース実装クラス)
ServletContextの属性を追加・置換・削除
(javax.servlet.ServletContextAttributeListenerインタフェース実装クラス)
セションの新規作成・削除
(javax.servlet.http.HttpSessionListenerインタフェース実装クラス)
セションに属性を追加・置換・削除
(javax.servlet.http.HttpSessionAttributeListenerインタフェース実装クラス)
リクエストの開始・終了
(javax.servlet.ServletRequestListenerインタフェース実装クラス)
リクエストに属性を追加・置換・削除
(javax.servlet.ServletRequestAttributeListenerインタフェース実装クラス)
存在しないクラス名を記述した場合はWebアプリケーションの起動に失敗します。
サーブレットの初期化パラメタ、エイリアスなどの、サーブレットの属性を定義します。
<servlet-name>
サーブレットやJSPの名前を定義します。
この値は、<servlet-mapping>タグや<filter-mapping>タグで対象サーブレット名を指定する場合にも使用されます。
<servlet-class>
サーブレットの完全なクラス名を定義します。
サーブレットを定義する場合は必須です。
<jsp-file>
JSPファイル名をWebアプリケーションのルートディレクトリからの相対パスで定義します。先頭に'/'を付加します。
JSPファイルを定義する場合は必須です。
相対パスにディレクトリを記述する場合、ディレクトリの間は'\'でなく、'/'で区切ります。
<init-param>
初期化パラメタとして名前と値のペアをセットします。
パラメタが複数ある場合、パラメタごとに別々の<init-param>タグを使用します。
<param-name>
初期化パラメタの名前をセットします。
<init-param>タグを使用する場合、必須です。
<param-value>
初期化パラメタの値をセットします。
<init-param>タグを使用する場合、必須です。
<load-on-startup>
Webコンテナ起動時のスタートアップを定義します。
サーブレットやJSPをロードする順序を-2147483648~2147483646で定義します。数値以外は指定できません。小さい数から順にロードされます。
以下の場合は、そのサーブレットまたはJSPは最後にロードされます。
-2147483648より小さい値を指定した場合
2147483646より大きい値を指定した場合
空のタグを指定した場合(例:<load-on-startup></load-on-startup>)
以下の場合は、サーブレットやJSPを呼び出した時にロードされます。
負の数を指定した場合
タグを省略した場合
<run-as>
アプリケーションが動作するロールを定義します。
<run-as>タグを指定する場合は、Interstage deployment descriptorに<security-role-mapping>タグを定義する必要があります。定義していない場合はアプリケーションの配備に失敗します。
<role-name>
ロール名を指定します。
<security-role-ref>
サーブレットコードで使用するセキュリティロールの参照を定義します。
<role-name>
サーブレットコードで使用するセキュリティロール名を指定します。
<security-role-ref>タグを定義する場合は必須です。
javax.servlet.http.HttpServletRequest.isUserInRole()メソッドのパラメタとして利用できます。
<role-link>
<security-role>タグで指定したセキュリティロール名を定義します。
<security-role-ref>タグを定義する場合は必須です。
URLをサーブレットやJSPに対応するためのサーブレット・マッピングの定義をします。
指定したURLのファイルやサーブレットを表示せずに異なったサーブレットやJSPに対応させることができます。
<servlet-mapping>タグは、サーブレットやJSPの名前を定義した、<servlet>タグより後に記述してください。<servlet>タグより前に記述した場合、Webアプリケーションの起動に失敗します。
<url-pattern>タグに同じURLを複数定義した場合は、最後に定義したサーブレット・マッピングが有効となります。
指定したURLが複数のサーブレット・マッピングで有効である場合、以下の順で優先されます。
url-patternタグがファイルやサーブレットの名前の場合
url-patternタグがプレフィックス(パス、識別子)の場合(長い名前の方が優先されます)
url-patternタグが拡張子の場合
例えば、「/index.html」と「*.html」のURLを定義していて、「/index.html」へのアクセスがあった場合、拡張子「*.html」の定義よりファイルの名前「/index.html」の定義が優先されます。
<servlet-name>
リクエストをマッピングするサーブレットやJSPの名前を定義します。
名前には、<servlet>タグの<servlet-name>タグで指定した名前を記述します。指定していない名前を記述した場合は、Webアプリケーションの起動に失敗します。
<url-pattern>
サーブレットやJSPとマッピングするURLパターンを指定します。
URLは以下のように記述します。
単独のURLの場合
URLで呼び出す場合の名前を記述します。
例) /servlet/servlet1
特定のプレフィックス(パス、識別子)で始まるURLの場合
最後に「/*」を付加し、記述します。
例) /prefix/*
特定の拡張子を持つURLの場合
「*.xxx」を用いて記述します。
例) *.do
「*.xxx」を用いて特定の拡張子を持つファイルを指定する場合には、プレフィックスと一緒に指定することはできません。
例) /path/*.do は指定できません。
特定の拡張子を持つファイルを指定した場合は、Webアプリケーション全体のファイルが対象となります。
セション管理を使用する場合、セションパラメタの定義をします。
設定したセションタイムアウト時間は、以下のメソッドを使用して取り出します。
javax.servlet.http.HttpSession.getMaxInactiveInterval()メソッド
<session-timeout>
セションタイムアウト時間を定義します。
単位は分で、指定可能な範囲は0~35791394です。タグを省略した場合は、30が設定されます。
0または負の値を記述した時にはタイムアウトしません。
サーブレットAPIで取り出すmimeタイプを定義します。
mimeタイプは、Webコンテナがデフォルトの値を定義しています。
本タグを定義することにより、Webアプリケーション独自のmimeタイプが設定できます。
本タグで設定したmimeタイプは、デフォルトのmimeタイプより、優先されます。
デフォルトのmimeタイプについては、「4.2.2.3 デフォルトのmimeタイプ」を参照してください。
また、重複して定義した場合は、後から指定したmimeタイプが有効となります。
設定したmimeタイプは、以下のメソッドを使用して取り出します。
javax.servlet.ServletContext.getMimeType()メソッド
<extension>
mimeタイプを定義するファイルの拡張子を定義します。
<mime-type>
mimeタイプを定義します。
URLにファイル名を指定しなかった場合に表示するwelcome fileを定義します。
welcome fileは、URLにWebアプリケーション名まで指定した場合や、Webアプリケーションのルートディレクトリからの相対パスとしてディレクトリ名まで指定した場合のどちらにも有効です。
welcome fileを省略した場合、デフォルト設定が使用されます。デフォルト設定のファイルは以下のとおりです。
index.html
index.htm
index.jsp
welcome file(省略時はデフォルト設定)に該当するファイルがない場合は、Interstage Web application deployment descriptor(sun-web.xml)でファイル一覧を有効にしているかによって、ステータスコード404(ファイルが存在しない)、またはその実体となるディレクトリ配下のディレクトリやファイルの一覧が表示されます
welcome fileは複数指定ができ、記述した順に有効となります。
<welcome-file>
welcome fileを定義します。
エラーコードやJavaの例外タイプに対応するリソースを定義します。
同じHTTPのエラーコードやJavaの例外タイプで複数定義した場合は、最初に定義したリソースの定義が有効となります。
<error-code>
HTTPのエラーコードを定義します。
HTTPエラーコードを定義する場合に指定します。
<exception-type>
Javaの例外タイプの完全クラス名を定義します。
例外タイプを定義する場合に指定します。
<location>
エラーが発生した場合に対応するリソース(HTML文書、サーブレットなど)を定義します。Webアプリケーションのルートディレクトリからの相対パスで指定します。この時、先頭に'/'を付加します。
リソースを省略した場合は、定義エラーとなります。
相対パスにディレクトリを記述する場合、ディレクトリの間は'\'でなく、'/'で区切ります。
注意
Webブラウザの設定内容によって、Webブラウザ内蔵のエラーページが表示される場合があります。
Webアプリケーションのアクセス制限を定義します。
<web-resource-collection>
Webリソースコレクションを定義します。
<web-resource-name>
webリソースのコレクション名を定義します。
<web-resource-collection>タグの定義時は、必須です。
<url-pattern>
URLパターンを定義します。
Webアプリケーションのルートディレクトリからの対象パスで定義します。この時、先頭に'/'を追加します。
<http-method>
HTTPのメソッドを定義します。
定義したメソッドに対してだけアクセスが制限されます。
省略した場合は、全メソッドがアクセス制限の対象となります。
<auth-constraint>
Webリソースコレクションにアクセス可能なセキュリティロールを定義します。
指定したロールを持つユーザだけ、リソースコレクションにアクセス可能となります。
省略した場合は、すべてのユーザがアクセス可能となります。
<role-name>
セキュリティロール名を定義します。
セキュリティロール名が指定された場合、ユーザの識別が必要となるため、ユーザ認証が行われます。
<role-name>タグまたは値を省略した場合は、どのユーザもアクセスできません。
<user-data-constraint>
データ保護属性を定義します。クライアント-コンテナ間で通信するデータをどう保護すべきであるかを定義します。
<transport-guarantee>
クライアント-サーバ間の転送方法を定義します。
<user-data-constraint>タグの定義時は、必須です。
以下の値を指定します。
NONE
アプリケーションが、転送保証を必要としないことを意味します。
INTEGRAL
クライアント-サーバ間で送信されるデータの転送保証を必要とすることを意味します。
CONFIDENTIAL
データの盗聴の防止が必要であることを意味します。
INTEGRALまたはCONFIDENTIALを指定した場合は、SSLによる通信であることを保証します。
ユーザ認証の方法を定義します。
<auth-method>
認証方法を定義します。以下の値を指定します。
BASIC
HTTP Basic認証
FORM
フォームベース認証
<auth-method>タグを省略した場合は、「BASIC」が省略値となります。値の省略はできません。
<realm-name>
認証で使用するレルム名を定義します。
レルム名は、Basic認証を行う画面(ダイアログボックス)に表示されます。
省略した場合は、デフォルトレルムが選択されます。デフォルトレルム以外を使用する場合は、必ず指定してください。
<form-login-config>
フォームベース認証定義の開始/終了を定義します。
フォームベース認証で使用するログインページやエラーページを指定します。
フォームベース認証を使用しない場合、指定は無視されます。
フォームベース認証を使用する場合は、必ず指定してください。
<form-login-page>
フォームベース認証で使用するログインページを定義します。
指定したログインページは、フォームベース認証が行われる際にWebブラウザに表示されます。
<form-login-config>タグ定義時は、必須です。
<auth-method>タグでフォームベース認証を指定した場合は、本タグでログインページを必ず指定してください。
注意
ログインページでは、ユーザ名/パスワードをWebコンテナに受け渡すため、以下のインタフェースを使用しなければなりません。
アプリケーション名:j_security_check
パラメタ名->ユーザ名:j_username
パラメタ名->パスワード:j_password
以下に例を示します。
: <FORM ACTION="j_security_check" METHOD="POST"> UserName: <INPUT TYPE="text" NAME="j_username"> Password: <INPUT TYPE="password" NAME="j_password"> <input type="submit" value="送信"></FORM> :
<form-error-page>
フォームベース認証失敗時に表示するエラーページのロケーションを定義します。
<form-login-config>タグ定義時は、必須です。
指定したエラーページは、フォームベース認証失敗時にWebブラウザに表示されます。
留意事項
フォームベース認証では認証情報を管理するためにcookieによるセションの追跡を使用します。このため以下に該当する場合、フォームベース認証機能を使用することができません。
セションIDをcookieに設定しない運用
Webブラウザがcookieを許可していない、または対応していない
フォームベース認証の成功後は、以下のいずれかが行われるまでの間、認証を継続することが可能です。
セションを破棄
セションタイムアウト
Webブラウザを閉じる
IJServerクラスタを再起動
実行中のWebアプリケーションを再配備
アクセス制限で使用するセキュリティロールを定義します。
<role-name>
セキュリティロール名を定義します。
ロール名には、セキュリティ機能の運用設定(Interstage ディレクトリサービス)で定義したセキュリティロール名を指定してください。
Webアプリケーションで参照する環境エントリを定義します。
<env-entry-name>
環境エントリのエントリ名を定義します。
java:comp/envコンテキストからの相対名で定義します。
<env-entry-type>
アプリケーションコードで扱う環境エントリの値の完全なJavaタイプを定義します。
以下のJavaタイプが指定可能です。
java.lang.Boolean
java.lang.Byte
java.lang.Character
java.lang.String
java.lang.Short
java.lang.Integer
java.lang.Long
java.lang.Float
java.lang.Double
<env-entry-value>
環境エントリのエントリ値を定義します。
エントリ値は、<env-entry-type>タグで指定したオブジェクトとして扱われます。
エントリ値が<env-entry-type>タグで指定したJavaタイプと異なる場合は、エラーとなります。
タグを省略した場合には、javax.naming.NamingExceptionまたはそのサブクラスが投げられます。
Webアプリケーションで参照するEJBオブジェクトを定義します。
<ejb-ref-name>
EJBオブジェクトの参照名(EJB参照名)を定義します。
java:comp/envコンテキストからの相対名で定義します。
例) ejb/xxxxx
<ejb-ref-type>
EJBオブジェクトのタイプを定義します。
以下のタイプが指定可能です。
Entity
Entity Bean
Session
Session Bean
<home>
EJBのhomeインタフェースのフルネームを定義します。
<remote>
EJBのremoteインタフェースのフルネームを定義します。
<ejb-link>
リンクするJava EEアプリケーションパッケージの中のEJB名(ejb-name)を定義します。
<mapped-name>
参照するオブジェクトの実際のJNDI名を指定できます。
Webアプリケーションで参照するlocalインタフェースのEJBオブジェクトを定義します。
<ejb-ref-name>
EJBローカルオブジェクトの参照名(EJBローカル参照名)を定義します。
java:comp/envコンテキストからの相対名で定義します。
例) ejb/xxxxx
<ejb-ref-type>
EJBオブジェクトのタイプを定義します。
以下のタイプが指定可能です。
Entity
Entity Bean
Session
Session Bean
<local-home>
EJBのlocal homeインタフェースのフルネームを定義します。
<local>
EJBのlocalインタフェースのフルネームを定義します。
<ejb-link>
リンクするJava EEアプリケーションパッケージの中のEJB名(ejb-name)を定義します。
Webアプリケーションで参照する外部リソース環境を定義します。
<resource-env-ref-name>
外部リソース環境の参照名(リソース環境参照名)を定義します。
java:comp/envコンテキストからの相対名で定義します。
例) jms/xxxxx
<resource-env-ref-type>
外部リソース環境参照のリソースの型を定義します。
型は、JavaClass型を指定します。
データソースの型(JavaClass型)として以下のリソースをサポートします。
JMS
javax.jms.Topic
javax.jms.Queue
<mapped-name>
参照するオブジェクトの実際のJNDI名を指定できます。
Webアプリケーションで参照する外部リソースを定義します。
<res-ref-name>
外部リソースの参照名(リソース参照名)を定義します。
java:comp/envコンテキストからの相対名で定義します。以下に例を示します。
JDBCの場合 | jdbc/xxxxx |
JMSの場合 | jms/xxxxx |
JavaMailの場合 | mail/xxxxx |
URLの場合 | url/xxxxx |
<res-type>
外部リソースの型を定義します。
型は、JavaClass型を指定します。
データソースの型(JavaClass型)として以下のリソースをサポートします。
JDBCの場合 | javax.sql.DataSource |
JMSの場合 | javax.jms.TopicConnectionFactory |
JavaMailの場合 | javax.mail.Session |
URLの場合 | java.net.URL |
<res-auth>
リソースの接続情報を、アプリケーションコンポーネントコードがプログラムで指定するかまたはWebコンテナが指定するかを定義します。
詳細は、「6.6 リソースアクセス時の認証情報」を参照してください。
リソースに対する接続情報を設定する箇所を定義します。
以下の値を指定します。
Application
アプリケーションコンポーネントコード(Webアプリケーション側)で接続情報を設定します。
Container
コンテナが接続情報を設定します。コンテナは、リソース定義で設定した接続情報を使用します。
<mapped-name>
参照するオブジェクトの実際のJNDI名を指定できます。
Webアプリケーションで参照するDestination参照を定義します。
<message-destination-ref-name>
Destinationの参照名(Destination参照名)を定義します。
java:comp/envコンテキストからの相対名で定義します。
例) jms/xxxxx
<message-destination-type>
Destinationの型を定義します。
型は、JavaClass型を指定します。
<message-destination-usage>
Destinationの用途として以下のいずれかを定義します。
Consumes
受信用に使用する場合に指定します。
Produces
送信用に使用する場合に指定します。
ConsumesProduces
送受信用に使用する場合に指定します。
<message-destination-link>
message-destinationタグへのリンクを定義します。
Webアプリケーションで参照する永続性コンテキスト参照を定義します。
<description>
説明を定義します。
<persistence-context-ref-name>
永続性コンテキスト参照名は、Webアプリケーションが永続性コンテキストを識別するために任意に指定できます。
java:comp/envコンテキストからの相対名で定義します。
例) persistence/xxxxx
<persistence-unit-name>
永続性コンテキストに関連付けられている永続性ユニット名を指定します。永続性ユニット名はpersistence.xmlファイルで定義されている必要があります。
Webアプリケーションで参照する永続性ユニット参照を定義します。
<description>
説明を定義します。
<persistence-unit-ref-name>
永続性ユニット参照名は、Webアプリケーションが永続性ユニットを識別するために任意に指定できます。
java:comp/envコンテキストからの相対名で定義します。
例) persistence/xxxxx
<persistence-unit-name>
永続性ユニット名を指定します。永続性ユニット名はpersistence.xmlファイルで定義されている必要があります。
Webアプリケーションで参照するDestinationを定義します。
<message-destination-name>
Destination名は、message-destination-refタグからリンクする名前を定義します。
<mapped-name>
参照するオブジェクトの実際のJNDI名を指定できます。
ロケールと文字コードの対応を定義します。
<locale-encoding-mapping>
ロケールと文字コードの対応を定義します。
<locale>
ISO-639-1とISO-3166で定義されたロケールを指定します。
<encoding>
ロケールに対応させる文字コードを指定します。
Webアプリケーション内のJSPで共通の値を定義します。
<taglib>
JSPで独自タグを埋め込む場合、タグライブラリを定義します。
<taglib-uri>
Webアプリケーションが使用するJSPのタグライブラリのURIを定義します。JSPファイル内の<taglib>指定のuriに定義すべきURIを指定します。
<taglib-location>
タグライブラリのTLD(Tag Library Description file)ファイル名を定義します。
Webアプリケーションのルートディレクトリからの相対パスで指定します。この時、先頭に'/'を付加します。
存在しないパスを記述した場合は、Webアプリケーションの起動に失敗します。
相対パスにディレクトリを記述する場合、ディレクトリの間は'\'でなく、'/'で区切ります。
<jsp-property-group>
<url-pattern>タグで設定されたURLパターンを満たすJSPに対して、定義や制限を指定します。
<url-pattern>
<jsp-property-group>タグを適用するJSPのURLパターンを指定します。
<el-ignored>
Expression LanguageをJSP内で無視するかどうかを指定します。
true:
Expression Languageは無視されます(エラーではありません)
false:(省略値)
Expression Languageは評価されます。
<page-encoding>
JSPファイルの文字コードを指定します。
JSPファイルのpageディレクティブのpageEncodingで指定された値と違う場合はJSPのコンパイルに失敗します。
<scripting-invalid>
JSPのスクリプトの記述を非許可とするかどうかを指定します。
true :スクリプトの記述を非許可とします。
JSP内にスクリプトが記述されている場合は、JSPのコンパイルに失敗します。
false:スクリプトの記述を許可します。
scripting-invalidを省略した場合は、スクリプトの記述は許可されます。
<is-xml>
JSPファイルを、JSP Documents(XML構文)として処理するかどうかを指定します。
true:
JSPをJSP Documents(XML構文)として処理します。
JSPがJSP Documents(XML構文)として記述されていない場合は、JSPのコンパイルに失敗します。
false:
JSPをregular JSP page(非XML構文)として処理します。
デフォルトでは、拡張子が「.jspx」の場合にJSP Documents(XML構文)として処理されます。
<include-prelude>
JSPの先頭にインクルードするファイルのURIを指定します。JSPの先頭にincludeディレクティブを指定するのと同じ動作になります。
<include-coda>
JSPの最後にインクルードするファイルのURIを指定します。JSPの最後にincludeディレクティブを指定するのと同じ動作になります。
注意
タグライブラリ・ディスクリプタファイルの<tag-class>タグを変更した場合、変更したタグライブラリ・ディスクリプタに対応するタグライブラリを使用するJSPファイルの再コンパイルが必要です。
JSPの再コンパイルは、JSPファイルと対応するjavaのソースファイル、クラスファイルがJSPコンパイル結果出力ディレクトリ内に存在しない場合に実行されます。
したがって、JSPファイルと対応するjavaのソースファイル、クラスファイルを削除することによって、JSPの再コンパイルが実行されます。
詳細については「3.5.5 JSP事前コンパイル」を参照してください。
Webコンテナでは、以下のmimeタイプの値がデフォルトで定義されています。
Webアプリケーション独自のmimeタイプを使用する場合は、Web application deployment descriptorで設定可能です。設定方法については以下を参照してください。
mimeタイプのデフォルト値一覧
extension | mime-type |
---|---|
abs | audio/x-mpeg |
ai | application/postscript |
aif | audio/x-aiff |
aifc | audio/x-aiff |
aiff | audio/x-aiff |
aim | application/x-aim |
art | image/x-jg |
asf | video/x-ms-asf |
asx | video/x-ms-asf |
au | audio/basic |
avi | video/x-msvideo |
avx | video/x-rad-screenplay |
bcpio | application/x-bcpio |
bin | application/octet-stream |
bmp | image/bmp |
body | text/html |
cdf | application/x-cdf |
cer | application/x-x509-ca-cert |
class | application/java |
cpio | application/x-cpio |
csh | application/x-csh |
css | text/css |
dib | image/bmp |
doc | application/msword |
dtd | application/xml-dtd |
dv | video/x-dv |
dvi | application/x-dvi |
eps | application/postscript |
etx | text/x-setext |
exe | application/octet-stream |
gif | image/gif |
gk | application/octet-stream |
gtar | application/x-gtar |
gz | application/x-gzip |
hdf | application/x-hdf |
hqx | application/mac-binhex40 |
htc | text/x-component |
htm | text/html |
html | text/html |
ief | image/ief |
jad | text/vnd.sun.j2me.app-descriptor |
jar | application/java-archive |
java | text/plain |
jnlp | application/x-java-jnlp-file |
jpe | image/jpeg |
jpeg | image/jpeg |
jpg | image/jpeg |
js | text/javascript |
kar | audio/x-midi |
latex | application/x-latex |
m3u | audio/x-mpegurl |
mac | image/x-macpaint |
man | application/x-troff-man |
mathml | application/mathml+xml |
me | application/x-troff-me |
mid | audio/x-midi |
midi | audio/x-midi |
mif | application/x-mif |
mov | video/quicktime |
movie | video/x-sgi-movie |
mp1 | audio/x-mpeg |
mp2 | audio/x-mpeg |
mp3 | audio/x-mpeg |
mpa | audio/x-mpeg |
mpe | video/mpeg |
mpeg | video/mpeg |
mpega | audio/x-mpeg |
mpg | video/mpeg |
mpv2 | video/mpeg2 |
ms | application/x-wais-source |
nc | application/x-netcdf |
oda | application/oda |
ogg | application/ogg |
pbm | image/x-portable-bitmap |
pct | image/pict |
application/pdf | |
pgm | image/x-portable-graymap |
pic | image/pict |
pict | image/pict |
pls | audio/x-scpls |
png | image/png |
pnm | image/x-portable-anymap |
pnt | image/x-macpaint |
ppm | image/x-portable-pixmap |
ppt | application/powerpoint |
ps | application/postscript |
psd | image/x-photoshop |
qt | video/quicktime |
qti | image/x-quicktime |
qtif | image/x-quicktime |
ras | image/x-cmu-raster |
rdf | application/rdf+xml |
rgb | image/x-rgb |
rm | application/vnd.rn-realmedia |
roff | application/x-troff |
rtf | application/rtf |
rtx | text/richtext |
sh | application/x-sh |
shar | application/x-shar |
shtml | text/x-server-parsed-html |
smf | audio/x-midi |
sit | application/x-stuffit |
snd | audio/basic |
src | application/x-wais-source |
sv4cpio | application/x-sv4cpio |
sv4crc | application/x-sv4crc |
svg | image/svg+xml |
svgz | image/svg+xml |
swf | application/x-shockwave-flash |
t | application/x-troff |
tar | application/x-tar |
tcl | application/x-tcl |
tex | application/x-tex |
texi | application/x-texinfo |
texinfo | application/x-texinfo |
tif | image/tiff |
tiff | image/tiff |
tr | application/x-troff |
tsv | text/tab-separated-values |
txt | text/plain |
ulw | audio/basic |
ustar | application/x-ustar |
vsd | application/x-visio |
vxml | application/voicexml+xml |
wav | audio/x-wav |
wbmp | image/vnd.wap.wbmp |
wml | text/vnd.wap.wml |
wmlc | application/vnd.wap.wmlc |
wmls | text/vnd.wap.wmls |
wmlscriptc | application/vnd.wap.wmlscriptc |
wrl | x-world/x-vrml |
xbm | image/x-xbitmap |
xht | application/xhtml+xml |
xhtml | application/xhtml+xml |
xls | application/vnd.ms-excel |
xml | application/xml |
xpm | image/x-xpixmap |
xsl | application/xml |
xslt | application/xslt+xml |
xul | application/vnd.mozilla.xul+xml |
xwd | image/x-xwindowdump |
vsd | application/x-visio |
Z | application/x-compress |
z | application/x-compress |
zip | application/zip |