ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Java EE運用ガイド

4.2.2 Java EE規約で規定されたdeployment descriptor

4.2.2.1 Java EE application deployment descriptor (application.xml)

ここでは、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のタグ一覧を以下に示します。一覧の記載方法については、「タグ一覧の見方」を参照してください。

タグ名

概要

application

deployment descriptorの開始と終了

  

module

モジュールに関する定義

  

connector

connectorのパス

ejb

EJBモジュールのパス

java

Java EEアプリケーションクライアントのパス

web

Webモジュールに関する定義

  

web-uri

Webモジュールのパス

context-root

コンテキストルート

alt-dd

モジュールのdeployment descriptorのパス

security-role*

セキュリティロール

  

description*

説明

role-name

セキュリティロール名

library-directory?

ライブラリの格納先のパス


タグ一覧の見方

タグ一覧に記載している記号の意味を以下に示します。

記号

意味

?

タグを定義しなくて良い。または1つだけタグを定義することができる。

*

タグを定義しなくて良い。または複数のタグを定義することができる。

+

タグを1つ以上記述する必要がある。


注意事項

タグの説明

application

Java EEアプリケーション環境定義ファイル(deployment descriptor)の開始と終了を定義します。

module (親タグ:application)

Java EEアプリケーション(EARファイル)に含まれるモジュールに関する定義をモジュールごとに記述します。
<connector>タグ、<ejb>タグ、<java>タグ、<web>タグのいずれかを定義する必要があります。

connector (親タグ:module)

connector(RARファイル)のパスを定義します。

ejb (親タグ:module)

EJBモジュール(ejb-jarファイル)のパスを定義します。

java (親タグ:module)

Java EEアプリケーションクライアント(client-jarファイル)のパスを定義します。

web (親タグ:module)

Webモジュールに関する定義を記述します。

<web-uri>

Webモジュール(WARファイル)のパスを定義します。

<context-root>
コンテキストルートを定義します。
EARファイル内で一意な値でなければなりません。

alt-dd (親タグ:module)

モジュールのdeployment descriptorのパスを定義します。
省略した場合は、モジュールに含まれるdeployment descriptorが使用されます。

security-role (親タグ:application)

アクセス制限で使用するセキュリティロールを定義します。

<role-name>
セキュリティロール名を定義します。ロール名には、セキュリティ機能の運用設定(Interstageディレクトリサービス)で定義したセキュリティロール名を指定してください。
EARファイル内で一意な値でなければなりません。

library-directory (親タグ:application)

Java EEアプリケーション(EARファイル)に含まれるライブラリの格納先のパスを定義します。指定したディレクトリに格納されているjarファイルは、Java EEアプリケーション(EARファイル)に含まれるコンポーネントから、利用可能となります。
タグを省略した場合は、libを指定したものとみなされます。

4.2.2.2 Web application deployment descriptor (web.xml)

ここでは、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のタグ一覧を以下に示します。一覧の記載方法については、「タグ一覧の見方」を参照してください。

タグ名

概要

web-app

deployment descriptorの開始と終了

  

display-name*

サーブレットコンテキストの名前

context-param*

サーブレットコンテキストに設定する初期化パラメタ

  

param-name

初期化パラメタ名

param-value

初期化パラメタに指定する値

filter*

フィルタクラスの定義

  

filter-name

フィルタクラスの別名

filter-class

フィルタクラスの完全なクラス名

init-param*

初期化パラメタ

  

param-name

初期化パラメタの名前

param-value

初期化パラメタの値

filter-mapping*

フィルタクラスを適用する対象の定義

  

filter-name

フィルタ名

url-pattern*

フィルタとマッピングするURLパターン

servlet-name

フィルタとマッピングするサーブレット名

dispatcher*

フィルタの呼出しのタイミング

listener*

イベントリスナーの定義

  

listener-class

イベントリスナーの完全なクラス名

servlet*

サーブレットに関する定義

  

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-mapping*

サーブレット・マッピング

  

servlet-name

サーブレットやJSPの名前

