软件编程
位置:首页>> 软件编程>> java编程>> Spring * HandlerInterceptor接口代码解析

Spring * HandlerInterceptor接口代码解析

作者:人圭先生  发布时间:2022-09-05 10:51:04 

标签:spring, , ,handlerInterceptor接口

Spring的HandlerMapping支持 * , * 必须实现HandlerInterceptor接口,此接口里面有下面3中方法:

1.preHandle()处理器执行前被调用,方法返回true标识继续调用其他 * 或者处理器,返回false表示中断流程,后续的 * 和处理器不再执行。

2.postHandle()处理器执行后,视图执行前调用,此时而已通过ModelAndView对象对数据模型数据进行处理或对视图进行处理。

3.afterCompletion()整个过程结束后调用,比如性能监控中我们在这里可以记录结束时间并输出消耗的时间,也可以在这里写对资源的清理,但是只有preHandle()返回true时才会执行afterCompletion方法。


public class someInterceptor implements HandlerInterceptor{
public boolean preHandle(HttpServletRequest req,HttpServletResponse resp,Object handler)throws Exception{
 //TODO 处理器执行前被调用
 return true;
}

publilc void postHandle(HttpServletRequest req,HttpServletResponse resp,Object handler,ModelAndView mv)throws Exception{
 //TODO 处理器执行后被调用
}

public void afterCompletion(HttpServletRequest req,HttpServletResponse resp,Object handler,Exception e)throws Exception{
 //TODO全部执行完成后调用
}
}

这个自定义的 * 实现HandlerInterceptor接口就要实现接口里所有的方法,如果只想使用某一种方法,可以继承HandlerInterceptorAdapter.

* 的配置


<mvc:interceptors>
<mvc:interceptor>
 <mvc:mapping path="/org/*"/>
 <mvc:exclude-mapping path="/login/*"/>
 <bean class="org.vipcpi.interceprot.someInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>

来源:http://blog.csdn.net/sinat_15274667/article/details/51585540

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com