用尽各种办法,最管用的还是下面这一种。
优点:
1、404、500都能正确跳转。包括找不到Action、找不到ActionMethod、throw Exception、Throwable。
2、500可输出错误信息。
3、可替换Struts2和Tomcat的错误页面。做到真正自定义。
配置:
Web.xml
<error-page>
<error-code>404</error-code>
<location>/error.html</location>
</error-page>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error.html</location>
</error-page>
404页面可为静态的页面,没有错误信息,可自定义。
500页面如下:
<%@ page language=”java” contentType=”text/html; charset=UTF-8″ pageEncoding=”UTF-8″%>
<%@ page isErrorPage=”true” import=”java.io.*”%>
<%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c” %>
<%@ taglib uri=”http://java.sun.com/jsp/jstl/fmt” prefix=”fmt” %>
<%@ taglib prefix=”s” uri=”/struts-tags”%>
Message:
<%=exception.getMessage()%>
StackTrace:
<%
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
exception.printStackTrace(printWriter);
out.println(stringWriter);
printWriter.close();
stringWriter.close();
%>
以上页面都可以自己美化。