Eclipse 上で作成した Java サーブレット・プログラムプログラムをエクスポート

Eclipse を使って開発した Java サーブレット・プログラムについて,エクスポートを行い,公開 Tomcat サーバ上で,Java サーブレット・プログラムが動くようにします. このとき,Eclipse のプロジェクト内のファイル一式が, 公開 Tomcat サーバが管理するディレクトリの配下にコピーされます.

Eclipse を使用しての Java のサーブレット・プログラムの開発手順などは, 「Eclipse を使用しての Java サーブレット・プログラムの開発」の Web ページで説明している.

前準備

JDK (Java Development Kit) のインストール

Eclipse のインストール

その他

設定項目

前もって,Tomcat インストールディレクトリを調べておいてください.

 

このページでは次のように書く.

Tomcat プログラムをエクスポート

まず、Eclipse のエクスポート (Export) 機能を利用して、エクスポートを行う.
  1. プロジェクト・エクスプローラで,先ほど作ったプロジェクト を右クリック.「エクスポート」を選択(ファイル→エクスポートでも良い) o
  2. WAR ファイル」を選ぶ
  3. ファイル名等の指定

    WARエクスポートダイアログで,次のように指定する.

     Webモジュール:「<作成済みのプロジェクト名>」
     宛先:「C:\tomcat55\webapps\<好きな名前>.war」
    

     「ソースファイルのエクスポート」→チェック

     「既存ファイルを上書き」→チェック

    「完了」をクリックすると,エクスポートが実行される

  4. WAR ファイルの確認

    /var/lib/tomcat6/webapps/ 下に,拡張子 .war が付いたファイルができる.

  5. 動作確認

    公開 Tomcat サーバを起動した後に, 普通の Web ブラウザで,

    http://localhost:8080/<好きな名前>/HelloWorld
    

    を開くと、Hello World と表示されます. 「<好きな名前>」と書いているのは、先ほどエクスポートするときに付けた 名前です(.war ファイルのファイル名のこと). hoge.war なら、 http://localhost:8080/hoge/HelloWorld

    8080 ポートを使い、公開 tomcat サーバと直接通信しているということに注意.

  6. Apache 側の conf/extra/httpd-proxy.conf の設定

    URL の中に、8080 と書かずに、普通の URL で Servlet を起動できるように するには、Apache のような Web サーバと連携させるのが普通です. そのために、 httpd-proxy.conf ファイルでの設定などを行う必要がある.

    httpd-proxy.conf は、以下のように設定します. Order と Allow の行は、「127.0.0.1」からのアクセスだけを許すという設定です.

    <Location /<エクスポートするプロジェクト名>/>
        ProxyPass ajp://localhost:8009/<エクスポートするプロジェクト名>/
        Order allow,deny
        Allow from 127.0.0.1
    </Location>
    
  7. Apache を再起動

    conf/extra/httpd-proxy.conf を書き換えたから.

  8. Apache での動作確認 

    URL は次の通り

    • Apache サーバ経由でサーブレットに接続:

      (http://localhost/<エクスポートするプロジェクト名>/クラス名) または, (http://localhost/<エクスポートするプロジェクト名>/JSPファイル名.jsp)

    Strutsを使っている場合,ページ遷移すると, http://localhost/<プロジェクト名>/アクション名.do のような URL が現れることを確認しておく.(つまり,http://localhost/<プロジェクト名>/アクション名.do と打ち込むことで,一種の単体テストが出来る)

(参考) Eclipse のエクスポート (Export) 機能を利用しないで,手順でエクスポートする場合

  1. /var/lib/tomcat6/webapps/(プロジェクト名) のディレクトリを作成
  2. /var/lib/tomcat6/webapps/(プロジェクト名)/WEB-INF のディレクトリを作成
  3. eclipseのプロジェクトから以下のものを指定のディレクトリにコピー
     classesディレクトリ → /var/lib/tomcat6/webapps/プロジェクト名/WEB-INF
     web.xml     → /var/lib/tomcat6/webapps/プロジェクト名/WEB-INF
    
  4. /var/lib/tomcat6/conf/server.xmlの確認

    <Context path="プロジェクト名" (以下略)>がある場合コメントアウトか削除

  5. 公開 tomcat サーバの起動

    C:\tomcat55\binディレクトリにある tomcat5w.exe を使う. (Eclipse 内部の tomcat サーバと混同しないこと.別ものです).

  6. apache起動
  7. 作成したwebページが80ポートで見れるか確認