美文网首页
自定义拦截器

自定义拦截器

作者: 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