2

ファイルではweb.xml、次のようにエラー ページを指定しようとしています。

<error-page>
    <location>/WEB-INF/jsp/admin/ErrorPage.jsp</location>
</error-page>

Servlet 3.0 によると、エラー コードなしで動作することを期待していますが、そうではありません。次のように動作するには、適切なエラー コードを明示的に指定する必要があります。

<error-page>
    <description>Missing page</description>
    <error-code>404</error-code>
    <location>/WEB-INF/jsp/admin/ErrorPage.jsp</location>
</error-page>

前者のアプローチが Servlet 3.0 で機能しないのはなぜですか?


NetBeans 7.2.1 にアップグレードしました。Servlet 3.0 API を持つ Apache Tomcat 7.0.27.0 をサポートします。

ちなみに、次の警告が表示されるため、HTTP モニターを無効にしました。

MonitorFilter::WARNING: 監視フィルターはチェーンの最初のフィルターでなければなりません。

アプリケーションで Spring セキュリティを使用したときに発生し、jiraの問題として報告されました。

4

1 に答える 1

1

この投稿をご覧ください。私はこれを個人的に作ったことはありません

<error-page>
    <location>/WEB-INF/jsp/admin/ErrorPage.jsp</location>
</error-page>

私があなたに与えたリンクで説明されているバグに関しては、Tomcat7で作業しています。ApacheがTomcatの新しいバージョンでそれを解決したかどうかはわかりませんが、疑わしいです。
私の前の声明はおそらく間違っていました。少し掘り下げて、私はこれを見つけました:https : //issues.apache.org/bugzilla/show_bug.cgi?id=52135そして問題はTomcat 7.0.29で解決されるべきだったので、あなたの唯一の解決策はpost-に更新することです29バージョン。

ここ:http : //tomcat.apache.org/tomcat-7.0-doc/changelog.html、バージョン7.0.29の変更ログで、このような問題が発生した理由を確認できます。

ネストされたロケーション要素のみを使用してエラーページを定義することにより、web.xmlで定義されるデフォルトのエラーページのサポートを追加します。この機能はサーブレット3.0仕様に含まれることを意図していたようですが、誤って省略されていました。(マルクト)

于 2013-01-25T08:42:17.490 に答える