美文网首页
自定义拦截器

自定义拦截器

作者: Yanl__ | 来源:发表于2019-12-16 09:49 被阅读0次

1.对比
2.功能
3.实现步骤
4.拦截器栈

1. 对比

1.1 与AOP对比
AOP在特定方法前后扩充(对ServiceImpl)
拦截器,请求的拦截,针对点是控制器方法(对Controller)
1.2 与Filter对比
拦截器只能拦截Controller
Filter可以拦截任何请求

2.功能:

  1. preHandle (进入控制器之前执行):如果返回值是false,则阻止进入控制器。
  2. postHandle (控制器执行完成,进入到jsp之前执行的内容):日志记录,敏感词语过滤
  3. afterCompletion (jsp执行完成后执行的内容):记录在执行过程中出现的异常,可以把异常记录到日志中

3.实现步骤:

  1. 新建类实现HandlerInterceptor
    public class DemoInterceptor implements HandlerInterceptor {}
  2. 在springmvc.xml 配置拦截器需要拦截哪些控制器
    2.1 拦截所有控制器
    2.2 拦截特定的的url
1. 拦截所有控制器
<mvc:interceptors>
    <bean class="com.steer.interceptor.DemoInterceptor"></bean>
</mvc:interceptors>

2. 拦截特定的的url
<mvc:interceptors>
    <mvc:interceptor>
        <mvc:mapping path="/demo"/>
        <mvc:mapping path="/demo1"/>
        <mvc:mapping path="/demo2"/>
        <bean class="com.steer.interceptor.DemoInterceptor"></bean>
    </mvc:interceptor>
</mvc:interceptors>

4.拦截器栈

  1. 多个拦截器同时生效时,组成了拦截器栈
  2. 顺序:先进后出.
  3. 执行顺序和在springmvc.xml 中配置顺序有关

相关文章

网友评论

      本文标题:自定义拦截器

      本文链接:https://www.haomeiwen.com/subject/cxsrnctx.html