zoukankan      html  css  js  c++  java
  • springmvc 拦截器的使用小结

    /**
    *
    *
    *
    * 拦截器的作用:
    * 每个请求到达Controller之前,或者每个响应到达view之前,都可以进行拦截。
    * 1.全局日志(谁提交了请求,要做什么事)
    * 2.权限管理(每个请求都能判断权限)
    * 代码:
    * 写一个类,实现springframework.web.servlet.HandlerInterceptor接口
    * preHandle请求前拦截(尚未执行Controller)
    * postHandle控制器执行完,生成视图之前可以加入的动作(加入模型中的公共部分,如版权信息)
    * afterCompletion 释放资源,比如在pre中打开了数据库链接,在这里可以进行关闭
    *


    * 这三个方法根据业务选,不实不编写代码就可以了。
    * 可以使用IOC给拦截器类的成员变量赋值

    如 

    @Autowired

    private   XXXservice   xxxservice;
    *

    三个方法都可以得到 HttpServletRequest  和  HttpServletResponse  ,  postHandle还能得到ModelAndView对象


    * 设置拦截器链
    * <mvc:interceptors>
    *     <mvc:interceptor>
    *         <mvc:mapping path=""/>  值为可选项。若不指定值,则默认拦截所有请求; 若指定值,则只拦截符合一定模式的请求(注意:配置标签必须加上,否则启动报错)。
    *                                 例子:<mvc:mapping path="/user/*"/>  eg:拦截user/下的所有请求
    *         <bean class="com.my.common.MyInterceptor"></bean>
    *     </mvc:interceptor>
    *
    *     <mvc:interceptor>  拦截器链中的第二个
    *  </mvc:interceptor>

    * </mvc:interceptors>
    *

    处理流程

    1请求沿着拦截器①--拦截器②…拦截器N的preHandle方法执行,最终到达控制器

    2在控制器执行完毕,将要生成视图之前依次执行拦截器N--拦截器N-1….拦截器②---拦截器①中的postHandle方法。
    *
    */

  • 相关阅读:
    Loadrunner系列学习--Loadrunner架构(1)
    Loadrunner学习---脚本编写(1)
    loadrunner学习系列---脚本编写(2)
    LoadRunner学习---脚本编写(4)(比较重要)
    LoadRunner内部结构(1)
    pat 1142
    pat 1025
    pat 1140
    c/c++ 常用函数/方法
    pat 1136
  • 原文地址:https://www.cnblogs.com/qq-757617012/p/4593002.html
Copyright © 2011-2022 走看看