Tomcat的版本=?
你到底要什麼?
答:如果你想在其他地方重定向不存在的Web應用程序,然後配置在ROOT Web應用程序的error-page
(又名默認Web應用程序)。
根Web應用程序處理還沒有被其他Web應用程序處理的所有請求。
B.如果你想配置「錯誤404」默認設置在所有Web應用程序處理:
這將是相當困難共享Web應用程序之間的JSP頁面(因人而異),但它是非常輕鬆共享一個servlet。
準備一個執行重定向的servlet。
E.g.擴展javax.servlet.http.HttpServlet
並覆蓋其「服務」方法。事情是這樣的:
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO: check that request.getMethod() is one of "GET", "HEAD", "POST"?
response.sendRedirect("http://www.test.com/404.html");
//// Or if you want better control over HTTP status code (302/307/...):
// response.reset();
// response.setStatus(302);
// response.setHeader("Location", "http://www.test.com/404.html");
}
把你的代碼放到lib
目錄的Tomcat —作爲一個罐子或包/類文件樹。
配置在conf/web.xml
servlet和它映射到一些URL有,例如/WEB-INF/404
<servlet>
<servlet-name>bar</servlet-name>
<servlet-class>foo.Bar</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>bar</servlet-name>
<url-pattern>/WEB-INF/404</url-pattern>
</servlet-mapping>
配置error-page
在conf/web.xml
由這個servlet提供服務的位置。
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/404</location>
</error-page>
如果這沒有幫助,還可以擴展ErrorReportValve
類。
可能的重複[如何處理不可用的Tomcat 7 webapps](http://stackoverflow.com/questions/30101895/how-to-handle-not-available-tomcat-7-webapps) – mkn