springmvc之interceptor(拦截器)
2016-05-20 10:33
411 查看
1.自定义MyInterceptorimpletmentsHandlerInterceptor
2.mvc-servlet.xml配置
publicclassMyInterceptorimplementsHandlerInterceptor{ privateintnum; publicintgetNum(){ returnnum; } publicvoidsetNum(intnum){ this.num=num; } /** *预处理(调用Controller之前执行),进行参数检查,登录认证,编码等操作 *在业务处理器处理请求之前对该请求进行拦截处理 *每个Interceptor的preHandle调用会依据它的声明顺序依次执行 * *@paramhttpServletRequest *@paramhttpServletResponse *@paramo *@returntrue(继续调用下一个Interceptor的preHandle)、false(请求结束) *@throwsException */ publicbooleanpreHandle(HttpServletRequesthttpServletRequest,HttpServletResponsehttpServletResponse,Objecto)throwsException{ Stringid=httpServletRequest.getParameter("id"); if(num>Integer.parseInt(id)){ System.out.println("-------dada-------"); } returnfalse; } /** *后处理(调用Controller之后,返回结果或者展示模型之前),可以对返回结果(ModelAndView对象)进行修改 *每个Interceptor的preHandle调用会依据它的声明顺序反向执行(与preHandle相反) * *@paramhttpServletRequest *@paramhttpServletResponse *@paramo *@parammodelAndView *@throwsException */ publicvoidpostHandle(HttpServletRequesthttpServletRequest,HttpServletResponsehttpServletResponse,Objecto,ModelAndViewmodelAndView)throwsException{ } /** *整个请求完毕的回调,即在视图渲染完毕时回调 *性能监控中我们可以在此记录结束时间并输出消耗时间,还可以进行一些资源清理,类似于try-catch-finally中的finally * *@paramhttpServletRequest *@paramhttpServletResponse *@paramo *@parame *@throwsException */ publicvoidafterCompletion(HttpServletRequesthttpServletRequest,HttpServletResponsehttpServletResponse,Objecto,Exceptione)throwsException{ } }
2.mvc-servlet.xml配置
<beansxmlns="xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc'target='_blank'>http://www.springframework.org/schema/mvc/spring-mvc.xsd">[/code] <!--拦截器-->
<mvc:interceptors>
<mvc:interceptor>
<!--定义在mvc:interceptor下面的表示是对特定的请求才进行拦截的-->
<mvc:mappingpath="/user/*"/>
<beanclass="com.ytud.web.interceptor.OutTimeInterceptor">
<!--get/set必不可少-->
<propertyname="num">
<value>100</value>
</property>
</bean>
</mvc:interceptor>
</mvc:interceptors>
相关文章推荐
- struts1.3.10手动部署过程
- java基础---->java中Properties的使用
- springamqp的exchange
- 关于Eclipse开发环境中编译器的设置
- Java WebService 简单实例
- Spring技术内幕之Spring MVC与Web环境(01)-MVC模式
- Java单例模式深入详解
- Java:单例模式的七种写法
- JAVA集合类概述
- springMVC4.0返回json数据的问题
- Eclipse如何修改工程名及包名
- java异步计算-Future使用
- 简单代理模式 JAVA
- 349IntersectionofTwoArrays.java
- java 配置security policy
- 左连接查询优化
- Spring源码解读-Spring IoC容器初始化之资源定位
- spring简介之不求甚解
- JAVA 十六进制与字符串的转换
- 【趣文】我是一个线程