0

パターン (*.sth) に一致するリクエストを処理するサーブレットがあります。ここで、URL が呼び出された場合、パターンに一致するが呼び出されることになっていない 404 をスローしたいと考えています。これを行うには、HttpServletResponse でステータスを設定します。web.xml には、構成された 404 のカスタム エラー ページがあります。このエラー ページは、Tomcat 自体が 404 をスローした場合に開かれますが、私のサーブレットでは開かれません。もちろん、ページを直接呼び出すこともできますが、サーブレットは他の Web アプリでも使用されているため、より一般的な方法に興味があります。構成されたエラー ページを取得してリダイレクトできるようにしたり、Web コンテナーにそれらを使用するように指示したりする方法はありますか?

web.xml スニペット:

<servlet>
    <display-name>Controller</display-name>
    <servlet-name>Controller</servlet-name>
    <servlet-class>com.example.Controller</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>Controller</servlet-name>
    <url-pattern >*.do</url-pattern>
</servlet-mapping>

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

設定状態:

response.setStatus(HttpServletResponse.SC_NOT_FOUND);
4

2 に答える 2

1

おもう

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

web.xml inside conftomcatのフォルダにあるはずです。

于 2012-10-25T08:53:46.523 に答える
0

「家」は正しい手がかりを与えました。sendError()代わりに使用するとsetStatus()、私が望むことができます。ありがとう!

于 2012-10-25T09:34:22.923 に答える