連載
» 2007年04月19日 00時00分 公開

Webアプリケーションのパッケージングを「やり直す」やり直し「JSPとTomcat」(12)(2/2 ページ)

[吉川和巳,有限会社スティルハウス]
前のページへ 1|2       

web.xmlの書き方を確認しよう!

 さて、WEB-INFディレクトリの直下には、設定ファイルweb.xmlを配置する決まりになっています。同ファイルはDDDeployment Descriptor)ファイルとも呼ばれ、主に以下の設定情報をWebコンテナに伝える役割を担います。

  • サーブレットやJSPページへのURL割り当て
  • エラー・ページ指定
  • 初期化パラメータ指定
  • ウェルカム・ファイル指定
  • セキュリティ保護
  • EJBコンポーネントや各種リソース参照設定

URL割り当て

 以下の例では、サーブレットTestServletにURLを割り当てています。

<?xml version="1.0"?>
<web-app>
    <servlet>
        <servlet-name>TestServlet</servlet-name>
        <servlet-class>sample.TestServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/test</url-pattern>
    </servlet-mapping>
</web-app>

 ここでは、サーブレット・クラスsample.TestServletに対して、/testというURLを割り当てています。よってWebブラウザからは、以下のURLでアクセス可能になります。

http://<ホスト名>/<Webアプリケーションのパス>/test

エラー・ページ指定

 また、以下のように記述することで、特定のHTTPステータスコードや例外が発生した場合に表示するエラー・ページを指定できます。

<error-page>
    <error-code>404</error-code>
    <location>/error.jsp</location>
</error-page>
<error-page>
    <exception-type>java.lang.Throwable</exception-type>
    <location>/error.jsp</location>
</error-page>

そのほかの設定

 そのほか、web.xmlを利用した初期化パラメータ指定やセキュリティ設定については、サーブレット仕様に詳しく記載されています。

WARファイルへのパッケージング

 Java EEのWebアプリケーションは、以上のようなディレクトリ構成でまとめておくことで、TomcatをはじめさまざまなJava EEサーバ製品に簡単に配置して動作させることができます。

 さらに、Webアプリケーションのディレクトリ全体をJARファイルに圧縮し、拡張子を「.war」とすることで、「WAR(Web ARchive)ファイル」と呼ばれるファイル形式にまとめられます。

 例えば、Webアプリケーションの成果物すべてを「foo.war」という1つのWARファイルに収めておけば、同ファイルをTomcatのwebappsディレクトリにコピーするだけで、Tomcatがそれを自動展開してWebアプリケーション「foo」の動作を開始します。

パッケージング&デプロイ

 Java EEでは、このようなWARファイルの作成とWebコンテナへの配置を、それぞれ「パッケージング」と「デプロイ」と呼びます。このパッケージング&デプロイの仕組みによって、Webアプリケーションのポータビリティが高まり、特定のWebコンテナへの依存度を抑えることが可能です。

 ちなみに実際の開発では、ソースコードのコンパイルからWARファイルのパッケージング、そしてWebコンテナへのデプロイまでの一連の作業を、「Ant」などのビルドツールで自動化する方法が一般的です。

編集部注:Antについては詳しく知りたい読者は連載「現場に活かすJakarta Project」の第2回「AntでJavaのビルドを簡単にしよう」を参照してください。

 以上、今回はJava EEにおけるWebアプリケーションのパッケージング方法を紹介しました。本連載はこれにて終了となりますが、これまでご愛読いただきありがとうございました。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。