Webアプリケーション環境定義ファイル(web.xml)には、以下を登録してください。
登録内容 | 説明 |
|---|---|
JavaServer Facesのサーブレット | servletタグ、およびservlet-mappingタグを利用して定義します。 |
Apcoordinatorのファクトリクラス名 | 初期化パラメタ(factory)を利用して定義します。 |
UJIタグ用のタグライブラリファイル | UJIタグを利用する場合は必要です。 |
次にweb.xmlの例を示します。
<?xml version="1.0" encoding="UTF-8"?>
<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 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<context-param>
<param-name>factory</param-name>
<param-value>mypkg.MyFactory</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<jsp-config>
<taglib>
<taglib-uri>ujijsf-taglib</taglib-uri>
<taglib-location>/WEB-INF/ujijsf.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>
注意
JavaServer Facesの仕様では、UIコンポーネントの状態の保存場所としてクライアントまたはサーバを指定できます。UIコンポーネントの状態の保存場所を指定するには、コンテキストパラメタjavax.faces.STATE_SAVING_METHODにclient(クライアントで保存)またはserver(サーバで保存)を指定します。省略時は、サーバとなります。保存場所としてクライアントを指定した場合、UIコンポーネントの状態がシリアライズされた形式で隠しパラメタに保存されるため、以下のセキュリティ上の問題があります。このため、コンテキストパラメタjavax.faces.STATE_SAVING_METHODは、省略するかserverに設定することを推奨します。
悪意を持った第三者が、ブラウザに残ったキャッシュから隠しパラメタを読み出し、デコードすることによって画面に入力されたデータを読み取る可能性があります。
悪意を持った第三者が、シリアライズしたデータを作成しリクエストパラメタとして送信することで、任意のUIコンポーネントツリーをサーバ側に作成する可能性があります。