Restletを試してみる。
1.ライブラリの取得
サーブレットコンテナ(Tomcat)上で動かすので、Edition for Java EE をダウンロード
(2011/9/4時点、2.0.9)
http://www.restlet.org/downloads/stable
2.Eclipseでの開発
1.プロジェクトの新規作成(動的Webプロジェクト)
プロジェクト名(sampleRestlet)
2.ServerResource のサブクラスを作成
モデルクラスのようなレイヤーのようです。
アノテーション @Get でこのクラスを呼び出すと実行されるメソッドを指定するようだ。
今回は hello,world を返却するメソッドを1つのみ実装
例)
public class HelloWorldResource extends ServerResource {
@Get
public String represent(){
return "hello, world";
}
}
3.Application のサブクラスを実装
コントローラクラスのようなレイヤーのようです。
web.xmlで、RestletのサーブレットクラスとMappingさせます。
ここで、URL毎にServerResource のサブクラスとのルーティング(呼び出しの制御)を行う
例)
public class FirstStepsApplication extends Application {
@Override
public synchronized Restlet createInboundRoot(){
Router router = new Router(getContext());
// アプリ名/hello で HelloWorldResource.class のメソッドを呼び出す。
router.attach("/hello",HelloWorldResource.class);
return router;
}
}
4.サーブレット(リクエスト)とApplication のサブクラスのマッピング
web.xmlの設定
Restletの実行URLを定義
<servlet-mapping>
<servlet-name>RestletServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
このアプリケーション内の全てのアクセスをRestletで処理させる
<servlet>
<servlet-name>RestletServlet</servlet-name>
<servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
<init-param>
<!-- Application class name -->
<param-name>org.restlet.application</param-name>
<param-value>firstSteps.FirstStepsApplication</param-value>
</init-param>
</servlet>
Restletで処理する場合に、実行する application のサブクラス(firstSteps.FirstStepsApplication)を指定
5.ライブラリの追加
org.restlet.jar
org.restlet.ext.servlet.jar
を WEB-INF/lib に配置
Eclipseでは、Web Appライブラリとして認識されていること。
6.Tomcat起動
7.実行
http://localhost:8080/sampleRest/hello
画面に hello, world が表示される。
参考HP
http://wiki.restlet.org/docs_2.0/13-restlet/275-restlet/312-restlet.html
1.ライブラリの取得
サーブレットコンテナ(Tomcat)上で動かすので、Edition for Java EE をダウンロード
(2011/9/4時点、2.0.9)
http://www.restlet.org/downloads/stable
2.Eclipseでの開発
1.プロジェクトの新規作成(動的Webプロジェクト)
プロジェクト名(sampleRestlet)
2.ServerResource のサブクラスを作成
モデルクラスのようなレイヤーのようです。
アノテーション @Get でこのクラスを呼び出すと実行されるメソッドを指定するようだ。
今回は hello,world を返却するメソッドを1つのみ実装
例)
public class HelloWorldResource extends ServerResource {
@Get
public String represent(){
return "hello, world";
}
}
3.Application のサブクラスを実装
コントローラクラスのようなレイヤーのようです。
web.xmlで、RestletのサーブレットクラスとMappingさせます。
ここで、URL毎にServerResource のサブクラスとのルーティング(呼び出しの制御)を行う
例)
public class FirstStepsApplication extends Application {
@Override
public synchronized Restlet createInboundRoot(){
Router router = new Router(getContext());
// アプリ名/hello で HelloWorldResource.class のメソッドを呼び出す。
router.attach("/hello",HelloWorldResource.class);
return router;
}
}
4.サーブレット(リクエスト)とApplication のサブクラスのマッピング
web.xmlの設定
Restletの実行URLを定義
<servlet-mapping>
<servlet-name>RestletServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
このアプリケーション内の全てのアクセスをRestletで処理させる
<servlet>
<servlet-name>RestletServlet</servlet-name>
<servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
<init-param>
<!-- Application class name -->
<param-name>org.restlet.application</param-name>
<param-value>firstSteps.FirstStepsApplication</param-value>
</init-param>
</servlet>
Restletで処理する場合に、実行する application のサブクラス(firstSteps.FirstStepsApplication)を指定
5.ライブラリの追加
org.restlet.jar
org.restlet.ext.servlet.jar
を WEB-INF/lib に配置
Eclipseでは、Web Appライブラリとして認識されていること。
6.Tomcat起動
7.実行
http://localhost:8080/sampleRest/hello
画面に hello, world が表示される。
参考HP
http://wiki.restlet.org/docs_2.0/13-restlet/275-restlet/312-restlet.html