设置全局的异常

自定义拦截器
public class LoginInterceptor extends MethodFilterInterceptor { // 为什么要继承这个类,因为他有一个除了...不拦截
protected String doIntercept(ActionInvocation actionInvocation) throws Exception {
// 前处理
System.out.println("前处理");
// 放行
actionInvocation.invoke();
// 后处理
System.out.println("后处理");
return null;
}
}
interceptor配置文件
<interceptors>
<!-- 1.注册拦截器 -->
<interceptor name="loginInterceptor" class="cn.x5456.web.interceptor.LoginInterceptor"></interceptor>
<!-- 2.注册拦截器栈 -->
<interceptor-stack name="myStack"> <!-- 给我们的拦截器栈起个名字 -->
<interceptor-ref name="loginInterceptor">
<!-- 指定哪些方法不拦截 -->
<param name="excludeMethods">login</param>
<!-- 指定哪些方法需要拦截 -->
<!--<param name="includeMethods">login</param>-->
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref> <!-- 将官方栈放入我们的栈中 -->
</interceptor-stack>
</interceptors>
<!-- 3.指定包中的默认拦截器栈 -->
<default-interceptor-ref name="myStack"></default-interceptor-ref>
单独为某个action设置指定的拦截器
<action name="Demo1Action_*" class="cn.itcast.a_interceptor.Demo1Action" method="{1}" >
<!-- 为Action单独指定走哪个拦截器(栈)
<interceptor-ref name="myStack"></interceptor-ref>-->
<result name="success" type="dispatcher" >/index.jsp</result>
</action>
注:拦截器无法拦截直接访问jsp,htm等页面
定义全局结果集

判断父界面是否在框架中,不在的话跳转到login.jsp
