金子邦彦研究室プログラミングTomcat を用いた Java サーブレット・プログラミングEclipse を使用しての Java サーブレット・プログラム開発

Eclipse を使用しての Java サーブレット・プログラム開発

Eclipse を使用して,Tomcat 上で動く,Java サーブレット・プログラム開発を行う.

  1. (前準備)新規サーバの定義

    Eclipse 内部の tomcat サーバ(あとで説明する)を使えるようにするためには,Eclipse で 新規サーバの定義という操作を行う必要がある. (新規サーバの定義は,Eclipse で1回行うだけでいいです).

  2. Java サーブレットのプログラムの作成

    Java サーブレットは,Java のクラスとして定義されることになる.作成は Eclipse 上で行う. 詳しくは,次の手順になる.

    1. 動的 Web プロジェクトの作成
    2. Java パッケージの作成
    3. サーブレットの作成

      「サーブレット」というときは,URL と Java のクラスとのマッピング定義が必要になるため,単なる「Java のクラス」と「サーブレット」という言葉は区別することにします.

    Eclipse を使わずにJava サーブレットのプログラムを作成する場合と比べると,Eclipse が,マッピング定義が自動で行ってくれるし,ディレクトリ作成も自動で行ってくれるという違いがあります.

  3. 動作テスト

    Java サーブレットのプログラムのテストを行うために,「Eclipse 内部の tomcat サーバ」(あとで説明する)を使う. つまり,Java サーブレットの作成とテストとデバッグの一連の作業を,Eclipse 上で行う.

  4. エクスポート

    動作テストが終わったら, Eclipse でエクスポート操作を行って, 公開 tomcat サーバ で動くようにします. ここでの「エクスポート」は簡単にいうと,Eclipse の配下にある各種ファイルを,公開 tomcat サーバが管理するディレクトリの下に コピーする操作です.

【この Web ページの目次】

【補足説明】

下記の 2つのサーバは別物です. 2つを同時に動かすことはできません(ポートを奪い合うことができないので).一方を動かすときは,もう一方を止めることになる.

  1. Eclipse 内部の tomcat サーバ:

    Eclipse では,Eclipse 内部の tomcat サーバが動き, Java サーブレットの動作テストなどに使う.

  2. 公開 tomcat サーバ:

    公開 tomcat サーバは Eclipse と独立した tomcat サーバです(Windows の場合は、例えばC:\tomcat60\bin\tomcat6w.exe 等で起動する Tomcat サーバのこと).当然, 公開 tomcat サーバが管理するディレクトリも Eclipse とは独立している.

必要となるソフトウェア

設定項目

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

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

新規サーバの定義とTomcat サーバ起動・停止

ここでは,Eclipse で,新規サーバの定義を行う. その後,定義がうまくいったかを確認するために, Eclipse 内部の tomcat サーバの起動と停止を行ってみる.

新規サーバの定義

  1. 公開 tomcat サーバの停止

    Windows の場合

    は、C:\tomcat60\bin\tomcat6w.exe 等で停止しておく. Ubuntu の場合は、「sudo service tomcat7 stop」のように操作して停止しておく。

    Ubuntu の場合の実行例

    [image]
  2. Eclipse のサーバー (Servers) ビューの表示
    1. Eclipse で 「ウィンドウ (Window)」→「ビューの表示 (Show View)」→「その他 (Other)」→「サーバー (Server)」→「サーバー (Servers)」と操作する.

      [image]
    2. OK」をクリックすると,これで,Eclipse ウインドウの中にサーバービューが表示される(下記).

      [image]

      ※ サーバービューが表示されないときは,Eclipse で 「ウィンドウ (Window)」→「パースペクティブを開く」→「その他 (Other)」→「Java)」 と操作した後,上記の操作をもう1度やり直すとうまくいくことがある.

      [image]
  3. 新規サーバーの定義

    サーバー (Servers) ビュー内の任意の場所で,右クリックし,「新規 (New)」→「サーバー (Server)」と操作する

  4. サーバーの種類の選択

    新規サーバ定義ウインドウが表示されるので, Apacheを展開し、Tomcat サーバーを選ぶ

    ※ 下の実行例では、「Tomcat v7.0 サーバー (Tomcat v7.0 Server)」)を選択して,「次へ (Next)」をクリックしている. (インストールした Tomcat と同じバージョンのものを選ぶべき)

    [image]
  5. インストール・ディレクトリーの設定

    次のウインドウでは,「Tomcat インストール・ディレクトリー」を設定し,「終了」をクリック.

     

    Ubuntu の場合の実行例

    [image]

    [image]

    Ubuntu で「Eclipse での新規サーバの作成」ができないときのヒント

    cd /var/lib/tomcat7/conf
    sudo ln -s policy.d/03catalina.policy catalina.policy
    chmod 644 tomcat-users.xml 
    
  6. サーバー (Servers) ビューの確認

    これで,Eclipse 内部の tomcat サーバについて,起動,停止,再起動,デバックモードでの起動を行うためのボタンなどが, サーバー (Servers) ビューの上端に表示されるようになる.

    [image]

