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
GettingStarted  

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

T2の具体的なセットアップや動かし方を学びます.

HelloWorld

はじめに、ブラウザから"http://localhost:8080/sample/helloworld"にアクセスし、画面に"HelloWorld"と表示させてみましょう.

手順としては以下のようになります.

  1. 実行環境を用意する
  2. T2に必要なjarファイルを用意する
  3. T2の設定を行う
  4. ブラウザからのリクエストを処理するクラスを作成する

では、T2を動かすための環境を用意しましょう.

実行環境を用意する

T2の実行には、JREとWebコンテナが必要です.

JRE

T2ではJRE6以上必須です.こちらからダウンロードできます.

Webコンテナ

T2は以下のJavaEE仕様に依存しています.

  • Servlet2.5
  • JSP2.0

例えばTomcatであればバージョン6以降を使用してください. その他のWebコンテナも、最新の物であれば動作します.

T2に必要なjarファイルを用意する

T2の実行には、以下のjarファイルが必要です.

  • t2.jar
    • T2本体
  • commons.jar
    • 共通ユーティリティ群
  • slf4j-api.jar
    • ロギング処理のラッパーライブラリ(slf4j
  • logback-core.jar
  • logback-classic.jar
    • ロギングライブラリ(logback

logbackの代わりに、その他のロギングライブラリ(log4j,JDKLogger)も使用することが出来ます. その場合は、slf4jから各ロギングライブイブラリ用の追加jarをダウンロードしてください.

T2の設定を行う

T2の設定は、web.xmlに記述します。

<?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>

T2が動作するのに必要なのは、org.t2framework.t2.filter.T2Filterクラスです. このT2Filterが全てのリクエストを受け取り、処理を行います.

T2Filterには、初期パラメータとして「t2.rootpackage」を指定します. このパラメータの値として、ブラウザからのリクエストを処理するクラスが入っているパッケージを指定します. T2は、このパッケージ以下(サブパッケージも含む)の@Pageアノテーションがついているクラスを探し、登録を行います.

なお、詳しい説明はConfigurationのページを参照して下さい.

ブラウザからのリクエストを処理するクラスを作成する

ブラウザからのリクエストを受け取るクラスを、Pageクラスと呼びます. Pageクラスは、次のように作成します.

@Page("/helloworld")
public class HelloPage {

}

Pageクラスには、まず@Pageアノテーションを付与します.

@Pageアノテーションの値に設定するのは、コンテキストルート以下のパスになります.

コンテキストルートが"/sample"の場合に、"http://localhost:8080/sample/helloworld"のリクエストを処理するために、Pageアノテーションの値に"/helloworld"を設定します.

このアノテーションを付与する事で、特定のURLをPageクラスにひもづけられます.

次に、処理を行うメソッド(T2ではアクションメソッドと呼びます)を作成します。

@Page("/helloworld")
public class HelloPage {

	@Default
	public Navigation index() {
		String message ="HelloWorld";
		return SimpleText.out(message);
	}
}

アクションメソッドには、アノテーションを付与します。この例では「@Default」アノテーションを付与しています.

メソッドにつけるアノテーションは、そのメソッドがどういった条件で呼び出されたいか(例えばGETリクエストの時だけ呼び出されたい、など)をT2に知らせるためのマーカーです.

@Defaultアノテーションは、Pageクラスが呼び出された時に、デフォルトで呼び出されるメソッドにつけるアノテーションです. このサンプルでは、アクションメソッドに@Defaultを付与して、T2から呼び出されるようにしています. (メソッドに付与する各種アノテーションについては、別途説明を行います)

メソッドでは、戻り値でNavigationを返します. Navigationは、T2に次の処理を指定するためのインターフェースです.このサンプルでは、"HelloWorld"という文字列を単にブラウザに返すだけなので、 Navivationインターフェースを実装したSimpleTextクラスを使用して、"SimpleText.to(message)"としています. (ほかにも、JSPにフォワードするNavigationや、リダイレクトするNavigationなどがあります。これらについては別途説明を行います)

以上で設定・実装は終了です.Webコンテナに配備することで、"HelloWorld"が表示される事が確認出来ると思います。

TOPに戻る

Powered by Google Project Hosting