Struts2拦截器设置例外情况

来源:互联网 发布:unity3d游戏开发培训 编辑:程序博客网 时间:2024/05/18 06:28

权限拦截器如下:

/** * 权限拦截器 * 拦截非登录用户 * @author Administrator * */public class AuthorInterceptor extends AbstractInterceptor{@Overridepublic String intercept(ActionInvocation arg0) throws Exception {//如果是登录请求则直接放行Object o = arg0.getAction();System.out.println(o.getClass());if(o instanceof LoginAction){return arg0.invoke();}//拦截非登录用户//获取SessionMap session = arg0.getInvocationContext().getSession();//判断用户是否已登录Users u = (Users)session.get("user");if(u==null){//未登录用户,将被拦截到登录页面System.out.println("非法请求已被拦截,系统将跳转到登录页面!!!!!!!");return "login";}else{//放行return arg0.invoke();}}}

配置如下:

<struts><!-- 配置编码(防止中文乱码) --><constant name="struts.i18n.encoding" value="utf-8"></constant><package name="default" extends="struts-default" namespace="/"><!-- 拦截器定义 --><interceptors><!--注册自定义的拦截器 --><interceptor name="auth" class="com.hr.interceptor.AuthorInterceptor"></interceptor><!-- 自定义拦截器栈 --><interceptor-stack name="myStack"><!-- 自定义拦截器栈的第一个拦截器一定要配置成系统默认拦截器 --><interceptor-ref name="defaultStack"></interceptor-ref><!-- 将自定义的拦截器加入到自定义的拦截器栈 --><interceptor-ref name="auth"></interceptor-ref></interceptor-stack></interceptors><!-- 将自定义拦截器栈设置为默认拦截器 --><default-interceptor-ref name="myStack"/><!-- 配置默认Action(当其他Action不能匹配的时候自动匹配此Action --><default-action-ref name="defaultAction"/><!-- 定义全局视图 --><global-results><result name="error">error.jsp</result><result name="404">/404.jsp</result><result name="login">/login.jsp</result></global-results><!-- 定义默认Action --><action name="defaultAction"><!-- name属性默认值为 success --><result>/404.jsp</result></action><action name="login" class="com.action.LoginAction"><result name="index">index.jsp</result></action><!-- 用户处理Action --><action name="user" class="com.action.UserAction"><!-- 动态结果 --><result type="redirectAction">${nextPos}</result><result name="index">/index.jsp</result><result name="ok">/ok.jsp</result><!-- redirectAction类型用于Action之间的转发 --><result name="m" type="redirectAction">/manage!mt.action</result><result name="update_user">/user_update.jsp</result></action><!-- 管理Action --><action name="manage" class="com.action.ManageAction"><result>/ok.jsp</result></action></package></struts>    


0 0