zoukankan      html  css  js  c++  java
  • springmvc拦截器

     Java Servlet 的过滤器(Filter)类似,它主要用于拦截用户的请求并做相应的处理,通常应用在权限验证、记录请求信息的日志、判断用户是否登录等功能上。

    Spring MVC 框架中定义一个拦截器需要对拦截器进行定义和配置,定义一个拦截器可以通过两种方式:一种是通过实现 HandlerInterceptor 接口或继承 HandlerInterceptor 接口的实现类来定义;另一种是通过实现 WebRequestInterceptor 接口或继承 WebRequestInterceptor 接口的实现类来定义。

    实现 HandlerInterceptor 接口

    preHandle 方法:该方法在控制器的处理请求方法前执行,其返回值表示是否中断后续操作,返回 true 表示继续向下执行,返回 false 表示中断后续操作。

    postHandle 方法:该方法在控制器的处理请求方法调用之后、解析视图之前执行,可以通过此方法对请求域中的模型和视图做进一步的修改。

    afterCompletion 方法:该方法在控制器的处理请求方法执行完成后执行,即视图渲染结束后执行,可以通过此方法实现一些资源清理、记录日志信息等工作

    1.<!-- 配置拦截器 -->
    2.<mvc:interceptors>
    3.<!-- 配置一个全局拦截器,拦截所有请求 -->
    4.<bean class="interceptor.TestInterceptor" /> 
    5.<mvc:interceptor>
    6.<!-- 配置拦截器作用的路径 -->
    7.<mvc:mapping path="/**" />
    8.<!-- 配置不需要拦截作用的路径 -->
    9.<mvc:exclude-mapping path="" />
    10.<!-- 定义<mvc:interceptor>元素中,表示匹配指定路径的请求才进行拦截 -->
    11.<bean class="interceptor.Interceptor1" />
    12.</mvc:interceptor>
    13.</mvc:interceptors>
  • 相关阅读:
    css取消input、select默认样式(手机端)
    Vue解决sass-loader的版本过高导致的编译错误
    在Vue项目中引入element-ui,显示结果没有样式的问题
    修改Vue项目打开指定浏览器和修改端口号
    Vue如何关闭eslint
    停止事件冒泡
    子组件中定义的方法如何传给父组件调用了呢?
    vue自定义时间过滤器之使用date-fans代替moment
    面试5(每日打卡)
    2019.10.22
  • 原文地址:https://www.cnblogs.com/cstxx77/p/12698256.html
Copyright © 2011-2022 走看看