| MAP | PageMixer ドキュメント > チュートリアル > Servlet 環境における利用 > 配備 | << | >> |
本節では、
PageServlet をマッピングする配備記述子の記述例を示します。
LocalePageServlet の設定LocalePageServlet Servlet の定義例を以下に示します。
本定義例は、src/bin 配布版の
src/demo/servlet/war/WEB-INF/web.xml からのものです。
<servlet>
<servlet-name>
limited.page
</servlet-name>
<servlet-class>
jp.ne.dti.lares.foozy.pagemixer.servlet.LocalePageServlet
</servlet-class>
<init-param>
<param-name>
servlet.contextFactory
</param-name>
<param-value>
pagemixer.servlet.CustomContextFactory
</param-value>
</init-param>
<init-param>
<param-name>
servlet.localeFactory
</param-name>
<param-value>
pagemixer.servlet.CustomLocaleFactory
</param-value>
</init-param>
<init-param>
<param-name>
forward.condition.0
</param-name>
<param-value>
pagemixer.servlet.NotLoginCondition
</param-value>
</init-param>
<init-param>
<param-name>
filter.factory.0
</param-name>
<param-value>
pagemixer.filter.CommonFilter$Factory
</param-value>
</init-param>
<init-param>
<param-name>
filter.factory.1
</param-name>
<param-value>
pagemixer.filter.AuthFilter$Factory
</param-value>
</init-param>
<init-param>
<param-name>
page.location
</param-name>
<param-value>
page.demosite.limited
</param-value>
</init-param>
</servlet>
LocalePage による Servlet本設定は、 以下に示すカスタマイズストラテジの置換から構成されています。
| 名前 | 対象 | 説明 |
|---|---|---|
servlet.contextFactory |
LocalePage |
デフォルト実装の代替として
"CustomContextFactory" を使用 |
servlet.localeFactory |
LocalePage |
デフォルト実装の代替として
"CustomLocaleFactory" を使用 |
本設定の場合、 他のカスタマイズポイントに関しては、 デフォルトストラテジが使用されます。
上記例における他の初期化パラメータは、 カスタマイズストラテジを設定するために使用されます。
| 名前 | 対象 | 説明 |
|---|---|---|
forward.condition.0 |
ForwardStrategy |
"NotLoginCondition" を
"ForwardCondition" 実装として登録
|
filter.factory.0 |
FilterFactory |
"CommonFilter$Factory" を
"Filter.Factory" 実装として登録
|
filter.factory.1 |
FilterFactory |
"AuthFilter$Factory" を
"Filter.Factory" 実装として登録
|
page.location |
LocalePage |
"page.demosite.limited" を
"ResourceBundle" 取得用のベース名として使用
|
上記の page.location 設定は、
page/demosite/limited_*.properties ファイルが、
WEB-INF/classes や
WEB-INF/lib 直下の
JAR ファイルを含むクラスローディングパス上において、
可視であることが要求されます。
例えば、
limited_ja.properties は以下のような内容です。
contentType:text/html; charset=Windows-31J location:/WEB-INF/page/demosite/limited.ja.html #"encoding" は省略可能 #encoding:Windows-31J
limited_ja.properties の内容以上の設定の上で、 この Servlet は以下のような設定によりマッピングされます。
<servlet-mapping>
<servlet-name>
limited.page
</servlet-name>
<url-pattern>
/demosite/limited.page
</url-pattern>
</servlet-mapping>
LocalePageServlet
Servlet のマッピングI18NDefaultPageServlet のマップI18NDefaultPageServlet Servlet の定義例を以下に示します。
この定義例も src/bin 配布版の
src/demo/servlet/war/WEB-INF/web.xml からのものです。
<servlet>
<servlet-name>
DefaultPage
</servlet-name>
<servlet-class>
jp.ne.dti.lares.foozy.pagemixer.servlet.I18NDefaultPageServlet
</servlet-class>
<init-param>
<param-name>
servlet.contextFactory
</param-name>
<param-value>
pagemixer.servlet.CustomContextFactory
</param-value>
</init-param>
<init-param>
<param-name>
servlet.localeFactory
</param-name>
<param-value>
pagemixer.servlet.CustomLocaleFactory
</param-value>
</init-param>
<init-param>
<param-name>
filter.factory.0
</param-name>
<param-value>
pagemixer.filter.CommonFilter$Factory
</param-value>
</init-param>
<init-param>
<param-name>
page.contentType
</param-name>
<param-value>
text/html; charset=iso-8859-1
</param-value>
</init-param>
<init-param>
<param-name>
page.suffix.0
</param-name>
<param-value>
.ja.html
</param-value>
</init-param>
<init-param>
<param-name>
page.contentType.0
</param-name>
<param-value>
text/html; charset=Windows-31J
</param-value>
</init-param>
</servlet>
I18NDefaultPage による Servlet本設定は、
LocalePageServlet
におけるものと同様のカスタマイズストラテジの置換から構成されています。
以下に示す初期化パラメータは、 カスタマイズストラテジを設定するために使用されます。
| 名前 | 対象 | 説明 |
|---|---|---|
filter.factory.0 |
FilterFactory |
"CommonFilter$Factory" を
"Filter.Factory" 実装として登録
|
page.contentType |
I18NDefaultPage |
"text/html; charset=iso-8859-1" をデフォルトコンテントタイプとして使用 |
page.suffix.0 |
I18NDefaultPage |
".ja.html" で終了する URI を特例とする
|
page.contentType.0 |
I18NDefaultPage |
"page.suffix.0" で指定された
".ja.html" で終了する URI への要求に対して
"text/html; charset=Windows-31J" をコンテントタイプとして使用する
|
以上の設定の上で、 この Servlet 以下のような設定によりマッピングされます。.
<servlet-mapping>
<servlet-name>
DefaultPage
</servlet-name>
<url-pattern>
*.html
</url-pattern>
</servlet-mapping>
I18NDefaultServlet
Servlet のマッピング| MAP | PageMixer ドキュメント > チュートリアル > Servlet 環境における利用 > 配備 | << | >> |