第2回 サーブレットアプリケーションを実行しよう

アプリケーションの配備

 ここまでの手順で、サーブレットを作成し、実行する手順はお分かりいただけたと思います。最後にアプリケーションの配布に必要な知識について取り上げます。実際には、アプリケーションをテストしている段階でテスト用のTomcatにアプリケーションを配布していますが、ここでは本番環境にアプリケーションを展開する前に、再度内容を確認しましょう

 アプリケーションを配布する際には、通常、Webアーカイブ(Web ARchive・WARファイル)に必要なすべてのファイルを格納して、これを配布します。このファイルの中にはコンパイル済みのサーブレットやHTMLファイル、画像イメージに加え、Webコンテナに適切な実行方法を指示するための配布ディスクリプタと呼ばれるファイル(web.xml)が含まれます。

 JBuilderを利用して開発を進めている場合には、すでにこれらのファイルが出来上がっているので、まずはこれを確認してみましょう。

 プロジェクトペインでWARファイルをダブルクリックします。すると、画面左下の構造ペインに、そのモジュールの内容が階層構造で表示されます(画面6)。

画面6 Web.xmlの内容を閲覧する

 ここでは、作成したサーブレットのコンパイル済みクラス、HTMLファイルのほかに2つのファイルが格納されていることが分かります。各ディレクトリの意味は表1のとおりです。

表1 WARファイルの構造
ディレクトリ 配置されるファイル
/ HTMLファイルや画像ファイル
/META-INF アーカイブファイルの内容を定義するマニフェストファイル
/WEB-INF 作成したWebアプリケーションの設定が記載されたweb.xmlを格納
/WEB-INF/classes コンパイル済みのサーブレットクラス
/WEB-INF/lib このWebアプリケーションで必要となるライブラリ(オプション)

 すでに何度か説明しているとおり、web.xmlはこのWebアプリケーションを実行するために必要なXML形式の設定ファイルです。このファイルをダブルクリックして中身をチェックしてみましょう。

リスト5 Web.xmlファイル
  <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//
EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <display-name>MyServletModule</display-name>
  <servlet>
    <servlet-name>myservlet</servlet-name>
    <servlet-class>myservletproj.MyServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>myservlet</servlet-name>
    <url-pattern>/myservlet</url-pattern>
  </servlet-mapping>
</web-app>

 このファイルには、Web.xmlファイルとして最低限必要な項目が以下の項目が含まれています。

  • servlet-mapping: URLからサーブレットの論理名を指定する
  • servlet: サーブレットの論理名からサーブレットクラスを指定する

 Webコンテナはこれらの要素を利用して、画面7のようにURLから適切なサーブレットを呼び出すことが可能になります。

図1 Web.xmlにおけるURLとサーブレットクラスのマッピング

 このほかに、Web配布ディスクリプタでは、以下のような項目を定義することが可能です。

  • コンテキストパラメータ
  • EJB 参照
  • EJB ローカル参照
  • 環境項目
  • エラーページ
  • フィルタ
  • フィルタマッピング
  • リスナー
  • MIME マッピング
  • リソース環境参照
  • リソース参照
  • セキュリティ制約
  • セキュリティロール
  • タグライブラリ

 通常は、これらの処理はすべてweb.xmlファイルを直接編集して行いますが、JBuilderでは、Webモジュールデザイナという画面上で必要な項目を設定していくことで、これらを自動的に生成できます。

 また、サーブレットなど、ウィザードを使用してひな型を作成する場合には、最低限必要な設定は自動的に行われるので、細かい設定が必要になるまでこれらを直接処理する必要はありません。

画面7 Webモジュールデザイナでサーブレットマッピングを設定する (クリックすると拡大します)

 ここまでで、JBuilderを利用してサーブレットを作成してきました。サーブレットの作成がどのようなものかについて、おおよそを把握していただけたことと思います。これをきっかけに、本格的なサーブレットプログラミングの学習を行っていただきたいと思います。次回は、引き続きJBuilderを用い、JSPを使用したアプリケーションの構築を説明します。

2/2  

 INDEX

第2回 サーブレットアプリケーションを実行しよう
  Page1
サーブレットの作成
  Page2
アプリケーションの配備




「ツールでトライ!初めてのWebアプリケーション」記事一覧




Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間