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