この章で説明する開発例では,RESTful Webサービス(Webリソース)を開発します。ルートリソースクラスのほか,サブリソースクラスと例外マッピングプロバイダも実装します。
開発するWebリソースの構成を次の表に示します。なお,この開発例は次のディレクトリにサンプルとして提供されています。
<インストールディレクトリ>¥jaxrs¥samples¥tutorial¥
表12-1 Webリソースの構成
項番 | 項目 | 値 |
---|---|---|
1 | デプロイするJ2EEサーバの名称 | jaxrsserver |
2 | Webサーバのホスト名とポート番号 | webhost:8085 |
3 | ネーミングサーバのURL | corbaname::testserver:900 |
4 | コンテキストルート | tutorial |
5 | ルートリソースクラスのコンテキストパス | root |
6 | ルートリソースクラス | com.sample.resources.Resource |
7 | サブリソースクラス | com.sample.resources.SubResource |
8 | 例外マッピングプロバイダ | com.sample.providers.RuntimeExceptionMapper |
Webリソース開発時のカレントディレクトリの構成を次の表に示します。
表12-2 カレントディレクトリの構成
ディレクトリ | 説明 | |||
---|---|---|---|---|
c:¥temp¥jaxrs¥works¥tutorial | カレントディレクトリです。 | |||
┣ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ | server¥ | Webリソースの開発で使用します。 | ||
┣ ┃ ┃ ┃ ┃ | META-INF¥ | EARファイルのMETA-INFディレクトリに対応します。 | ||
┗ | application.xml | 「12.3.4 application.xmlを作成する」で作成します。 | ||
┣ ┃ | src¥ | Webリソースのソースファイル(*.java)を格納します。「12.3.1 ルートリソースクラスを作成する」で使用します。 | ||
┣ ┃ ┃ ┃ ┃ ┃ | WEB-INF¥ | WARファイルのWEB-INFディレクトリに対応します。 | ||
┣ | web.xml | 「12.3.3 web.xmlを作成する」で作成します。 | ||
┗ | classes¥ | コンパイルしたクラスファイル(*.class)を格納します。「12.3.2 Javaソースをコンパイルする」で使用します。 | ||
┣ | tutorial.ear | 「12.3.5 EARファイルを作成する」で作成します。 | ||
┗ | tutorial.war | |||
┗ | client¥ | Webリソースクライアントの開発で使用します。 | ||
┣ ┃ ┃ ┃ ┃ ┃ | src¥ | Webリソースクライアントのソースファイル(*.java)を格納します。「12.5.1 Webリソースクライアントの実装クラスを作成する(クライアントAPIを利用する)」または「12.5.2 Webリソースクライアントの実装クラスを作成する(java.net.HttpURLConnectionを利用する)」で作成します。 | ||
┣ ┃ ┃ | classes¥ | コンパイルしたクラスファイル(*.class)を格納します。「12.3.2 Javaソースをコンパイルする」で作成します。 | ||
┣ ┃ ┃ | usrconf.cfg | 「12.6.1 Javaアプリケーション用オプション定義ファイルを作成する」で作成します。 | ||
┗ | usrconf.properties | 「12.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する」で作成します。 |
カレントディレクトリのパスは,開発する環境に合わせて変更してください。
なお,以降の説明では,この表に示すディレクトリおよびファイル名を使用します。コマンド実行例やJavaソースなどで太字になっている部分は,この例で使用する指定値や生成される値を示します。構築する環境に合わせて読み替えてください。
また,この章で説明する開発例では,WebリソースとWebリソースクライアントを同じ環境で開発しますが,別の環境で開発することもできます。別の環境で開発する場合は,それぞれの環境に合わせて,カレントディレクトリのパスを読み替えてください。