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方法。
*
*/
springmvc 拦截器的使用小结的更多相关文章
- Spring+SpringMVC+MyBatis深入学习及搭建(十七)——SpringMVC拦截器
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7098753.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十六)--S ...
- SpringMVC拦截器的使用
SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那 ...
- SpringMVC拦截器详解[附带源码分析]
目录 前言 重要接口及类介绍 源码分析 拦截器的配置 编写自定义的拦截器 总结 总结 前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:h ...
- SpringMVC拦截器2(资源和权限管理)(作为补充说明)
SpringMVC拦截器(资源和权限管理) 1.DispatcherServlet SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServle ...
- SpringMVC拦截器(实现登录验证拦截器)
本例实现登陆时的验证拦截,采用SpringMVC拦截器来实现 当用户点击到网站主页时要进行拦截,用户登录了才能进入网站主页,否则进入登陆页面 核心代码 首先是index.jsp,显示链接 <%@ ...
- SpringMVC拦截器Interceptor
SpringMVC拦截器(Interceptor)实现对每一个请求处理前后进行相关的业务处理,类似与servlet中的Filter. SpringMVC 中的Interceptor 拦截请求是通过Ha ...
- 五 : springMVC拦截器
springMVC拦截器的实现一般有两种方式 第一种方式是要定义的Interceptor类要实现了Spring的HandlerInterceptor 接口 第二种方式是继承实现了HandlerInte ...
- 基于SpringMVC拦截器和注解实现controller中访问权限控制
SpringMVC的拦截器HandlerInterceptorAdapter对应提供了三个preHandle,postHandle,afterCompletion方法. preHandle在业务处理器 ...
- 解决SpringMVC拦截器中Request数据只能读取一次的问题
解决SpringMVC拦截器中Request数据只能读取一次的问题 开发项目中,经常会直接在request中取数据,如Json数据,也经常用到@RequestBody注解,也可以直接通过request ...
随机推荐
- 移动设备的HTML页面中图片实现滚动加载
如今移动互联网风靡全球,移动页面的元素也是丰富多彩,一个移动页面的图片超过10张已经是再正常不过的事情了.但是相对,很多移动用户还停留在2G,3G这样的网络中.那么这样带宽的用户,在浏览这样的页面时, ...
- Apache POI导出excel
public String exportXls(HttpServletRequest request, HttpServletResponse response) { try { HSSFWorkbo ...
- MicrosoftOfficeProfessionalPlus2013激活方法
MicrosoftOfficeProfessionalPlus2013已经使用很久(估计快一年了吧),但一直是未激活状态,每次打开都要弹出那个未激活的提示信息,很烦,但不知道自己怎么能够忍受这么久的, ...
- vue2.x中请求之前数据显示以及vuex缓存的问题
在项目中遇到两个问题,简单的做个笔记来记录自己解决的问题,可能不是很好的处理办法,欢迎提出,自己还在不断优化中... 第一个是vue在加载页面的时候,会先加载静态资源,这个时候数据还没有请求回来,用户 ...
- [PY3]——发送邮件
一些概念 MUA:Mail User Agent——邮件用户代理,例如OutLook.Foxmail MTA:Mail Transfer Agent——邮件传输代理,例如163.com.sina.co ...
- Oracle存储过程中调用DBLink同义词出现错误:PLS-00201: 必须声明标识符
前几天编写一个存储过程,需要访问远程数据库的字段,于是建立一个dbLink并建了同义词: CREATE PUBLIC DATABASE LINK orcl@dbc CONNECT TO orcl ID ...
- [HTML5] Canvas绘制简单形状
使用canvas来进行绘画,它像很多其他dom对象一样,有很多属性和方法,操作这些方法,实现绘画 获取canvas对象,调用document.getElementById()方法 调用canvas对象 ...
- 二:java常用快捷键
ctrl+F6 切换编辑器 Ctrl+E 快速显示当前Editer的下拉列表 Ctrl+1 快速修复 Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Alt+Shif ...
- 通过ifrmae异步下载文档
//通过ifrmae异步下载文档 function iframeGetFile(opts) { var defaultOpts = { filePath: '', onload: function ( ...
- C# 一个方法如何返回多个值
通常一个方法只能返回一个值,但是如果在某些时候,我们想要返回多个值,例如某个方法将一个浮点数分割成一个整数和一个小数返回.这个时候我们就要用到out关键字. using System; namespa ...