Eclipse 内部の Tomcat サーバ起動・停止

後で説明するように,Eclipse 内部の Tomcat サーバの起動と停止は自動で行われるのですが, 新規サーバの定義が正しくできたかの確認のために, 起動と停止を手動で行ってみる.

  1. サーバー (Servers) ビューを使う.

    [image]
  2. サーバの起動ボタンをクリックするか, サーバー (Servers) ビュー内の「Tomcat v7.0 Server (Tomcat v7.0 サーバー)」の行を右クリックして, 「Start (開始)」を選ぶと,Eclipse 内部の Tomcat サーバが起動する.

    [image]
  3. サーバー (Servers) ビュー内の「状況 (Status)」の欄が,Stopped になっていたのが, 始動済み (Started) に変わるので,起動できたことが確認できる.

    [image]

    これで起動される tomcat サーバは,Eclipse 内部の Tomcat サーバです.公開 tomcat サーバ (例えば Windows の場合は C:\tomcat60\bin\tomcat6w.exe) とは別ものです.

  4. 「コンソール」をクリックすると、サーバ機能に関するメッセージが表示されている

    [image]
  5. Eclipse 内部の Tomcat サーバの停止も上記と同様の手順でできる.

【Eclipse 内部の Tomcat サーバがうまく起動できないときのヒント】

分かる限りでヒントを書いておきます.

Java サーブレット・プログラムの作成手順

以下,Eclipse を使う. プロジェクトの作成クラスの定義実行という一連の操作を,図解で説明する.

Eclipse の使用にあたって,事前に決めておく事項

Java サーブレット・プログラムを動かすために,Eclipse のプロジェクト等を作る. このページでは,Eclipse のプロジェクト名,Java パッケージ名,Java サーブレットのクラス名は次のように記述します. (すでに同じ名前のプロジェクトがある,といったときは,プロジェクト名を変えてください).

動的 Web プロジェクトの新規作成

下記の手順で,動的 Web プロジェクトを新規に作成する.

  1. (もし,プロジェクト・エクスプローラが開いていなければ)プロジェクト・エクスプローラを開く

    「ウインドウ (Window)」→「ビューの表示 (Show View)」→「プロジェクト・エクスプローラ (Project Explorer)」 と操作する.

  2. プロジェクトの新規作成の開始

    ファイル」→「新規 (New)」→「プロジェクト (Project)
    または,プロジェクト・エクスプローラ内で,右クリック→「新規 (New)」→「プロジェクト (Project)」

  3. Web」の展開

    新規プロジェクトのウインドウが開くので, 「Web」を展開する.

  4. 動的 Webプロジェクト (Dynamic Web Project)」の選択

    展開した「Web」の下にある 「動的 Webプロジェクト (Dynamic Web Project)」を選び, 「次へ」をクリック.

    [image]
  5. プロジェクト名の設定など

    設定用のウインドウが開くので,下記の設定を行う. 設定が終わったら,「次へ」をクリック.

    [image]
  6. 次の「プロジェクト・ファセット」は,デフォルトのままでよい

    次へ」をクリック.

    このウインドウが開かないことがある.気にしなくてよい.

    [image]
  7. 「Java をビルドするためのプロジェクト構成」は,デフォルトのままでよい

    次へ」をクリック.

    [image]
  8. 次の「Web モジュール」は,デフォルトのままでよい

    完了」をクリック.

    [image]
  9. もし「関連付けられたパースペクティブを開きますか?」と聞いてきたら,「はい」をクリック

    このウインドウが開かないことがある.気にしなくてよい.

    [image]
  10. 作成されたプロジェクトの確認

    [image]