url-pattern+

サーブレットやJSPとマッピングするURLパターン

session-config*

セションパラメタの定義

  

session-timeout?

セションタイムアウト時間

mime-mapping*

mimeタイプの定義

  

extension

mimeタイプを定義するファイルの拡張子

mime-type

mimeタイプ

welcome-file-list*

welcome fileの定義

  

welcome-file+

welcome file

error-page*

例外タイプに対応するリソースの定義

  

error-code

HTTPのエラーコード

exception-type

例外タイプの完全クラス名

location

エラーが発生した場合に対応するリソース

security-constraint*

アクセス制限の定義

  

web-resource-collection+

Webリソースコレクションの定義

  

web-resource-name

webリソースのコレクション名

url-pattern+

URLパターン

http-method*

HTTPのメソッド

auth-constraint?

セキュリティロール

  

role-name*

セキュリティロール名

user-data-constraint?

データ保護属性

  

transport-guarantee

クライアント-サーバ間の転送方法

login-config*

ユーザ認証の方法

  

auth-method?

認証方法

realm-name?

HTTP Basic認証で使用する領域名

form-login-config?

フォームベース認証に関する定義

  

form-login-page

ログインページ

form-error-page

エラーページ

security-role*

セキュリティロール

  

role-name

セキュリティロール名

env-entry*

環境エントリ

  

env-entry-name

環境エントリ名

env-entry-type?

環境エントリの値のタイプ

env-entry-value?

環境エントリのエントリ値

ejb-ref*

参照するEJBオブジェクト

  

ejb-ref-name

EJB参照名

ejb-ref-type?

EJBオブジェクトのタイプ

home?

EJBのhomeインタフェースのフルネーム

remote?

EJBのremoteインタフェースのフルネーム

ejb-link?

リンクするJava EEアプリケーションパッケージの中のEJB名

mapped-name?

マッピングするJNDI名

ejb-local-ref*

参照する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*

外部リソース環境

  

resource-env-ref-name

リソース環境参照名

resource-env-ref-type?

リソース環境参照の型

mapped-name?

マッピングするJNDI名

resource-ref*

外部リソース

  

res-ref-name

リソース参照名

res-type?

リソースの型

res-auth?

リソースの接続情報の指定方法

mapped-name?

マッピングするJNDI名

message-destination-ref*

Destination参照

  

message-destination-ref-name

Destination参照名

message-destination-type?

Destinationタイプ

message-destination-usage?

Destination用途

message-destination-link?

Destinationリンク

persistence-context-ref*

永続性コンテキスト参照

  

description*

説明

persistence-context-ref-name

永続性コンテキスト参照名

persistence-unit-name?

永続性ユニット名

persistence-unit-ref*

永続性ユニット参照

  

description*

説明

persistence-unit-ref-name

永続性ユニット参照名

persistence-unit-name?

永続性ユニット名

message-destination*

Destination

  

message-destination-name

Destination名

mapped-name?

Destinationのマッピング名

locale-encoding-mapping-list*

ロケールと文字コードの対応の定義リスト

  

locale-encoding-mapping+

ロケールと文字コードの対応の定義

  

locale

ロケール

encoding

文字コード

jsp-config*

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つ以上記述する必要がある。


注意事項

タグの説明

web-app

Webアプリケーション環境定義ファイル(deployment descriptor)の開始と終了を定義します。指定可能な属性を以下に示します。

属性名

デフォルト

意味

metadata-complate

false

Servlet 2.5、JSP 2.1で追加されたアノテーション機能を有効にするかどうかを指定します。

  • true :アノテーション機能は無効になります。

  • false:アノテーション機能は有効になります。

display-name (親タグ:web-app)

サーブレットコンテキストの名前を定義します。
設定したサーブレットコンテキストの名前は、以下のメソッドで取得できます。

  • javax.servlet.ServletContext.getServletContextName()メソッド

context-param (親タグ:web-app)

