您的位置:首页 > 编程语言 > Java开发

springmvc之interceptor(拦截器)

2016-05-20 10:33 411 查看
1.自定义MyInterceptorimpletmentsHandlerInterceptor

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: