3.Webアプリケーション

WEBアプリケーションとは、サーブレット、JSP、HTML、Javaのクラスファイルなどを一つのパッケージとしてまとめたものです。こうすることによって別のサーバーにWEBアプリケーション単位で移動したりすることが容易になります。

(1) 動作する為のフォルダの作成

 「2. サーブレットの実行」の tomcat の導入で作成したサーブレット HelloWorldServlet.class を別のフォルダーに置いて、WEBアプリケーションを作成します。webapps が設定ルートになっているので、その下にjavahello フォルダーを作成するとこから始めます。

 ��. 次のオレンジ色のフォルダーを新たに作成します。
     C:\Program Files\Apache Group
                           |
                       Tomcat 4.1
        ___________________|_____________________________________ 
       |           |               |                             |
      bin        common         webapps                         conf
                    _______________|_______________              |
                   |                               |          server.xml
                examples                      javahello
           ________|             __________________|____________________ 
          |        |            |                                       |
         JSP    WEB-INF      WEB-INF                                 META-INF
        ________________________|______________________                 |
       |              |                    |           |            MANIFEST.MF
      lib        classes             web.xml  javahello.war
                      |
             HelloWorldServlet.class

javahello 配下にはWEB-INF他、コンテンツファイルとして .html、.jsp、.gifなどを配置できます。WEB-INFの外側は、デフォルト設定では、クライアントから直接アクセス可能です。WEB-INF内のファイルへはクライアントから直接アクセスできませんが、サーブレットなどからforward、includeすることは可能です。


 ��. HelloWorldServlet.class を classes フォルダーの下に移動します。

 ��. web.xml ファイルをWEB-INF フォルダーの下に作成します。

<?xml version="1.0" encoding="ISO-8859-1"?>

<!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>

  (実際にはここに、様々な設定を記述)
  ==> 詳しく知りたい人
</web-app>



 ��. TomcatへWEBアプリケーションを登録します。

   conf\server.xml にを次の文を<Host>〜</Host>のHostタグの中に追加します。

<Context path="/javahello" docBase="javahello" debug="0" reloadable="true">
</Context>

※[Tomcatのフォルダ]\webapppsの下にWEBアプリケーションを配置した場合、Tomcatの起動時に自動的に認識するため上記のContextタグを追加しなくても動きます。


 ��. 動作確認

  Tomcat を起動後、ブラウザを開いてサブレットを、次のようにURLで指定してください。
  画面に「Hello World」が表示されればOKです。
http://127.0.0.1:8080/javahello/servlet/HelloWorldServlet

これだと、移植性としては不便です。そこで、次項の WAR ファイルが役に立ちます。


(2) WAR ファイルの作成と利用方法

 jar コマンドで、javahello.war ファイルを作成します。コマンドの詳細は、左フレームの Beans の「3.JARファイル」を参照してください。

C:\>cd Program Files\Apache Group\Tomcat 4.1\webapps\javahello

C:\....\webapps\javahello>jar -cvf javahello.war *
マニフェストが追加されました。
WEB-INF/ を追加中です。(入 = 0) (出 = 0)(0% 格納されました)
WEB-INF/classes/ を追加中です。...
WEB-INF/classes/HelloWorldServlet.class を追加中です。...
WEB-INF/lib/ を追加中です。...
WEB-INF/web.xml を追加中です。...

C:\....\webapps\javahello>

 このファイルを別のコンピューターの[Tomcatのフォルダ] \webapps の下に置いて( server.xml への Context タグの追加は不要 )Tomcat を再起動するだけで、ブラウザ画面で「Hello World」が表示できます。

tomcat 起動時に javahello がなければ、war ファイルをもとに、同じフォルダ javahello 配下が全て生成されます。すでに、javahello があれば、そのまま使用します。尚、生成されるとき、META-INF\MANIFEST.MF が作成されています。

前の章( 2.Tomcat の導入)    次の章(4.サーブレットの構成)