サーブレットコンテキストに設定する初期化パラメタを定義します。サーブレットコンテキストには、Webアプリケーションすべてのサーブレットに共通の情報を設定し、取り出すことができます。なお、重複する初期化パラメタ名は定義できません。
以下のメソッドを使用します。

  • javax.servlet.ServletContext.getInitParameterNames()メソッド

  • javax.servlet.ServletContext.getInitParameter()メソッド

<param-name>
サーブレットコンテキストの初期化パラメタ名を定義します。パラメタ名を必ず記述してください。値を省略した場合、空文字に対してパラメタ値が設定されます。

<param-value>
サーブレットコンテキストの初期化パラメタに指定する値を定義します。値を省略した場合、空文字が設定されます。

filter (親タグ:web-app)

フィルタクラスを定義します。

<filter-name>
フィルタクラスの別名です。一意な名前を指定します。
この名前を使用して<filter-mapping>タグで定義したサーブレット名やURIパターンとマッチングされます。

<filter-class>
マッピングするフィルタクラスの完全なクラス名を指定します。

<init-param>
初期化パラメタとして名前と値のペアをセットします。
パラメタが複数ある場合、パラメタごとに別々の<init-param>タグを使用します。

<param-name>
初期化パラメタの名前をセットします。
<init-param>タグを使用する場合、必須です。

<param-value>
初期化パラメタの値をセットします。
<init-param>タグを使用する場合、必須です。

filter-mapping (親タグ:web-app)

フィルタクラスを適用する対象を定義します。
<filter-mapping>タグでは、リクエストに対して、どのフィルタをどの順番で使えばよいかをWebコンテナに指示します。

<filter-mapping>タグは複数定義できます。フィルタを実行する順番は、以下のように決まります。

  1. <url-pattern>要素を定義している<filter-mapping>タグの設定が有効になります。
    web.xmlに<url-pattern>要素を定義している<filter-mapping>タグの設定が複数存在する場合には、定義している順番でフィルタを実行する順番が決まります。

  2. <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
    エラーページ遷移時に、フィルタクラスが有効になります。

listener (親タグ:web-app)

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 (親タグ:web-app)

サーブレットの初期化パラメタ、エイリアスなどの、サーブレットの属性を定義します。

<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>タグを定義する場合は必須です。

servlet-mapping (親タグ:web-app)

URLをサーブレットやJSPに対応するためのサーブレット・マッピングの定義をします。
指定したURLのファイルやサーブレットを表示せずに異なったサーブレットやJSPに対応させることができます。
<servlet-mapping>タグは、サーブレットやJSPの名前を定義した、<servlet>タグより後に記述してください。<servlet>タグより前に記述した場合、Webアプリケーションの起動に失敗します。
<url-pattern>タグに同じURLを複数定義した場合は、最後に定義したサーブレット・マッピングが有効となります。
指定したURLが複数のサーブレット・マッピングで有効である場合、以下の順で優先されます。

  1. url-patternタグがファイルやサーブレットの名前の場合

  2. url-patternタグがプレフィックス(パス、識別子)の場合(長い名前の方が優先されます)

  3. 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アプリケーション全体のファイルが対象となります。

session-config (親タグ:web-app)

セション管理を使用する場合、セションパラメタの定義をします。
設定したセションタイムアウト時間は、以下のメソッドを使用して取り出します。

  • javax.servlet.http.HttpSession.getMaxInactiveInterval()メソッド

<session-timeout>
セションタイムアウト時間を定義します。
単位は分で、指定可能な範囲は0~35791394です。タグを省略した場合は、30が設定されます。
0または負の値を記述した時にはタイムアウトしません。

mime-mapping (親タグ:web-app)

サーブレット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タイプを定義します。

welcome-file-list (親タグ:web-app)

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を定義します。

error-page (親タグ:web-app)

エラーコードやJavaの例外タイプに対応するリソースを定義します。
同じHTTPのエラーコードやJavaの例外タイプで複数定義した場合は、最初に定義したリソースの定義が有効となります。

<error-code>
HTTPのエラーコードを定義します。
HTTPエラーコードを定義する場合に指定します。

