作用:在访问action前,后 拦截,验证或进行相应处理。本人使用拦截器是要实现登录验证功能,在访问每个action前,验证是否存在用户session
1. 编写struts2 web.xml
/index.jsp /Error.jsp /Error.jsp /Error.jsp /UserManage.jsp
1 public class LoginInterceptor extends AbstractInterceptor { 2 @Override 3 public String intercept(ActionInvocation invocation) throws Exception { 4 System.out.println("映射"); 5 // 取得请求相关的ActionContext实例 6 ActionContext ctx = invocation.getInvocationContext(); 7 Map session = ctx.getSession(); 8 String userRule = (String) session.get("RULE"); 9 // 如果没有登陆,或者权限rule首位不为1(没有该类权限),都返回重新登陆 10 if (userRule != null && userRule.charAt(0)=='1') { 11 System.out.println("已登录"); 12 return invocation.invoke(); 13 } 14 ctx.put("return", "你还没有登录"); 15 return Action.LOGIN; 16 } 17 }