Java パッケージ作成

Eclipse のプロジェクト・エクスプローラを使って, Java パッケージを作成します. Java パッケージ名には hoge.hoge.com のようなドメイン名を付ける習慣があることに注意してください. このページでは,作成するJava パッケージ名は,hoge.hoge.com と書く. (Java パッケージ名を変えるときは,読み替えてください).

  1. (もし,プロジェクト・エクスプローラが開いていなければ)プロジェクト・エクスプローラを開く

    「ウインドウ」→「ビューの表示」→「プロジェクト・エクスプローラ」 と操作する.

    Java パッケージの作成,クラスの作成などの作業は,プロジェクト・エクスプローラで行う.

  2. Java パッケージを新規作成すべきプロジェクトの選択

    プロジェクト・エクスプローラに,プロジェクト一覧が表示されているはずです. Java パッケージを新規作成したいプロジェクト名 hoge右クリックして, 「新規」→「パッケージ」と操作する.

    [image]
  3. Java パッケージ名の設定

    「Java パッケージ (Java package)」名前として,Java パッケージ名 hoge.hoge.comを記入する.

    その後,「終了」をクリック.

    [image]
  4. Java パッケージの確認

    プロジェクト・エクスプローラにおいて, Java パッケージ hoge.hoge.com が増えていることを確認する.

    ※ プロジェクト・エクスプローラで, Java パッケージ名 hoge.hoge.comが表示されていないときは, プロジェクト hoge の左横の「+」をクリックして展開した後, 下の 「Java リソース; src」または「src」の左横の「+」をクリックして展開して下さい.

    [image]

サーブレットの作成

サーブレットの作成の手順は次の通りです. 前準備として,Java パッケージ hoge.hoge.com を作成済みであること.

  1. 新規サーブレットの作成の開始

    プロジェクト・エクスプローラにおいて, サーブレットを作成したいJava パッケージ名 hoge.hoge.com右クリック

    ※ プロジェクト・エクスプローラで, Java パッケージ名 hoge.hoge.comが表示されていないときは, プロジェクト名の下の 「Java リソース; src」または「src」の下を展開して下さい.

  2. 新規 (New)」→「その他 (Other)」と操作する.

    [image]
  3. サーブレットの選択

    サーブレットを作成したいので, 「Web」→「サーブレット (Servlet)」と操作し, 「次へ」をクリックします.

    [image]
  4. サーブレットのクラス名等の指定

    新規に作成するサーブレットについて,Java パッケージ名,クラス名等を入力できるウインドウが開くので,設定を行う.

    1. 「Java パッケージ (Java package)」(3行目): Java パッケージ名 「hoge.hoge.com」を設定.

      ※ 「hoge.hoge.com」になっていなければ修正すること.

    2. 「クラス名」(4行目の「名前」のところ): Java サーブレットのクラス名 HelloWorld

    [image]
  5. 次はデフォルトのままでよい

    次へ」をクリックします.

    [image]
  6. 次はデフォルトのままでよい

    完了」をクリックします.

    [image]
  7. 作成されたクラスの確認

    [image]

参考: Eclipse インストールと基本操作のWebページ

