/**
*
*
*
* 拦截器的作用:
* 每个请求到达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方法。
*
*/

springmvc 拦截器的使用小结的更多相关文章

  1. Spring+SpringMVC+MyBatis深入学习及搭建(十七)——SpringMVC拦截器

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7098753.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十六)--S ...

  2. SpringMVC拦截器的使用

    SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那 ...

  3. SpringMVC拦截器详解[附带源码分析]

    目录 前言 重要接口及类介绍 源码分析 拦截器的配置 编写自定义的拦截器 总结 总结 前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:h ...

  4. SpringMVC拦截器2(资源和权限管理)(作为补充说明)

    SpringMVC拦截器(资源和权限管理) 1.DispatcherServlet SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServle ...

  5. SpringMVC拦截器(实现登录验证拦截器)

    本例实现登陆时的验证拦截,采用SpringMVC拦截器来实现 当用户点击到网站主页时要进行拦截,用户登录了才能进入网站主页,否则进入登陆页面 核心代码 首先是index.jsp,显示链接 <%@ ...

  6. SpringMVC拦截器Interceptor

    SpringMVC拦截器(Interceptor)实现对每一个请求处理前后进行相关的业务处理,类似与servlet中的Filter. SpringMVC 中的Interceptor 拦截请求是通过Ha ...

  7. 五 : springMVC拦截器

    springMVC拦截器的实现一般有两种方式 第一种方式是要定义的Interceptor类要实现了Spring的HandlerInterceptor 接口 第二种方式是继承实现了HandlerInte ...

  8. 基于SpringMVC拦截器和注解实现controller中访问权限控制

    SpringMVC的拦截器HandlerInterceptorAdapter对应提供了三个preHandle,postHandle,afterCompletion方法. preHandle在业务处理器 ...

  9. 解决SpringMVC拦截器中Request数据只能读取一次的问题

    解决SpringMVC拦截器中Request数据只能读取一次的问题 开发项目中,经常会直接在request中取数据,如Json数据,也经常用到@RequestBody注解,也可以直接通过request ...

随机推荐

  1. PTA (Advanced Level) 1028 List Sorting

    List Sorting Excel can sort records according to any column. Now you are supposed to imitate this fu ...

  2. 利用meta标签将http请求换成https请求

    最近网站升级为https之后,为了防止一些http文件没有修改而引起的问题,可以加一个meta标签: <meta http-equiv="Content-Security-Policy ...

  3. Linux skbuff注释笔记

    SKB结构定义   /usr/src/linux/include/linux/skbuff.h sk_buff_head: struct sk_buff_head { //SKB的头结点 /* The ...

  4. How to update Ionic cli and libraries

    1)npm outdated 2)手动修改你项目的package.json文件,找对应的版本号 3)npm update 重新安装包就可以了. 转自:http://devfanaticblog.com ...

  5. AngularJS内建服务以及自定义服务的用法

    在AngularJS中, 服务是一个比较重要的部分,它是一个对象或者是函数,可以在你的AngularJS的应用中使用.接下来介绍几种比较常用的内建服务以及自定义服务的方法. [内建服务] (1)loc ...

  6. 【转】实现Sqlite datediff日期时间相减的方法

    对sqlite既恨又爱,在小项目里,用sqlite开发起来非常方便,效率足够用.美中不足的是sqlite精简了些功能及相关函数.如存储过程,datediff,不支持并发写入及远程访问(或许有些高手说这 ...

  7. 从Object对象中读取属性的值

    C#是强类型语言,强到多变态?一个对象没有定义某个属性,你想点出来,IDE直接给你报语法错误.远不如js那么自由,想怎么点怎么点. 如果你从别人接口中拿到的就是Object类型,你想获取某个属性的值怎 ...

  8. github上老外做的jQuery虚拟键盘

    jQuery官方比较迟滞的更新版本: http://plugins.jquery.com/keyboard/ 最新版本更新官方地址: https://github.com/Mottie/Keyboar ...

  9. MySQL5:触发器

    什么是触发器 MySQL的触发器(trigger)和存储过程一样,都是嵌入到MySQL中的 一段程序.触发器是由事件来触发某个操作,这些事件包括INSERT.UPDATE和DELETE语句.如果定义了 ...

  10. Java:使用DOM4j来实现读写XML文件中的属性和元素

    DOM4可以读取和添加XML文件的属性或者元素 读取属性: public static void ReadAttributes() throws DocumentException { File fi ...