Struts2 自定义拦截器

写在开头 : 我在前面就说过 拦截器就是struts的核心

拦截器:
  所谓的拦截器就是指在Action之前和Action之后执行的程序代码 要是记不起来了 
    可以去慕课上面查 哪里理论比较全面。
  我们在struts.xml中是用的系统自带的拦截器 定义了超级多的功能名字是defalutStack
    接下来我重点写的是登录时拦截的程序
  我们知道 如果一般网站只有登录后才会允许你使用部分功能 。
  但是在我们的程序里 我们可以直接通过访问网页地址来访问 不用登录的情况下也可以 
  这个时候我们就需要拦截器的作用了

为了更好的看出效果 我们先写能够直接访问的action 然后再来写加了拦截器之后的情况

1.定义一个action 并在struts.xml中配置 我们发现在浏览器中可以之间键入这个action 可以直接访问 键入的url的格式是 项目名/包名/在action的name.action





2.下面我们来写登录的情况
登录的action (我这里就写了两个参数 一个用户名 一个密码)

需要注意的地方就是 这里是吧用户名和密码写图在session中 然后通过map来保存session的内容 我们会在后面的拦截器中判断是否有用户名 这里就是从map中取出的



在struts.xml中配置的action为

下面来重点写拦截器的配置

首先先是配置自定义拦截器的类


这里继承的包如上 由于我们进行判断的结果如下 如果正确就不拦截 如果不正确就拦截 所以需要在struts.xml中定义全局变量 用于响应这个login



然后需要在struts.xml中继续配置

1.首先 需要配置自定义拦截器


2.然后 需要配置拦截器栈 配置的原因就是: 如果配置了自定义的拦截器之后 那么自带的拦截器将不起作用 。而我们需要的大多数的功能在自带的拦截器中实现,所以我们需要将他们写在一起。


3.最后在我们最开始定义的action中调用这个拦截器栈


这样当我们再次不登录直接进入第一次进入的action时就会进入不了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值