<exception-type>
Javaの例外タイプの完全クラス名を定義します。
例外タイプを定義する場合に指定します。

<location>
エラーが発生した場合に対応するリソース(HTML文書、サーブレットなど)を定義します。Webアプリケーションのルートディレクトリからの相対パスで指定します。この時、先頭に'/'を付加します。
リソースを省略した場合は、定義エラーとなります。


相対パスにディレクトリを記述する場合、ディレクトリの間は'\'でなく、'/'で区切ります。

注意

Webブラウザの設定内容によって、Webブラウザ内蔵のエラーページが表示される場合があります。

security-constraint (親タグ:web-app)

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による通信であることを保証します。

login-config (親タグ:web-app)

ユーザ認証の方法を定義します。

<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アプリケーションを再配備

security-role (親タグ:web-app)

アクセス制限で使用するセキュリティロールを定義します。

<role-name>
セキュリティロール名を定義します。
ロール名には、セキュリティ機能の運用設定(Interstage ディレクトリサービス)で定義したセキュリティロール名を指定してください。

env-entry (親タグ:web-app)

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またはそのサブクラスが投げられます。

ejb-ref (親タグ:web-app)

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名を指定できます。

ejb-local-ref (親タグ:web-app)

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)を定義します。

resource-env-ref (親タグ:web-app)

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名を指定できます。

resource-ref (親タグ:web-app)

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
javax.jms.QueueConnectionFactory

JavaMailの場合

javax.mail.Session

URLの場合

java.net.URL

<res-auth>
リソースの接続情報を、アプリケーションコンポーネントコードがプログラムで指定するかまたはWebコンテナが指定するかを定義します。
詳細は、「6.6 リソースアクセス時の認証情報」を参照してください。
リソースに対する接続情報を設定する箇所を定義します。
以下の値を指定します。

  • Application
    アプリケーションコンポーネントコード(Webアプリケーション側)で接続情報を設定します。

  • Container
    コンテナが接続情報を設定します。コンテナは、リソース定義で設定した接続情報を使用します。

<mapped-name>
参照するオブジェクトの実際のJNDI名を指定できます。

message-destination-ref (親タグ:web-app)

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タグへのリンクを定義します。

persistence-context-ref (親タグ:web-app)

Webアプリケーションで参照する永続性コンテキスト参照を定義します。

<description>
説明を定義します。

<persistence-context-ref-name>
永続性コンテキスト参照名は、Webアプリケーションが永続性コンテキストを識別するために任意に指定できます。
java:comp/envコンテキストからの相対名で定義します。
例) persistence/xxxxx

<persistence-unit-name>
永続性コンテキストに関連付けられている永続性ユニット名を指定します。永続性ユニット名はpersistence.xmlファイルで定義されている必要があります。

persistence-unit-ref (親タグ:web-app)

Webアプリケーションで参照する永続性ユニット参照を定義します。

<description>
説明を定義します。

<persistence-unit-ref-name>
永続性ユニット参照名は、Webアプリケーションが永続性ユニットを識別するために任意に指定できます。
java:comp/envコンテキストからの相対名で定義します。
例) persistence/xxxxx

<persistence-unit-name>
永続性ユニット名を指定します。永続性ユニット名はpersistence.xmlファイルで定義されている必要があります。

message-destination (親タグ:web-app)

Webアプリケーションで参照するDestinationを定義します。

<message-destination-name>
Destination名は、message-destination-refタグからリンクする名前を定義します。

<mapped-name>
参照するオブジェクトの実際のJNDI名を指定できます。

locale-encoding-mapping-list (親タグ:web-app)

ロケールと文字コードの対応を定義します。

<locale-encoding-mapping>
ロケールと文字コードの対応を定義します。

<locale>
ISO-639-1とISO-3166で定義されたロケールを指定します。

<encoding>
ロケールに対応させる文字コードを指定します。

jsp-config (親タグ:web-app)

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事前コンパイル」を参照してください。

4.2.2.3 デフォルトのmimeタイプ

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

pdf

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