サーブレットのコンパイルとTomcatのテスト 本章のプログラムを御覧の際には、Tomcatが必要です。
こちらからダウンロード出来ます。
ファイルはzipフォルダに納められています。
解凍ソフト(Aladdin
Expander等)を使って解凍して下さい。
フォルダの指定 「HelloServlet.class」を入れたTomcatの「classes」フォルダには、既に沢山のファイルが有ります。
此から作っていくプログラムと混ざったり、コンパイルの度に毎回此のフォルダにコピーするのも面倒なので、自分専用のファイルを作り、其処でコンパイルも実行も出来る様にしたい物です。 作業用フォルダの作成 下記の様に「javasrc」フォルダ内に「yoyaku」フォルダを作り、此のフォルダを作業用フォルダにする事にしましょう。 そして、此のフォルダ内にファイルを以下のURLでアクセス出来る様に設定する事にします。 http://localhost:8080/yoyaku/ |
先ず、フォルダとアドレスを結び付ける為のTomcatの設定を行います。
「yoyaku.xml」と言う名前のファイルをTeraPadやメモ帳等のテキストエディタで以下の様に作成し、下記のフォルダに保存して下さい。 C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\Catalina\localhost |
設定の確認 其れでは先ず「C:\javasrc」の「yoyaku」フォルダが、 http://localhost:8080/yoyaku/ |
でアクセス出来るかどうかテストしてみましょう。
以下の様なHTMLファイルをテキストエディタで作成し、「yoyaku」フォルダの直下に入れます。
ブラウザを起動して、URLに
型 メソッド名(仮引数)throws 例外クラス{
メソッドの内容
} | と指定してみましょう。
正しく表示されれば成功です。 サーブレットのテスト 次にサーブレットのテストをします。
「HelloServlet.class」を下記のフォルダに移動させましょう。 C:\javasrc\yoyaku\WEB-INF\classes |
ブラウザを起動して、URLに、 FileInputStream in = new FileInputStream(args[0]);
FileOutputStream out = new FileOutputStream(args[1]); |
と指定してみましょう。
正しく表示されれば成功です。
Tomcatの設定ファイル @server.xml Tomcatのサーバとしての基本動作を設定する物で、以下の要素が入れ子になっています。
要素 |
概説 |
Server |
サーバ全体
必ず1つだけ存在 |
Service |
Server要素の中に1つ以上存在し、ConnectorとEngineとを結びつける |
Connector |
サーバとクライアントの間の通信を制御
ポートを割り当て
1つのServiceの中に複数個置け、此により、1つのTomcatで複数のポートを使い分けられる |
Engine |
クライアントからの要求を処理するコンテナ
1つのServiceの中に1つだけ置ける |
Host |
仮想ホスト
1つのEngineの中に複数個置け、此により、異なるネットワークを持てる
Host名は、Domain Name System(DNS)サーバに登録されている必要が有る(localhostは、自分のマシンを表すIPアドレス「127.0.0.1」に変換されるユニークな文字列で有り、登録が不要)
Host要素内では、アプリケーションファイル(HTMLやサーブレット等のファイル)を置く為の基準となるフォルダを「appBase」で指定 | server.xmlの入れ子 デフォルトの「Server.xml」では、「Catalina」と言うServiceが、2つのConnectorと1つのEngine(名前は「Catalina」)を持っており、此のEngineの中に、仮想ホスト「localhost」が置かれています。
仮想ホストに置かれるファイルの位置は、 により、 に置かれた物が、 でアクセス出来る事になります。 AContextの設定用XMLファイル 仮想ホストには、複数のContextを置けます。
Contextは、HTMLやサーブレット等のアプリケーションを置くパスを設定します。
Tomcat4迄は、「server.xml」ファイル内で設定していましたが、Tomcat5からは、Context毎に「.xml」ファイルを作る様に変更されました。
此のファイルは、以下のフォルダに置かれます。 Tomcat 5.0\conf\Service名\Host名 |
此処では、「Catalina」Service内の「localhost」Engine内に「yoyaku」と言うContextを設定するので、 Tomcat 5.0\conf\catalina\localhost |
フォルダに「yoyaku.xml」と言うファイルを置きました。
此のファイルの中で、 docBase = "c:\javasrc\yoyaku" |
により、Webアプリケーションファイルが実際に置かれるフォルダを指定します。
此処では、Tomcatフォルダの外にWebアプリケーションファイルを置きますので、絶対パス指定になっていますが、「Server.xml」の「appBase」で指定されたフォルダ(デフォルトでは「Tomcat
5.0\webapps」)内に置く場合には、 の様に相対パスでも書けます。
又、 で、アドレスのパスを指定します。
此の設定により、docBase内のWebアプリケーションは、 http://localhost:8080/yoyaku |
と言うアドレスで指定出来る様になります。 Bweb.xml 各パス内でのサーブレットを設定します。 <servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet> |
と、 <servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/servlet/HelloServlet</url-pattern>
</servlet-mapping> |
とでサーブレットをアドレスにマッピングします。 戻る |