我有一個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