dポイントプレゼントキャンペーン実施中!

こんにちは。
各種サイトを見ても詰まってしまったため、質問させていただきます。

Tomcat 5.0.28を使用しています。
HTTPのエラーコードを受け取ったときに、独自のエラーページを
表示させるには、web.xmlを編集すればよいことまではわかっています。
個々のWebアプリの設定であれば、(アプリケーションルート)/WEB-INF/web.xml
を編集することでカスタムエラーページを表示できました。

今回、Tomcatに配備しているすべてのWebアプリに対して、同じエラーページを表示させるつもりです。
この場合、$CATALINA_HOME/conf/web.xmlに同じような編集を
行えばよいということが下記サイトに書かれていました。
http://www.atmarkit.co.jp/fjava/javatips/064cont …

ここで問題なのが、web.xmlで
<error-page>
<error-code>404</error-code>
<lcoation>/error/404.html<location>
</error-page>
とした場合、404.htmlはどこにおけばよいかがわからず、適切に
表示されません。
各アプリごとの場合は、アプリケーションルートの直下に
errorディレクトリを作ればよいのですが・・・
conf/web.xmlに記述をした場合は、ルートはどこに
おいたらよいのでしょうか。

ちなみに
1.$CATALINA_HOME/webapps/error/404/html
2.$CATALINA_HOME/webapps/ROOT/error/404.html
3.$CATALINA_HOME/error/404.html
を試しましたが、いずれもうまくいきませんでした。

また1.の設定の場合、server.xmlに記述を追加して
errorコンテクストを配備しています。
<Context path="/error" docBase="error" ....>


基本的な質問かもしれませんが、何卒よろしくお願いします。

A 回答 (2件)

#1 です


少し違いましたね Tomcat 単体で動かして確認しました

<error-page>
<error-code>404</error-code>
<lcoation>/error/404.html<location>
</error-page>

とした時アプリ /app1 以下で 404 を出した時と
/app2 以下で 404 の場合ではそれぞれ違う場所を参照しているようです
/app1 の時は /app1/error 以下の 404.html
/app2 の時は /app2/error 以下の 404.html ですね

この回答への補足

やっぱ個別のアプリごとに404.htmlを用意するしかないのでしょうかね。
conf/web.xmlにエラーページ記述をしたら、どこのアプリ配下で
404を受け取っても同じページに遷移するようにはできないもんなのかと悩んでます・・・

補足日時:2007/11/13 03:54
    • good
    • 0

Tomcat が単体で動いているなら



$CATALINA_HOME/webapps/ROOT/error/404.html

でいいと思いますが Apache と共に動いていれば
Apache の /error/404.html を参照するのではないでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!