Struts2的过滤器和拦截器

过滤器FilterDispacher

在req传入前提前过滤掉一些信息,或者设置一些参数,然后再传入Action进行业务逻辑,如过滤非法的URL(用户登录控制),统一设置字符集,去掉一些非法字符

拦截器Interceptor

Action方法前、后或者抛出异常时,调用一个方法完成业务逻辑的操作,如国际化、输出验证、文件上传

两者区别

  • 过滤器基于函数回调,拦截器基于反射机制
  • 过滤器倚赖Servlet容器,拦截器不依赖
  • 过滤器对所有的请求起作用,拦截器只是对Action起作用,但是拦截器可以访问Action的上下文、值栈里面的对象,过滤器不能访问。
  • 在Action生命周期,过滤器只能在容器中初始化一次,拦截器可以多次调用。

执行过程

过滤-拦截-Action处理-拦截-过滤
首先把客户端提交的内容进行过滤,未登录用户不能访问内部页面的处理,过滤通过后,拦截器将检查用户提交数据的验证,做一些前期的数据处理,接着把处理后的数据发给对应的Action。Action处理完成返回后,拦截器还可以做其他过程,再向上返回到过滤器的后续操作。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值