在一个web工程中,很多地方都有异常需要处理。比较好的方法是:定义一个自己的异常类。在又可能发生异常的地方,都抛出这个异常类的一个实例。然后用一个jsp页面处理。
异常类如下:
public class MyException extends Exception {
public MyException(){
super();
}
public MyException(String message){
super(message);
}
}
然后在stuts配置文件struts-config.xml中配置一个全局异常如下:
<global-exceptions> <exception type="com.upload.common.MyException" key="aa" path="/error.jsp"> </exception> </global-exceptions>
资源配置文件ApplicationResources如下(这里的aa对应配置文件中的key的值):
aa={0}
错误页面error.jsp如下:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312" isErrorPage="true"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>错误</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <script type="text/javascript"> function returnHistory(){ window.history.back(); } </script> <body> <center> <html:errors /><br/> <input type="button" value="返 回" οnclick="returnHistory()"/> </center> </body> </html>就这样OK了,在整个工程中,所有异常处理的地方都throw new MyException("异常提示信息!");那所有的异常,错误产生时都跳转到错误页面