クラス定義と実行

  1. プロジェクト構成物の表示

    プロジェクト・エクスプローラで, プロジェクト名 hoge の左横の三角形あるいは「+」をクリックして展開すると,「Java リソース; src」などが現れる(その他,いろいろ,プロジェクトの構成物が現れる).

    ※ すでに展開済みのときは,この手順は不要.

    [image]
  2. Java パッケージ一覧の表示

    プロジェクト・エクスプローラで, 「Java リソース; src」の左横の三角形あるいは「+」をクリックして展開すると,Java パッケージ一覧などが現れる.

    ※ すでに展開済みのときは,この手順は不要.

    [image]
  3. クラスファイル一覧の表示

    プロジェクトエクスプローラで, 先ほど作成したJava パッケージ名 hoge.hoge.com の左横の三角形あるいは「+」をクリックすると, クラスファイル一覧が現れる.

    ※ すでに展開済みのときは,この手順は不要.

    [image]
  4. 定義したいクラスのファイルを開く

    HelloWorld クラスを定義したいので, プロジェクト・エクスプローラの クラスファイル一覧の中から, 「HelloWorld.java」をダブルクリックします. すると,エディタが開きます.

    このように,Eclipse のプロジェクト・エクスプローラで,定義したいクラスの「クラス名.java」ダブルクリックすると,エディタが開くことになっています.

    [image]

    ※ なお,別のクラスを追加したいときは, Java パッケージ名を右クリックして「新規」→「クラス」です.

  5. エディタでクラス HelloWorld を定義する

    下記のクラス定義をカットアンドペーストして下さい(見本として作ったクラス定義です). (Java パッケージ名を「hoge.hoge.com」と書いているので,Java パッケージ名を別の名前にしている場合には,適切に読み替えてください).

    【プログラムの要点】

    クラス定義は次のようになります

    package hoge.hoge.com;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * Servlet implementation class HelloWorld
     */
    @WebServlet("/HelloWorld")
    public class HelloWorld extends HttpServlet {
    private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public HelloWorld() {
            super();
            // TODO Auto-generated constructor stub
        }
    
    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    
            response.setContentType("text/html; charset=utf-8");
            PrintWriter out = response.getWriter();
            out.println("<html>");
            out.println("<head>");
            out.println("<title>HelloWorld</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>HelloWorld</h1>");
            out.println("</body>");
            out.println("</html>");
            out.close();
    
    }
    
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    }
    
    }
    

    ※同じ方針で,例えば,リレーショナルデータベースの中身を取り出して Web ページを作ることも簡単にできる.

  6. ソースを保存

    「ファイル」→「保管」または CTRL+S で保存される. 保存時にコンパイルされる

    コンパイル時のエラーや警告があれば, Eclipse 内の問題・ビューに表示されるので確認する.

  7. 下記の「Java サーブレット・プログラムのテスト実行」に進んでください.

Java サーブレット・プログラムのテスト実行

Eclipse のプロジェクト・エクスプローラを使用して,上記で作ったJava サーブレットのプログラム をテスト実行してみる.

  1. 実行したいサーブレットのクラスを選び,右クリック

    Eclipse のプロジェクト・エクスプローラで,実行したいクラス名.java (つまり HelloWorld.java)右クリック

  2. 実行 (Run As)」→「サーバーで実行 (Run on Server)」と操作

    [image]
  3. サーバの選択

    ウインドウが開くので, 「ローカルホストの Tomcat v7.0 サーバ」が選択されていることを確認の後,「次へ (Next)」をクリック.

    [image]
  4. 次はデフォルトのままでよい

    完了」をクリック.

    [image]
  5. サーバを再起動するかを聞いてくる場合がある

    再起動する.

    [image]
  6. 下記のエラーが出て,Eclipse 内部の Tomcat サーバが起動しない場合には,公開 Tomcat サーバが稼働中である可能性がある。もしそうなら公開 Tomcat サーバを停止する

    「公開 Tomcat サーバを稼働させている」ときは, Eclipse 内部の Tomcat サーバが起動しない(ポートを奪い合うので)ので, 公開 Tomcat サーバを停止させて下さい.

    [image]
  7. Eclipse 内部の Tomcat サーバが起動することを確認

    コンソール・ビューに表示される.

    [image]
  8. 実行結果の確認

    Web ブラウザが開き,そこに実行結果が出る. 「Hello Java World!」と出れば成功.

    [image]

    実行で,エラーが出る場合,

    Eclipse 内部の Tomcat サーバを停止して、もう1度起動してみる。(これは、プログラムを Tomcat に読み込ませるため)。

    それでもうまく動かない場合は,Eclipse を再起動してみる.

    Web ブラウザ内のアドレスバーの部分には,Tomcat サーバに対するリクエスト URL が表示されます.

    http://localhost:8080/hoge/HelloWorld
    

    のようになっていることを確認しておきます.(「hoge」の部分は,プロジェクト名に読み替えること)

