Tomcatにコンテキストを追加する

TomcatではHTMLやJSP、Servletなど1つのアプリケーションを構成するものをまとめて、
WebApplicationと呼んだり、Contextと呼んだりします。

デフォルトでは$CATALINA_HOME/webappsがWebApplicationのベースディレクトリとなっていますので、
たとえば、新たにBigCare2というコンテキストを追加したい場合、$CATALINA_HOME/webappsの配下に
BigCare2というディレクトリを追加する方法があります。

この場合の追加作業手順は、

1:ディレクトリを作成する。
2:server.xmlに記述を追加する。
後は確認のために
3:Tomcatをstartする。
4:servletを動かしてみる。

となります。


1:作成したディレクトリ(/BigBare2以下)

BigCare2/WEB-INF/classesの下にServlet(HelloWorldExample.class)を配置しました。


web.xmlは各contextごとに存在しなくても動作します。もちろん実際に運用する場合には、必要になると思われますが。
すべてのcontextに共通のweb.xmlが$CATALINA_HOME/confに存在しています。







2:server.xml ‚É記述を追加する。
        <!-- Tomcat BigCare2 Context        -->
        <Context path="/bigcare2" docBase="BigCare2" debug="0"
                 reloadable="true" crossContext="true"/>


4:動作確認
 
サンプルで作ったサーブレット、HelloWorldExampleを実行するURLは

http://localhost:8080/bigcare2/servlet/HelloWorldExample

になります。

$CATALINA_HOME/conf/web.xmlの注釈によると、web.xmlにマッピングされていないservletは、InvokerServletというservletによって起動されます。
InvokerServletはURLパターンでは/servlet/xxxxxxxxと表現されます。
このため、このたび追加したcontext"BigCare2"には、servletと名前の付いているディレクトリは無いにも関わらず、
指定するURLには/servlet/と入ります。