7

私の設定:Apache 2.2 + Tomcat 6.0 @ Windows 2008R264ビット

  • 静的ウェブページ:/
  • サーブレット:/ foo
  • tomcatとapacheはmod_jkで接続されています
  • 404.jspはtomcat\webapps\ROOTに配置されます

tomcat \ conf \ web.xml:

<error-page>
 <error-code>404</error-code>
 <location>/404.jsp</location>
</error-page>

apache \ conf \ extra \ httpd-ssl.conf:

JkMount /foo/* worker1
JkMount /404.jsp worker1

https://...../404.jspを開くと、カスタムエラーページが表示されます。しかし、https://...../foo/nonexisting.htmlを開くと、空のページが表示されます。

<error-page>...</error-page>web.xmlからコードを削除してhttps://...../ foo / nonexisting.htmlを開くと、tomcats独自の404が表示されます。

ヒントはありますか?

4

7 に答える 7

2

Jkmountには、パラメータとしてコンテキストが必要です。例:

JkMount /mycontext/* worker1

次に、ページは次のようにアクセスされます。

https://mycontext/someservlet/

また

https://mycontext/foo/nonexisting.html 
于 2012-11-28T21:20:32.167 に答える
1

私が見る限り、WebアプリのエラーはROOTに配置されたエラーページでは処理できません。これで、すべてのWebアプリケーション(/foo/404.jsp、/bar/404.jsp、...)に404.jspを配置し、機能するようになりました。ROOTの404.jspを安全に削除できますが、/fooまたは/barの404.jspを削除すると、いずれかのWebアプリで404が発生すると、空白のページが表示されます。tomcatが「location」要素の先頭の/を無視するか、この要素のコンテンツが「呼び出し元」のwebappのパスに追加されます。

于 2011-01-17T13:50:16.633 に答える
0

私もこの問題を抱えていましたが、原因は、アプリケーションコンテキストルートの名前をエラーページの場所に入力したことでした。あれは、

<error-page>
 <error-code>404</error-code>
 <location>/MyApp/404.jsp</location>
</error-page>

もちろんそうあるべきだったのに

<error-page>
 <error-code>404</error-code>
 <location>/404.jsp</location>
</error-page>
于 2011-01-20T15:22:37.550 に答える
0

注:指定するページが数字(例:404.jsp)で始まっていないことを確認する必要があります。これは、Java構文によれば、クラス名を数字で始めることができないためです。

http://www.jguru.com/faq/view.jsp?EID=492774

お役に立てば幸いです:-)

于 2011-01-07T11:13:04.943 に答える
0

404.jspの読み込み時に正常に動作し、Tomcatが実際にページを使用して404エラーを処理しようとすると空白のページが表示される場合は、エラーデータを使用することによってのみトリガーされる404.jspのソースコードにエラーがあることを意味している可能性があります物体。

ログを確認してください。同様の空白ページの問題が発生していましたが、 taglibのURLが正しくないことが判明しました。

編集

また、Tomcatはすでにこれらの404を生成しているため、JkMountは必要ありません(つまり、Apacheの範囲外です)。

于 2011-01-14T23:44:12.103 に答える
0

静的Webプロジェクトの実行中にこの問題に直面しました。次の実装を実行しましたが、うまくいきました。

%CATALINA_HOME%/ conf/web.xmlに次の行を追加しました

    <error-page> 
    <error-code>404</error-code>
    <location>/error_404.html</location>
    </error-page>
于 2014-04-28T12:32:30.497 に答える
-1

正確に404ページが見つからないかどうかを示していますか?400,401,403,500のような他のいくつかのエラーコードも利用できるからです。このhttp://docs.yahoo.com/docs/writeus/error.htmlについては、このリンクを ご覧ください。

他にエラーコードがある場合は、web.xmlファイルにもそのエラーコードを追加してください。これがお役に立てば幸いです。ハッピーコーディング...

于 2010-12-02T07:11:07.340 に答える