Java サーブレット・プログラムのデバッグ

今度は,プロジェクト・エクスプローラを使用して,Servlet プログラムのデバッグを行う.

デバッグ実行(ブレークポイント無し)

  1. Eclipse のプロジェクト・エクスプローラで,デバッグを行いたいクラス名.java (つまり HelloWorld.java) を右クリックし, 「Debug As (デバッグ)」→「Debug on Server (サーバーでデバッグ)」を選ぶ
  2. ウインドウが開くので,「Choose an existing server (既存のサーバを選択)」の方をチェックしておく.「次へ (Next)」→「次へ (Next)」→「終了 (Finish)」

    [image]
  3. Tomcat のサーバが起動する(結果は,コンソール・ビューに表示される).

    デバッグモードでのサーバが起動できたことを確認したいときは, サーバー (Servers) ビューの「状況 (Status)」の欄が「デバッグ (Debugging)」になっているかを見る.

  4. (まだ,doGet メソッド内にブレークポイントが無いので)Web ブラウザが開く.

    このウインドウに「Hello World!」と出れば成功.

    ※ブレークポイントが無いので,普通の「実行」と,デバッグ用の「実行」の違いがありません.

    [image]

デバック実行(ブレークポイント有り)

  1. エディタを開く

    Eclipse のプロジェクト・エクスプローラで,デバッグを行いたいクラスの「クラス名.java 」ダブルクリック (ここでは,HelloWorld.javaをダブルクリック)すると,エディタが開きます.

  2. ブレークポイントの設定(2個以上)

    HelloWorld.java の doGet メソッド内に ブレークポイントを設定します.

    エディタで, doGet メソッド内の任意のプログラムコードについて,エディタの左端フレームをダブルクリックするか, エディタの左端フレームで,右クリックして,「Toggle Break Point (ブレークポイントの切り替え)」を選ぶ.

    ブレークポイントが設定されると,青色の丸で表示される.

    [image]

    後の練習のため,ブレークポイントは2個以上作っておく

  3. ブレークポイントの設定が済んだら,上記の「デバッグ実行」の手順をもう一度繰り返します

    今度は,ブレークポイントを作ったので,プログラムの実行が止まる. 今度は,Web ブラウザが開かず,デバッグ用の画面に切り替わります(この画面を「デバッグ・パースペクティブ」と呼びます).

    [image]

    ※ なお,普段開いている画面は,「Javaパースペクティブ」です. 「デバッグ・パースペクティブ」と「Javaパースペクティブ」の切り替えは, 「ウインドウ (Window)」→「(Open Perspective) パースペクティブを開く」で(デバッグ中ならいつでも)出来ます.

  4. デバッグ・ビューの確認

    スレッド [http-8080-processor??] (実行中)のような表示がたくさん並んでいるのがデバッグ・ビューです.

    [image]

    ※ もし,デバッグ・ビューが開いていなければ,「ウインドウ (Window)」→「Show View」→「Debug」で,デバッグ・ビューを開く.

    デバッグ・ビューがどこにあるのか分からないときも, 「Window」→「Show View」→「Debug」で,デバッグ・ビューが簡単に分かる.

  5. HelloWorld.java をエディタで開く

    ウインドウの中に「エディタ」があります.「HelloWorld.java」をクリック

    [image]
  6. HelloWorld の確認

    エディタに,HelloWorld.java のソースコードが出たはずです. ソースコード中にマークがあり,現在,この行で,プログラムの実行が中断していることを示す.

    [image]
  7. デバッグ・ビューでの操作

    デバッグ・ビューの中の任意の場所を 左クリックすると,デバッグ機能が動くようになる. F8(ファンクション8) で,次のブレークポイントまで実行が進むなど,機能を試してみよう.

    なお,デバッグ・ビューの中の任意の場所を 右クリックすると,デバッグ機能を選ぶウインドウ開きます.

  8. デバッグ用の画面 (デバッグ・パースペクティブ)」から,元の Java パースペクティブに戻るのは簡単です.
    「ウインドウ (Window)」→「(Open Perspective) パースペクティブを開く」→「Java」
    

    参考Webページ http://www.javaroad.jp/opensource/js_eclipse7.htm

