• SpringMVC拦截器(慕课网)


    拦截器:通过统一拦截从浏览器发往服务器的请求来完成功能的增强

    使用场景:解决请求的共性问题 如:乱码、权限验证

    基本工作原理:拦截器和过滤器的工作原理相似

    乱码问题:使用Spring过滤器(Filter) org.springframework.web.filter

    在web.xml中配置filter

    拦截器的实现:

    1、编写拦截器类实现HandlerInterceptor接口

    2、将拦截器注册进SpringMVC框架中

    3、配置拦截器的拦截规则

    (1)在pom.xml中添加dependency

    (2)实现HandlerInterceptor接口 

     (3)将拦截器注册进Springmvc框架中(需要添加mvc)

     

    运行的执行顺序

    所有的请求全部经过了拦截器

    (4)配置拦截器的拦截规则 拦截所有viewAll的请求

     

     拦截器方法介绍:

     

    从拦截器返回数据:

    afterCompletion方法一般用于关闭资源

    多个拦截器的应用:

    配置多个拦截器:

    再创建一个拦截器TestInterceptor01

    拦截器的执行顺序:

    执行顺序:

    拦截器的其他实现方式:

    (1)实现webRequestInterceptor接口

    (2)向SpringMVC框架中注册的写法不变

    (3)弊端:preHandle方法没有返回值 不能终止请求

    拦截器的使用场景:处理所有请求的共性问题

     (1)乱码

    (2)权限验证

     

    拦截器和过滤器的对比以及总结:

    区别: 

    (1)过滤器Filter依赖于Servlet容器,基于回调函数,过滤范围大

    (2)拦截器Interceptor依赖于框架容器,基于反射机制,只过滤请求

    总结:

    拦截器可以处理Web应用中请求的一些通用性问题

    共性问题在拦截器中处理,可以减少重复代码,便于维护

  • 相关阅读:
    ccr1
    与非CCR代码互操作
    ccr test
    CCR
    tpl + ccr
    TPL
    利用 Rational ClearCase ClearMake 构建高性能的企业级构建环境
    Android错误:Re-installation failed due to different application signatures
    C 单例模式
    C 工厂模式 还有其他的模式
  • 原文地址:https://www.cnblogs.com/zhy-study/p/9213399.html
Copyright © 2020-2023  润新知