Eclipse を使って開発した Java サーブレット・プログラムについて,エクスポートを行い,公開 Tomcat サーバ上で,Java サーブレット・プログラムが動くようにします. このとき,Eclipse のプロジェクト内のファイル一式が, 公開 Tomcat サーバが管理するディレクトリの配下にコピーされます.
Eclipse を使用しての Java のサーブレット・プログラムの開発手順などは, 「Eclipse を使用しての Java サーブレット・プログラムの開発」の Web ページで説明している.
前もって,Tomcat インストールディレクトリを調べておいてください.
このページでは次のように書く.
WARエクスポートダイアログで,次のように指定する.
Webモジュール:「<作成済みのプロジェクト名>」 宛先:「C:\tomcat55\webapps\<好きな名前>.war」
「ソースファイルのエクスポート」→チェック
「既存ファイルを上書き」→チェック
「完了」をクリックすると,エクスポートが実行される
/var/lib/tomcat6/webapps/ 下に,拡張子 .war が付いたファイルができる.
公開 Tomcat サーバを起動した後に, 普通の Web ブラウザで,
http://localhost:8080/<好きな名前>/HelloWorld
を開くと、Hello World と表示されます. 「<好きな名前>」と書いているのは、先ほどエクスポートするときに付けた 名前です(.war ファイルのファイル名のこと). hoge.war なら、 http://localhost:8080/hoge/HelloWorld
8080 ポートを使い、公開 tomcat サーバと直接通信しているということに注意.
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>
conf/extra/httpd-proxy.conf を書き換えたから.
URL は次の通り
(http://localhost/<エクスポートするプロジェクト名>/クラス名) または, (http://localhost/<エクスポートするプロジェクト名>/JSPファイル名.jsp)
Strutsを使っている場合,ページ遷移すると, http://localhost/<プロジェクト名>/アクション名.do のような URL が現れることを確認しておく.(つまり,http://localhost/<プロジェクト名>/アクション名.do と打ち込むことで,一種の単体テストが出来る)
classesディレクトリ → /var/lib/tomcat6/webapps/プロジェクト名/WEB-INF web.xml → /var/lib/tomcat6/webapps/プロジェクト名/WEB-INF
<Context path="プロジェクト名" (以下略)>がある場合コメントアウトか削除
C:\tomcat55\binディレクトリにある tomcat5w.exe を使う. (Eclipse 内部の tomcat サーバと混同しないこと.別ものです).