zoukankan      html  css  js  c++  java
  • Spring MVC拦截器

    一,拦截器案例

    自定义拦截器类

     配置文件

        

     二,拦截器的执行流程

       

    1.程序先执行preHandle()方法,如果该方法的返回值为true,则程序会继续向下执行处理器中的方法,否则将不再向下执行。

    2.在业务处理器(即控制器Controller类)处理完请求后,会执行postHandle()方法,进行视图渲染之前被调用,然后会通过DispatcherServlet向客户端返回响应。

    3.在DispatcherServlet处理完请求后,才会执行afterCompletion()方法作用域释放资源,抛出异常等等

    三,拦截器和过滤器的区别和联系

    1、过滤器

    依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要获取的数据,比如:在过滤器中修改字符编码;在过滤器中修改HttpServletRequest的一些参数,包括:过滤低俗文字、危险字符等

    2、拦截器

    依赖于web框架,在SpringMVC中就是依赖于SpringMVC框架。在实现上基于Java的反射机制,属于面向切面编程AOP)的一种运用。由于拦截器是基于web框架的调用,因此可以使用Spring的依赖注入(DI)进行一些业务操作,同时一个拦截器实例在一个controller生命周期之内可以多次调用。但是缺点是只能对controller请求进行拦截,对其他的一些比如直接访问静态资源的请求则没办法进行拦截处理

  • 相关阅读:
    格子地图生成导航网格
    Geometry Shader 实现 Wireframe 绘制边线的Shader
    体素爆炸
    弹孔,血迹 等受击表现
    Behaviac 腾讯开源行为树 简介(给策划)
    unable to unroll loop 报错
    Unity编辑器扩展
    追踪弹路径
    代码管理资源属性
    主机排行网重大更新,移动端自适应
  • 原文地址:https://www.cnblogs.com/liuying23/p/11842218.html
Copyright © 2011-2022 走看看