struts2拦截器

拦截器类

public class FrontLoginInterceptor extends AbstractInterceptor {
 private static final long serialVersionUID = 0;
 HttpServletRequest request;
 static Logger logger = Logger.getLogger(LoginInterceptor.class);

 @Override
 public String intercept(ActionInvocation ai) throws Exception {
  // allow user to login
  String actionName = ai.getInvocationContext().getName();
  if (actionName.equals("publicLogin"))
   return ai.invoke();
  if (actionName.equals("message"))
   return ai.invoke();
  // check if is user login
  Map session = ai.getInvocationContext().getSession();
  String memberId = session.get(SessionArgument.MEMBERID) == null ? null
    : session.get(SessionArgument.MEMBERID).toString();
  String state = session.get(SessionArgument.STATE) == null ? ""
    : session.get(SessionArgument.STATE).toString();
  
  // 需要登录才能进入
  if (memberId == null)
   return "login";
  // 账号审核未通过,不允许进入 

 if (!"1".equals(state)) {
   request = ServletContextProvider.getRequest();
   request.setAttribute("msg", "你的注册信息尚未审核通过,不能进入会员中心!");
   return "msg";
  }
   return ai.invoke();
 }

}

 

struts.xml配置 将自己写的拦截器配置到interceptors下

<interceptors>
   <interceptor name="frontloginInterceptor"
    class="com.crigh.interceptor.FrontLoginInterceptor">
   </interceptor>
      <interceptor-stack name="managementStack">
     <interceptor-ref name="frontloginInterceptor"></interceptor-ref>
    <interceptor-ref name="defaultStack"></interceptor-ref>
   </interceptor-stack>
  </interceptors>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值