13.web.xmlのまとめ2005.09.05 株式会社四次元データ 宮澤了祐 J2EE2.3からJ2EE2.4への変更J2EE2.4にバージョンアップした際に、web.xmlがDTDベースからXMLSchemaベースに変更になりました。 そのため、2.4の機能を使用したい場合はWeb.xmlに変更を加える必要があります。 2.3では
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<webapp>
...
</webapp>
でしたが、2.4では
<web-app 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/web-app_2_4.xsd"
version="2.4">
...
</web-app>
と、いう形になりました。 DTDとの後方互換を保つために、XMLSchemaでもDTDと同じ順番で記述する必要があります。 各項目の解説以下の要素があります。
項目の後ろに何もかかれていない場合は、必ず記述しなければなりません。
<icon> - ?GUIツールで表示するアイコン(JPEGまたはGIF画像)を指定します。
例 <icon> <small-icon>./gif/icon.gif</small-icon> </icon> <display-name> - ?IDEなどのGUIツールや、ログなどに出力する名前を指定します。 例 <display-name>MyServletName</display-name> <description> - ?説明文です。 <description>サーブレットについての解説です。</description> <distributable> - ?クラスタリングを行う場合指定します。 例 <distributable /> <context-param> - *アプリケーションの初期パラメーターを指定します。
例 <context-param> <param-name>param1</param-name> <param-value>100</param-value> </context-param> <context-param> <param-name>param2</param-name> <param-value>200</param-value> <description>param2の値です。</description> </context-param> <filter> - *フィルタを設定します。filter-mappingで指定することで有効になります。
例 <filter> <filter-name>Encoding</filter-name> <filter-class>EncodingFilter</filter-class> </filter> <filter-mapping> - *フィルタを適応するURLまたはServletを指定します。
例 <filter-mapping> <filter-name>Encoding</filter-name> <url-pattern>/servlet/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> <listener> - *リスナーを指定できます。
例
<listener>
<listener-class>InitializationListener</listener-class>
</listener>
<servlet> - *サーブレットの定義を行います。
例
<servlet>
<servlet-name>Sample</servlet-name>
<servlet-class>SampleServlet</servlet-class>
<init-param>
<param-name>min</param-name>
<param-value>5</param-value>
</init-param>
<init-param>
<param-name>max</param-name>
<param-value>10</param-value>
</init-param></servlet>
<servlet-mapping> - *<servlet>で定義したサーブレットを呼び出すURLを指定します。
<servlet-mapping> <servlet-name>Sample</servlet-name> <url-pattern>sample.html</url-pattern> </servlet-mapping> <session-config> - ?セッションの初期値を指定します。
<session-config> <session-timeout>30</session-timeout> </session-config> <mime-mapping> - *ファイルの拡張子と、MIMEマッピングのタイプを指定します。
<mime-mapping> <extension>hdml</extension> <mime-type>text/x-hdml</mime-type> </mime-mapping> <welcome-file-list> - *ウェルカムページの設定を行います。
<welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>time.jsp</welcome-file> </welcome-file-list> <error-page> - *エラーページを指定します。
<error-page> <error-code>505</error-code> <location>/error/505.html</location> </error-page> <error-page> <exception-type>javax.servlet.ServletException</exception-type> <location>/error/error.jsp</location> </error-page> <jsp-config>(2.4のみ) - *J2EE2.4のみ存在します。JSPの各種情報を定義します。
例
<jsp-config>
<taglib>
<taglib-uri>http://jakarta.apache.org/struts/tags-bean</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
</taglib>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
</jsp-property-group>
</jsp-config>
<resource-env-ref> - *リソース環境への参照を定義します。
例
<resource-env-ref>
<resource-env-ref-name>jms/Test</resource-env-ref-name>
<resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
</resource-env-ref>
<resource-ref> - *外部リソースへの参照を定義します。
例 <resource-ref> <res-ref-name>jdbc/datasource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>CONTAINER</res-auth> </resource-ref> <security-constraint - *アクセス制限の設定を行います。
例
<security-constraint>
<web-resource-collection>
<web-resource-name>admin page</web-resource-name>
<url-pattern>/admin/*</url-pattern>
<url-pattern>/root/*</url-pattern>
<http-method>GET</http-method>
</web-resource-collection>
<web-resource-collection>
<web-resource-name>support page</web-resource-name>
<url-pattern>/support/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint> <user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config> - *フォーム認証やレルムなど、認証に関連する設定を行います。
例 <login-config> <auth-method>BASIC</auth-method> <realm-name>admin page</realm-name> </login-config> <security-role> - *セキュリティロールを設定します。
例 <security-role> <role-name>admin</role-name> </security-role> <security-role> <role-name>support</role-name> </security-role> <env-entry> - *環境エントリの設定です。
例 <env-entry> <env-entry-name>test/string</env-entry-name> <env-entry-value>Hello World</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry> <ejb-ref> - *EJB参照の定義です。
例 <ejb-ref> <ejb-ref-name>ejb/EjbSession</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>sample.EjbSessionHome</home> <remote>sample.EjbSessionRemote</remote> <ejb-link>EjbSession</ejb-link> </ejb-ref> <ejb-local-refEJB参照のlocal-homeの定義です。
例 <ejb-local-ref> <ejb-ref-name>ejb/EjbSession</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <local-home>sample.EjbSessionHome</home> <local>sample.EjbSessionRemote</home> <ejb-link>EjbSession</ejb-link> </ejb-local-ref> <message-destination-refmessage-destinationへの参照の定義です。
例 <message-destination-ref> <message-destination-ref-name>jms/sample</message-destination-ref-name> <message-destination-type>javax.jms.Queue</message-destination-type> <message-destination-usage>Produces</message-destination-usage> <message-destination-link>destination</message-destination-link> </message-destination-ref> <message-destination> - *message-destinationの設定を行います。
例 <message-destination> <message-destination-name>destination</message-destination-name> </message-destination> <locale-encoding-mapping-list> - ?ロケールおよび文字エンコードのマッピングです。 javax.servlet.ServletResponseのsetLocale()メソッドが呼ばれた時に参照され、指定したロケールに対応する文字コードが設定されます。
例
<local-encoding-mapping-list>
<local-encoding-mapping>
<locale>ja_JP</locale>
<encoding>EUC-JP</encoding>
</locale-encoding-mapping>
<locale-encoding-mapping>
<locale>ko_KR</locale>
<encoding>EUC-KR</encoding>
</locale-encoding-mapping>
</locale-encoding-mapping-list>
|
![]()
![]()
|