My favorites | Sign in
t-2
Project Home Downloads Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
Configuration  

ja, en
Updated Mar 24, 2011 by shinpei.ohtani@gmail.com

T2の設定関連についてまとめてみました.

設定

T2の動作設定は、web.xmlで行います.設定項目も特に多くないのが特徴です.

T2本体の設定

最低限必要な動作設定は、以下の通りになります.

<?xml version="1.0" encoding="ISO-8859-1"?>
<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_2_5.xsd"
    version="2.5">

	<filter>
		<filter-name>t2</filter-name>
		<filter-class>org.t2framework.t2.filter.T2Filter</filter-class>
		<init-param>
			<param-name>t2.rootpackage</param-name>
			<param-value>sample.page</param-value>
		</init-param>
	</filter>

	<filter-mapping>
		<filter-name>t2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

</web-app>

この設定で、すべてのリクエストがT2Filterで処理出来るようになります.

T2Filterには、以下の項目が設定できます.

設定項目 必須/任意 デフォルト値 説明
t2.rootpackage 必須 なし このパッケージ以下(サブパッケージ含む)のPageクラスを読み込みます.カンマ区切りで複数指定可能.
t2.container.adapter 任意 SimpleContainerAdapter IoCコンテナとの連携機能.標準ではT2内蔵のSimpleContainerAdapterが使われる.
t2.config 任意 なし IoCコンテナの任意の設定ファイルを使うときに指定.
t2.exclude-resources 任意 なし T2が処理を行わないリソースを指定します(例:.css,.js).カンマ区切りで複数指定可能.リクエスト文字列とendWithで比較します.静的なコンテンツがある場合は、このパラメータを指定したほうがパフォーマンス的にも有利です.
t2.amf 任意 auto AMF3通信時に使用する実装を指定する.autoの場合、BlazeDSのjarの有無で決定します.値として、"t2amf"と"blazeds"の指定が可能.
t2.eagerload 任意 true Pageクラスを、T2側からContainerAdapterに登録するかどうか.このメソッドは0.6にて廃止されています.
t2.components 任意 なし SimpleContainerAdapterで初期登録するコンポーネントを記述できる設定です.
t2.mutipart.handler 任意 MultipartRequestHandlerImpl マルチパート処理を行う、MultipartRequestHandlerインターフェースの実装クラス.

T2のeagerloadオプションの指定は0.6から廃止されました. ContainerAdapterにeagerloadオプションの設定を持たせています.

具体的にはSimpleContainerAdapterのeagerloadオプションのみtrueになるように設定しており、 各DIコンテナ用のアダプタは各コンテナに管理を任せるようにeagerloadオプションをfalseにしています.

設定例

サンプルとして以下のような場合を考えて見ましょう.

  • ルートパッケージに「examples.employee.page」, 「examples.admin.page」を使用.
  • IoCコンテナにSeasar2を使用する
  • Seasar2の設定ファイルとしてapp.diconを指定する
  • 静的コンテンツとして、html,js.css,jpeg,pngを使用する

サンプルの設定は下記のようになります.

<?xml version="1.0" encoding="ISO-8859-1"?>
<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_2_5.xsd"
    version="2.5">

	<filter>
		<filter-name>t2</filter-name>
		<filter-class>org.t2framework.t2.filter.T2Filter</filter-class>
		<!-- ルートパッケージの指定 -->
		<init-param>
			<param-name>t2.rootpackage</param-name>
			<param-value>examples.employee.page, examples.admin.page</param-value>
		</init-param>
		<init-param>
			<param-name>t2.container.adapter</param-name>
			<param-value>org.t2framework.t2.adapter.S2Adapter</param-value>
		</init-param>
		<!-- 設定ファイルの読み込み -->
		<init-param>
			<param-name>t2.config</param-name>
			<param-value>app.dicon</param-value>
		</init-param>
		<!-- T2で処理しないリソースの指定 -->
		<init-param>
			<param-name>t2.exclude-resources</param-name>
			<param-value>.html,.css,.js,.jpeg,.png</param-value>
		</init-param>
	</filter>

	<filter-mapping>
		<filter-name>t2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

</web-app>

Filter設定項目の詳細

ルートパッケージ指定(t2.rootpackage)

T2ではPageクラスのあるルートパッケージ指定を必ず一つ以上指定しなくては行けません. 複数指定する場合はカンマ区切りで複数指定します.
以下のような設定になります.
		<init-param>
			<param-name>t2.rootpackage</param-name>
			<param-value>examples.employee.page, examples.admin.page</param-value>
		</init-param>

コンテナアダプタの指定(t2.container.adapter)

コンテナアダプタの指定は任意です.指定を省略した場合、T2のデフォルト実装であるSimpleContainerAdapterが使われます. この項目で指定するコンテナアダプタはユーザが独自実装することも可能です.その場合は設定項目にクラスまでのFQCNを指定してください. 以下のようになります.
		<init-param>
			<param-name>t2.container.adapter</param-name>
			<param-value>org.yourdomain.youradapter.YourAdapter</param-value>
		</init-param>

カスタマイズの詳細はContainerAdapterのAPIを参照してください.

(t2.exclude-resources)

(t2.amf)

(t2.eagerload)

(t2.components)

(t2.multipart.handler)

その他の設定項目の詳細

エンコーディング指定(t2.encoding)

t2.encoding : エンコーディング指定. このパラメータで指定したエンコーディングを、HttpServletRequest#setCharacterEncoding()にセットします.

	<context-param>
		<param-name>t2.encoding</param-name>
		<param-value>UTF-8</param-value>
	</context-param>

このパラメータ指定を行わない場合、「UTF-8」がデフォルトエンコーディングとしてセットされます.

TOPに戻る

Powered by Google Project Hosting