Java 重定向到配置的错误页面

Java 重定向到配置的错误页面,java,jakarta-ee,tomcat,web-applications,Java,Jakarta Ee,Tomcat,Web Applications,我有一个servlet,它处理与模式(*.sth)匹配的请求。现在我想抛出一个404,如果调用了URL,它与模式匹配,但不应该被调用。我通过设置HttpServletResponse上的状态来实现这一点。 在web.xml中,为404配置了一个自定义错误页。如果tomcat本身抛出404,则会打开此错误页面,但不会使用我的servlet。当然,我可以直接调用页面,但我对更通用的方式感兴趣,因为servlet也用于其他web应用程序。有没有办法让配置的错误页面能够重定向到它们,或者告诉web容器使

我有一个servlet,它处理与模式(*.sth)匹配的请求。现在我想抛出一个404,如果调用了URL,它与模式匹配,但不应该被调用。我通过设置HttpServletResponse上的状态来实现这一点。 在web.xml中,为404配置了一个自定义错误页。如果tomcat本身抛出404,则会打开此错误页面,但不会使用我的servlet。当然,我可以直接调用页面,但我对更通用的方式感兴趣,因为servlet也用于其他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>
我想

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

404
/error.do

应该在tomcat的conf文件夹中的
web.xml中。

'home'给出了正确的线索。使用
senderro()
而不是
setStatus()
可以满足我的需要。谢谢

你叫setStatus还是sendError?sendError听起来很有希望!:)
<error-page>
    <error-code>404</error-code>
    <location>/error.do</location>
</error-page>