Tomcat5.0でルートページをサーブレットに
http://example.com/
とかドキュメントルートでサーブレットに飛ばす方法。
http.confの設定
Apache mod_jk + Tomcat
なので、http.confに以下を追加。
片方だとダメ。これですべてのリクエストがTomcatへ渡る。
(というかそれならTomcatをポート80にあげればいいじゃんという意見もあると思うが、今回はVirtualHost使ってるのでそれはできなかった)
JkMount / ajp13 JkMount /* ajp13
Contextのxmlを配置
$CATALINA_HOME/conf/Catalina/localhostに
myservlet.xmlを配置
<Context path="/" docBase="myservlet" debug="0"> </Context>
んで、まだ動かない。以下落とし穴2つ。
落とし穴1 webapps/ROOTが悪さをしていた。
webapps/ROOTが先にルートページを奪っていたのでディレクトリごと消した。
落とし穴2 画像とかが出ない
web.xmlを以下のようにしてたのだが、画像がまったくでない。
<servlet-mapping> <servlet-name>myservlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
どうも画像とかのリクエストも全部サーブレットに渡されている模様。
そこで以下のようにして、ルートにアクセスしたときにサーブレットにアクセスするようにした。
<servlet-mapping> <servlet-name>myservlet</servlet-name> <url-pattern>/myservlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>myservlet</welcome-file> </welcome-file-list>