以上で,Eclipse でのデバッグ実行ができるようになりました.

Java サーブレット・プログラムのエクスポート

上記では,Eclipse 内部の Tomcat サーバを使っていました.

今度は, Java サーブレット・プログラムを,Eclipse から切り離して,公開 tomcat サーバ上で動く(つまり, 単体で動く)ようにします. そのために,Eclipse のエクスポート (Export) 機能を利用します.

Eclipse のエクスポート機能が行っていること

公開 tomcat サーバ上で Java サーブレットを動かすために 「リクエスト URL ← マッピング → サーブレット名 ← マッピング → クラス名」という形式でのマッピングを行うとともに, 所定のディレクトリに Java クラスのファイルなどを置く必要がある.(詳しくは 「Tomcat 上で動く Java サーブレット・プログラム」の Web ページを見てください).

Eclipse でのエクスポート操作を行うと,このマッピング定義と,所定のディレクトリへのファイルの配置が自動で行われます.詳しくは以下の通りです.

Java クラスのファイル,ライブラリファイル,web.xml が置かれるディレクトリは, サーブレット配置サブディレクトリと,Tomcat インストールディレクトリから決まります.

前準備

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

 

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

サーブレット配置サブディレクトリは,自由に決めることができる(プロジェクト名と一致させるなどのルールはありません). Eclipse でのエクスポート時点に,手動で自由に設定することになる. このページでは次のように書く.

Java クラスのファイル,ライブラリファイル,web.xml が置かれるディレクトリは,次のようになる.

エクスポートの手順

  1. プロジェクト・エクスプローラで,先ほど作ったプロジェクト を右クリック.「エクスポート」を選択(ファイル→エクスポートでも良い)
  2. WAR ファイル」を選ぶ
  3. ファイル名等の指定

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

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

    [image]
  4. WAR ファイルの確認

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

    [image]
  5. (オプション)web.xml の確認
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
        <display-name>
        hoge2</display-name>
        <servlet>
            <description>
            </description>
            <display-name>
            HelloWorld</display-name>
            <servlet-name>HelloWorld</servlet-name>
            <servlet-class>
            hoge.hoge.com.HelloWorld</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>HelloWorld</servlet-name>
            <url-pattern>/HelloWorld</url-pattern>
        </servlet-mapping>
        <welcome-file-list>
            <welcome-file>index.html</welcome-file>
            <welcome-file>index.htm</welcome-file>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>default.html</welcome-file>
            <welcome-file>default.htm</welcome-file>
            <welcome-file>default.jsp</welcome-file>
        </welcome-file-list>
    </web-app>
    

    次のように設定されていることが読み取れます.

  6. 動作確認

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

    http://localhost:8080/hogename/HelloWorld
    

    を開くと,Hello World と表示されます. 「hogename」と書いているのは,先ほどエクスポートするときに付けた 指定した「サーブレット配置サブディレクトリ」のことです(.war ファイルのファイル名にもなっています).

    [image]

    上記の例では,8080 ポートを使い,公開 tomcat サーバと通信している.

Apache との連携

上記では,8080 ポートを使い,公開 tomcat サーバと通信しました. URL の中に,「8080」と書かずに,普通の URL で Java サーブレットを起動できるように するには,Apache のような Web サーバと連携させるのが普通です.

前もって必要なソフトウェア

  1. Apache 側の conf/extra/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>
    
  2. Apache を再起動

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

  3. Apache での動作確認 

    URL は次の通り

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

参考Webページ

参考Web ページ: http://www.javaroad.jp/opensource/js_eclipse1.htm

参考Web ページ: http://www.stackasterisk.jp/tech/java/wtp02_03.jsp (現在は存在しない)

参考Web ページ: http://www.stackasterisk.jp/tech/java/wtp02_01.jsp (現在は存在しない)