拦截器_总结

拦截器

用处:拦截用户请求、做请求判断处理
实现步骤:

  1. 定义类实现HanderIntercept接口,重写里面的方法,可选择性重写
  2. 在springMVC中声明拦截器,让框架知道
   <mvc:intercepts>
    <mvc:intercept>
        <!--指定拦截器的请求URL地址-->
        <mvc:mapping path="/**"/>
        <!--声明拦截对象-->
        <bean class="拦截器的全限定类名"/>
        <mvc:interceptor/>
    </mvc:intercept>
    <mvc:intercepts>

拦截器的执行时间:

  1. 请求之前 — 预处理方法,整个项目的入口,为真可向下继续执行
  2. 在控制器执行完后— 对原来的执行结果做二次修正
  3. 在请求处理后 —

多个拦截器的执行顺序

在springMVC的配置文件处声明多个拦截器,接着在写类都去实现HanderIntercept接口,重写响应的方法,在框架中保存多个拦截器是ArrayList,按声明先后顺序放入到ArrayList集合中。

   <mvc:intercepts>
    <!--第一个拦截器-->
    <mvc:intercept>
        <mvc:mapping path="/**"/>
        <bean class="拦截器的全限定类名"/>
        <mvc:interceptor/>
    </mvc:intercept>
    <!--第二个拦截器-->
		<mvc:intercept>
        <mvc:mapping path="/**"/>
        <bean class="拦截器的全限定类名"/>
        <mvc:interceptor/>
    </mvc:intercept>
    <mvc:intercepts>

执行顺序:
两个拦截器都为真:
拦截器11–>拦截器21—>处理器方法some.do方法—>拦截器22—>拦截器12---->拦截器23----->拦截器13

拦截器和过滤器的区别

  • 过滤器是servlet中的对象,拦截器是框架中的对象
  • 过滤器用来实现Filter接口,拦截器实现HanderIntercept接口
  • 过滤器用来设置request、response的参数,属性的,侧重对数据过滤的,拦截器是用来验证请求的,截断请求
  • 过滤器是在拦截器之前执行的
  • 过滤器是Tomcat服务器创建的对象,拦截器是springmvc容器创建的对象
  • 过滤器是一个执行时间点
  • 拦截器有是哪个执行时间点
  • 过滤器处理jsp、js、html,拦截器是侧重拦截Controller的对象,如果请求不能就被中央调度器接收,这个请求就不会执行拦截器
  • 拦截器拦截普通方法执行,过滤器过滤servlet请求响应
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值