公司项目是struts2 。建立一个异常拦截类实现 Interceptor接口
public class ExceptionInterceptor implements Interceptor {
public void destroy() {
}
public void init() {
}
public String intercept(ActionInvocation ai) throws Exception {
try {
return ai.invoke();
} catch (Exception e) {
e.printStackTrace();
// 处理异常,报错时转向统一的错误页面
return "error";
}
}
}
struts2 中struts.xml配置如下
<package name="default" extends="struts-default">
<!-- 定义拦截器
name:拦截器名称
class:拦截器类路径-->
<interceptors>
<interceptor name="exceptionInterceptor" class="interceptor.ExceptionInterceptor"/>
<interceptor-stack name="securityStack">//其他的
<interceptor-ref name="exceptionInterceptor"/>//映射类名
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<!-- session 超时拦截 -->
<default-interceptor-ref name="securityStack"></default-interceptor-ref>
<!-- 全局results配置 -->
<global-results>
<result name="sessionTimeout">/timeout.jsp</result>
<!-- 跳转到错误页面的result -->
<result name="error">
/business/404/error.jsp //跳转error的请求,转到对应错误的页面
</result>
</global-results>
</package>