ファイヤープロジェクト
Strutsのサンプルを動かしてみる
2003-07-20T15:13+09:00   matsu
Strutsはバイナリでもあるんだけど,なんとなくソースから構築をこころみた.が,JDBCのライブラリがないとビルドに失敗する.で,断念.で,Jakartaからバイナリを落す.
せっかくだからStrutsのサンプル用にサーブレットコンテキストを作成してみる.server.xmlを見ると,
<Host name="localhost" appBase="webapps" unpackWARs="true" >
となっているので,Tomcatのコンテキストはデフォルトでは$TOMCAT_HOME/webappsの下である.なお,DebianパッケージではWARファイルをTomcat起動時に自動的に展開するための属性unpackWARsがfalseになっていた.
で,$TOMCAT_HOME/wabappsにディレクトリを作成するとTOMCATがそいつをコンテキストとしてくれる.今回はこいつを使用するのではなく,別の場所にコンテキストを作成してみる.
デフォルトとは違う場所にコンテキストを作成するにはserver.xmlのHost要素の内容にContext要素を記述する.
<Context path="/struts-examples/example"
    docBase="/home/tomcat/struts-examples/struts-example"
    debug="0" reloadable="true" />

<Context path="/struts-examples/blank"
    docBase="/home/tomcat/struts-examples/struts-blank"
    debug="0" reloadable="true" />

<Context path="/struts-examples/upload"
    docBase="/home/tomcat/struts-examples/struts-upload"
    debug="0" reloadable="true" />

<Context path="/struts-examples/documentation"
    docBase="/home/tomcat/struts-examples/struts-documentation"
    debug="0" reloadable="true" />

<Context path="/struts-examples/exercise-taglib"
    docBase="/home/tomcat/struts-examples/struts-exercise-taglib"
    debug="0" reloadable="true" />
これでwebappsディレクトリの下ではない属性docBaseの値が示すパスがコンテキストとなる.そして属性pathの値をいれるとそこへアクセスできる.
あと必要があれば,apacheと連係するためにhttpd.confでJkMountを書く.必要があるかどうかは要素Contextの属性pathの値による.
JkMount /struts-examples ajp13
JkMount /struts-examples/* ajp13
さて,前節のコンテキストの作成方法を踏まえて,Strutsのサンプル用コンテキストを作成してStrutsのサンプルを見てみる.
まず,前節で作成した要素Contextの属性docBaseで指定したパスに実際にStrutsのサンプルを置く.
mkdir /home/tomcat/struts-examples
cp struts-example.war /home/tomcat/struts-examples/
同様にしてstruts-blank.warやstruts-upload.warなどを置く.上記のように,server.xmlでunpackWARs="true"とすれば,warを置くだけで勝手に展開してくれるはずだが,なぜかしてくれない(wabappsの下においても展開してくれなかった).ので,自分でunzipした.
mkdir /home/tomcat/struts-examples/struts-example
cd /home/tomcat/struts-examples/struts-example
unzip ../struts-example.war
これらが終ったら,サーバを再起動.
/etc/init.d/tomcat4 restart
/etc/init.d/apache restart
そしてhttp://host名/struts-examples/example/ 等にアクセスすると,サンプルが表示される.
matsu(C)
Since 2002
Mail to matsu