利用struts2框架编写拦截器,未登录的会被拦截

1、原理

第一步: 自定义一个实现Interceptor接口(或者继承自AbstractInterceptor)的类。

第二步:在strutx.xml中注册上一步中定义的拦截器。

第三步:在需要使用的Action中引用上述定义的拦截器,为了方便也可将拦截器定义为默认的拦截器,这样在不加特殊声明的情况下所有的Action都被这个拦截器拦截。

2、服务器自定义拦截器,继承AbstractInterceptor类,重写intercept方法。

@Override
    public String intercept(ActionInvocation invocation) throws Exception {
        User user = (User) ServletActionContext.getContext().getSession().get("user");
        if(user==null) {
            ActionSupport actionSupport= (ActionSupport) invocation.getAction();
            actionSupport.addActionError("您还没有登录");
            return "login";  //跳转到登录页面
        }
        return invocation.invoke();   //已经登录,放行
    }

3.在struts.xml中注册拦截器(将拦截器放在和所需要拦截的action放在同一个package中,不需要拦截的action,抽出来另外写一个package放在里面)

4、代码地址:

https://github.com/xuexionghui/mavenbos.git

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值