JAVA EE デプロイメントディスクリプタ
デプロイメントディスクイプタとは?
Deployment Descriptor
配置記述子
アプリケーション全体で利用する設定情報ファイル
Tomcatの場合web.xml
・ アプリケーション全体で利用する変数
・ ウェルカムページ、エラーページ
・ 認証情報
等を設定する
記述方法
<?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_3_0.xsd"
version="3.0">
設定値を記述
~
</web-app>
サーブレット登録
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>MyPack.MyServlet</servlet-class>
ドキュメントルート以下のパッケージから下の階層を記述
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/MyPack/MyServlet</url-pattern>
ドキュメントルート以下のパッケージから下の階層を記述
</servlet-mapping>
初期化パラメータ
<context-param>
<param-name>myparam.prm1</param-name>
<param-value>システム開発</param-value>
<param-name>myparam.prm2</param-name>
<param-value>ホームページ作成</param-value>
<param-name>myparam.prm3</param-name>
<param-value>インフラ構築</param-value>
</context-param>
※JSPファイル
<%
String prm1 = application.getInitParameter("myparam.prm1");
String prm2 = application.getInitParameter("myparam.prm2");
String prm3 = application.getInitParameter("myparam.prm3");
%>
<%=prm1 %>
→ システム開発
<%=prm2 %>
→ ホームページ作成
<%=prm3 %>
→ インフラ構築
セッション期限
<session-config>
<session-timeout>10</session-timeout>
単位:分
</session-config>
エラーページ
<error-page>
<exception-type>java.lang.exception</exception-type>
<location>/ErrorServlet</location>
例外発生時にErrorServletへ遷移
</error-page>
<error-page>
<error-code>404</error-code>
<location>/ErrorServlet</location>
404エラー発生時にErrorServletへ遷移
</error-page>
認証
以下の設定が必要
<web-app>
…
<security-constraint>
…
</security-constraint>
<login-config>
…
</login-config>
<security-role>
…
</security-role>
</web-app>
制限領域
<security-constraint>
<web-resource-collection>
<web-resource-name>MyJava</web-resource-name>
<url-pattern>/MyPackage/auth/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
</security-constraint>
ロール
<security-constraint>
<auth-constraint>
<role-name>admin-gui</role-name>
<role-name>manager-gui</role-name>
</auth-constraint>
</security-constraint>
基本認証
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>MyJava</realm-name>
制限領域:web-resource-nameを指定
</login-config>
フォーム認証
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/myPackage/login.jsp</form-login-page>
<form-error-page>/myPackage/login_err.jsp</form-error-page>
</form-login-config>
</login-config>