UNIXな生活
更新:2004/4/20  
Linuxな生活  FreeBSDな生活
 Solarisな生活
 JAVAな生活
 Practical use
 掲示版
TOMCATでの新規アプリケーションの作成(簡易版)

Tomcatで自分のアプリケーション を作成する場合は、$TOMCAT_HOME/webapps/以下に作成するのが通例のようです。
(もちろん、まったく任意の場所に作成することも可能です。)
少々面倒な作業が必要になりますので、具体的な例で作成していきます。

今回は、testアプリケーションを作成します。
このtestアプリケーションには、Hello.jspと、Hello.classというServletを作成します。

具体的には、以下の構成になります。(最低限の環境)

$TOMCAT_HOME/webapps/test/
                       |--Hello.jsp
                       |--WEB-INF/
                             |-----classes/
                             |        |----Hello.class
                             |------web.xml


1.アプリケーションの配置ディレクトリの作成と web.xmlの作成
ディレクトリの作成
#cd $TOMCAT_HOME/webapps
#mkdir test
#mkdir -p test/WEB-INF
#mkdir -p test/WEB-INF/classes

web.xmlファイルの作成
test/WEB-INF/web.xmlを 以下の内容で作成します。
<?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/j2ee/dtds/web-app_2_3.dtd">
<web-app>
</web-app>


2.JSPファイルとclassファイルの配置
Hello.jspは、$ TOMCAT_HOME/webapps/test/に配置します。
Hello.classは、$ TOMCAT_HOME/webapps/test/WEB-INF/classes/に配置します。
#cp Hello.jsp $TOMCAT_HOME/webapps/test/
#cp Hello.class $TOMCAT_HOME/webapps/test/WEB-INF/classes/


3.server.xmlへContextを設定。
JSPやServletにアクセスするに は、$TOMCAT_HOME/conf/server.xmlへContextを追加する必要があります。
examplesの</Context>の下にでも追加してください。
<Context path="/test" docBase="test" debug="0" reloadable="true" crossContext="true">
</Context>


4.JSPファイルへアクセスする
ブラウザから、http://localhost:8080/test/Hello.jspで アクセスできます。


5.Servletへの簡易アクセス
本来、Servletにアクセスする場合は、web.xmlに<servlet mapping>を設定することが望ましいのですが、今回は簡易アクセスを試してみます。
*Tomcat-4.0系
ブラウザへhttp://localhost:8080/test/servlet/Helloと するとServletへアクセスできます。

*Tomcat-4.1系

4.1系は、簡易アクセスが無効にされています(本来こうあるべきですが)
簡易アクセスを有効にする場合は、以下を修正します。
$TOMCAT_HOME/conf/web.xmlの以下がコメントを外し有効にします。
<servlet-mapping>
   <servlet-name>invoker</servlet-name>
   <url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

修正したら、Tomcatを再起動し、以下のようにするとアクセスできます。
ブラウザへhttp://localhost:8080/test/servlet/Hello


6.mod_jkへ設定し、Apache経由でアクセスで きるようにする。
$APACHE_HOME/conf/mod_jk.conf へ"test"追加します。
LoadModule jk_module libexec/mod_jk.so
<IfModule mod_jk.c>
 JkWorkersFile /usr/local/apache/conf/workers.properties
 JkLogFile logs/mod_jk.log
 JkLogLevel warn
 JkMount /*.jsp worker1
 JkMount /servlet/* worker1
 JkMount /examples/* worker1
  JkMount /test/* worker1  <---------これを追 加
</IfModule>

これで、Apache経由で(Port80で)接続できます。
Servletの動作確認-----http://localhost/servlet/Hello
JSPの動作確認-------http://localhost/test/Hello.jsp


7.mod_jk2に設定し、Apache経由でアクセス できるようにする。
$APACHE_HOME/conf/workers2.propertiesへ"test""を追加します。
[status:]
[uri:/jkstatus/*]
group=status:
[shm:]
disabled=1
[channel.socket:]
[ajp13:]
[uri:/examples/*]
[uri:/test/*]  <---------これを追加

これで、Apache経由で(Port80で)接続できます。
Servletの動作確認-----http://localhost/servlet/Hello
JSPの動作確認-------http://localhost/test/Hello.jsp


これで、最低限のアプリケーション開発が可能になりますが、Tomcatはさまざまな設定が可能です。
そのためには、server.xmlとweb.xmlの編集が肝になります。
この2つのファイルを編集することにより、Tomcatの振舞は細かく設定できますし、セキュリティーを高めることも可能です。
この2つについては、別途、server.xmlの設定によるTomcatの制御や、web.xmlの設定によるTomcatの制御で取り上げます。

*Tomcat使用上の注意点
今回、Tomcat-4.1でServletへの簡易アクセスを有効にしていますが、これは本来(運用では)止めておくべき物です。
ただし、簡易アクセスを止めると、web.xmlの編集が必項になります。
また、mod_jkやmod_jk2を使用する場合は、port:8080での接続も止めておくべきです。
port:8080はTomcat付属の簡易WEBサーバですから、運用ではmod_jkなどを使用しApacheと連係させることはほぼ必項でしょう。
このあたりも、server.xmlやweb.xmlで制御します。


Producted by Tomoya Sakurai