拦截器
来源:互联网 发布:战地mac版 编辑:程序博客网 时间:2024/04/30 06:58
Spring的HandlerMapping支持拦截器,拦截器必须实现HandlerInterceptor接口,此接口里面有下面3中方法:
preHandle()
处理器执行前被调用,方法返回true标识继续调用其他拦截器或者处理器,返回false表示中断流程,后续的拦截器和处理器不再执行。postHandle()处理器执行后,视图执行前调用,此时而已通过ModelAndView对象对数据模型数据进行处理或对视图进行处理。
- 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>
0 0
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 拦截器
- 网络交互——实现从服务器获取文件(例如:图片)
- jQuery ajax + ajaxfileupload.js插件 实现无刷新文件上传
- Web API接口设计经验总结
- request.setAttribute()和request.getSession().setAttribute()解释
- javascript变量赋值
- 拦截器
- Enumeration和Iterator的区别
- Log4Qt
- Orcale数据库SQL语言总结
- Swift 中使用 SQLite——修改和删除数据
- memcpy优化 实现高效
- Unity 3D:访问另一个C#类中的属性或方法
- PhotoShop基础——如何抠图
- Swift 中使用 SQLite——新增数据