spring拦截器的定义
2015-08-03 14:43
543 查看
(一)、拦截器的定义
1、为什么需要拦截器:在做身份认证或者是进行日志的记录时,我们需要通过拦截器达到我们的目的
2、什么事拦截器:在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略
3、如何用拦截器:在spring中用拦截器需要实现HandlerInterceptor接口或者它的实现子类:HandlerInterceptorAdapter,同时在applicationContext.xml文件中配置拦截器
4、配置applicationContext.xml文件
在这里<mvc:mapping path="...">表示你要拦截的文件路径,配置路径的时候需要注意:/**的意思是所有文件夹以及其子文件夹,而/*是所有文件夹,不包括子文件夹
1、为什么需要拦截器:在做身份认证或者是进行日志的记录时,我们需要通过拦截器达到我们的目的
2、什么事拦截器:在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略
3、如何用拦截器:在spring中用拦截器需要实现HandlerInterceptor接口或者它的实现子类:HandlerInterceptorAdapter,同时在applicationContext.xml文件中配置拦截器
package edu.mybatis.interceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; public class MyHandlerIntercepter implements HandlerInterceptor{ //进入handler之前 //身份认证,身份授权 public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception { System.out.println("lanjie=====1"); return true; } //进入handler之后,返回modelandview之前 //ModelAndView:将公用的模型数据(菜单导航)传到视图 public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { System.out.println("lanjie=====1"); } //执行完handler之后 //统一异常处理,统一日志处理 public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { System.out.println("lanjie=====1"); } }
4、配置applicationContext.xml文件
<!--拦截器 --> <mvc:interceptors> <!--多个拦截器,顺序执行 --> <mvc:interceptor> <mvc:mapping path="/**"/> <bean class="edu.mybatis.interceptor.HandlerIntercepter"/> </mvc:interceptor> </mvc:interceptors>
在这里<mvc:mapping path="...">表示你要拦截的文件路径,配置路径的时候需要注意:/**的意思是所有文件夹以及其子文件夹,而/*是所有文件夹,不包括子文件夹
相关文章推荐
- Java注解解析(三)——解析自定义注解
- javaEE项目中常用的包含上下文路径的代码
- HSSFWorkBooK用法【数据导出为execl】
- HSSFWorkBooK用法【数据导出为execl】
- myeclipse安装maven
- 我看不下去鸟。。。。Java和C#的socket通信真的简单吗?
- struts--token防止表单重复提交(源码分析)
- 使用Java反射(Reflect)、自定义注解(Customer Annotation)生成简单SQL语句
- 'DeploymentBuilder' on project 'Struts2Final'. java.lang.NullPointerException。
- 一步步优化JVM四:决定Java堆的大小以及内存占用
- java中的String的isEmpty和length方法测试
- 性能测试脚本开发(C&C#&Java)
- Java编码风格
- FatMouse and JavaBean II zoj2526
- Java并发性和多线程介绍目录
- 动态方法调用
- java在acm中常用基础技巧方法
- Eclipse4.5 mars 配置Velocity插件
- Java中JDBC环境配置
- Java注解导图