JAX-RS(Jersey)とSpring3の連携

No Comments

WebアプリケーションフレームワークとしてSpringを使ってみる。

その勉強の手始めにこれまでの記事で作成したJAX-RS(Jersey)のMavenプロジェクトをSpringに対応させてみた。

Mavenを用いて,JAX-RS(Jersey)で作成したWeb APIをJettyのServletコンテナで動かす

参考にさせていただいたのは
ぺーぺーSEの日記 – Spring 3でHello World REST (Jersey)
である。

使用したMavenは3.0.4である。

Mavenプロジェクトの雛形を作る

すると,下記のような構成のプロジェクトが生成される。

pom.xmlの記述

Jettyのサーブレットコンテナを使えるように設定。

applicationContext.xmlの作成

このファイルも必要らしい。
下記のように記述する。
このファイルはresourceフォルダ内に設置する。

web.xmlの記述

下記のように記述する。

Spring + Jerseyのサービスの作成

下記のRestTest.javaをsrc/main/java/jp/ne/sakura/www1205ufディレクトリにおいた。

最終的な構成

これまでの手順を踏むと,最終的なファイル・ディレクトリ構成は下記のようになる。

ビルドとローカルリポジトリへのインストール

下記のコマンドを実行する。

実行

APIには下記のURIでアクセスできる。

http://localhost:9095/rest/hello

すると

と表示されるはずである。


Mavenを用いて,JAX-RS(Jersey)で作成したWeb APIをJettyのServletコンテナで動かす

1 Comment

Mavenを用いると前頁の手順が非常に簡略化される。

JAX-RS(Jersey)で作成したWeb APIをJettyのServletコンテナで動かす

実行はWindows7上で行い,JAX-RSの実装は全ページ同様Jerseyを用いている。

Mavenのバージョンは3.0.4を用いた。(インストール方法については省略)

プロジェクトの構成

Mavenのデフォルトの構成を用いて下記のような構成にする。

web.xmlやソース(.java)には前頁で作成したものをそのまま入れる。

pom.xmlの記述

下記のように記述する。

ビルドとローカルリポジトリへのインストール

下記のコマンドを実行する。
するとローカルリポジトリ(デフォルトだと~/.m2)に.warのファイルがインストールされる。

実行

APIには下記のURIでアクセスできる。

http://localhost:9095/rest/hello

すると

と表示されるはずである。


JAX-RS(Jersey)で作成したWeb APIをJettyのServletコンテナで動かす

1 Comment

RESTの勉強にJAX-RSを触ってみた。
そこで,作成したコードをJettyのServletコンテナ上で動かしてみる。

Jettyをアプリに組み込んで,プログラム中から起動するケースの方が多いようだけれど,Jettyの勉強も兼ねて。

JAX-RSの実装に関してはJerseyを用いた。また,実行環境はUbuntu10.04である。

使用したMavenは3.0.4である。

Jettyのインストール

下記のEclipseのサイトからJettyをダウンロードする。

eclipse.org/jetty

2012/5/6現在での最新バージョンは8.1.3.v20120416であった。
ダウンロードして,インストールするディレクトリに解凍する。

JAX-RSサービスの作成

下記のようなサービスのクラスを作成する。
ファイル名はRestTest.javaとした。
このサービスはhttp://[ドメイン]:[ポート番号]/[アプリ名]/helloのURIに対し,”Hello World”のレスポンスボディを返す。

Jerseyのダウンロード

下記の公式ページからjarseyのzipをダウンロードする。
(For the convenience of non-maven developers the following are provided:の項目)

Jersey.java.net

2012/5/6現在でjersey-archive-1.12.zipというファイルをダウンロードできた。
これを任意のディレクトリに保存し解凍する。

web.xmlの作成

次に,下記のようなweb.xmlファイルを作成する。
このファイルは後ほどwarファイルにパッケージングすることになる。

warファイルを作成する

warファイルを作成するために,下記のような構成にする。
先程,ダウンロードしたJerseyのlibディレクトリ中のjarファイルをすべてコピーして配置する。

その後,warファイル作成用ディレクトリにて下記のコマンドを入力してwarファイルにパッケージング。

JettyのServletコンテナに配置

ServletアプリをJettyのServletコンテナに配置するための構成は下記のようになる。

実行

[jettyのインストールディレクトリ]に入って下記のコマンドを実行して起動する。

作成したRESTのAPIにアクセスする際は下記のようなURIを用いる。ブラウザのナビゲーションバーに貼り付けるなどして試す。

すると,下記のように表示されるはず。


Mavenを用いると上記の操作が非常に簡略化される。これについては次回。