我有一个servlet处理匹配模式(* .sth)的请求。现在我想抛出一个404,如果URL被调用,它匹配模式但不应该被调用。我通过在HttpServletResponse上设置状态来做到这一点。 在web.xml中配置了404s的自定义错误页面。如果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>
设置状态:
response.setStatus(HttpServletResponse.SC_NOT_FOUND);
你可以添加一些代码 –
你打电话给setStatus或sendError? – home
sendError听起来很有希望! :) – Patrick