过滤器与拦截器的区别

过滤器:可以拦截任何请求和相应(任何资源,静态或servlet资源)

拦截器:只能拦截Action资源(拦截器是Struts2特有的概念)

作用:两者的作用都是一样的,拦截请求和相应

过滤器概述:

  • 什么是过滤器?过滤器就是一个接口javax.servlet.Filter
  • servlet技术的三个组件:
    • javax.servlet.Servlet接口:用于处理请求和响应
    • javax.servlet.Filter接口: 过滤器 
    • javax.servlet.XXXListener接口: 监听器
  •  以上组件共同的特点:
    • web应用的组件
    • 需要web服务器(比如Tomcat)运行
    • 需要在web应用的web.xml文件配置
  • 过滤器开发步骤
    • 编写一个java类,实现javax.servlet.Filter接口
    • 在项目的web.xml文件中进行配置
    • 访问目标资源(而不是访问过滤器)
  • 过滤器生命周期
    • 构造方法: 创建对象时调用(过滤器是单例的)
    • init:  初始化方法,创建完过滤器对象之后调用
    • doFilter: 每次发出请求目标资源时
    • destroy:销毁过滤器对象时调用 
  • 过滤器链(FilterChain)
    • 概念: 一个目标资源同时被多个过滤器所过滤,则形成一个过滤器链
    • 过滤器链的优先级问题:是由<filter-mapping>的顺序决定的,先配置的先执行!! 

拦截器概述: 

  • 作用:在访问Action之前或者之后执行拦截任务
  • 开发步骤
    • 编写类,实现Interceptor接口
    • 在struts.xml文件中给Action配置拦截器
  • 拦截器栈
    • 概念:希望一个Action被多个拦截器所拦截,就要使用拦截器栈进行拦截
    • 配置
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值