web.xml中添加这一段,处理404等状态信息,注意是error-code
web.xml中添加这一段,处理异常信息,注意是exception-type
这样以来,出现404等错误的时候,就转到_error.htm页面了,出现异常则转到_error.jsp页面。
[color=red]没搞明白的是,404里面,如果往jsp页面转的话,转不了,只能写成htm后缀的,这应该不是问题,有时间再处理。[/color]
在_error.jsp页面中,截取exception并保存到数据库:
至于_error.jsp里面显示的信息,就随自己写了
<error-page>
<error-code>400</error-code>
<location>/_error.htm</location>
</error-page>
<error-page>
<error-code>401</error-code>
<location>/_error.htm</location>
</error-page>
<error-page>
<error-code>403</error-code>
<location>/_error.htm</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/_error.htm</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/_error.htm</location>
</error-page>
<error-page>
<error-code>503</error-code>
<location>/_error.htm</location>
</error-page>
<error-page>
<error-code>505</error-code>
<location>/_error.htm</location>
</error-page>
web.xml中添加这一段,处理异常信息,注意是exception-type
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/_error.jsp</location>
</error-page>
这样以来,出现404等错误的时候,就转到_error.htm页面了,出现异常则转到_error.jsp页面。
[color=red]没搞明白的是,404里面,如果往jsp页面转的话,转不了,只能写成htm后缀的,这应该不是问题,有时间再处理。[/color]
在_error.jsp页面中,截取exception并保存到数据库:
System.out.println("----------------------------------------------------------");
System.out.println("记录异常:");
System.out.println("----------------------------------------------------------");
StringBuffer str = new StringBuffer();
str.append("<div>系统执行发生错误,信息描述如下:</div>");
str.append("<div>status:" + pageContext.getErrorData().getStatusCode() + "</div>");
str.append("<div>from page:" + pageContext.getErrorData().getRequestURI() + "</div>");
str.append("<div>exception:" + pageContext.getErrorData().getThrowable() + "</div>");
str.append("<div>");
str.append(" Trace:");
str.append("<hr />");
StackTraceElement[] stackTraceElement = pageContext.getException().getStackTrace();
for(StackTraceElement stack : stackTraceElement){
str.append(" " + stack + "<br />");
}
str.append("</div>");
Dao.getCommonFacade().update("insert into gg_exception (id,content,fbsj) values ('"+ StringUtil.getUUID() +"','"+ str.toString() +"',"+ DateUtil.getCurrentDate14() +")");
至于_error.jsp里面显示的信息,就随自己写了