SpringMVC 拦截器
< 返回列表时间: 2018-11-14来源:OSCHINA
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
拦截器
是指通过统一拦截从浏览器发往服务器的请求来完成功能的增强
SpringMVC拦截器实现过程 1.编写拦截器,实现 org.springframework.web.servlet.HandlerInterceptor 接口 2.将拦截器注册到SpringMVC中 <mvc:interceptors> <bean class="com.xxx.interceptor.MyInterceptor" /> </mvc:interceptors> 3.配置拦截器的拦截规则(可不配置) <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/user/*"/> <bean class="com.xxx.interceptor.MyInterceptor" /> </mvc:interceptor> </mvc:interceptors>
HandlerInterceptor public interface HandlerInterceptor { /** * 返回false 请求被终止 */ boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception; void postHandle( HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception; void afterCompletion( HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception; }
HandlerInterceptor 拦截器链
多个拦截器按配置的顺序执行,但凡有一个返回false,请求返回; <mvc:interceptors> <bean class="com.xxx.interceptor.MyInterceptor" /> <bean class="com.xxx.interceptor.MyInterceptor2" /> <bean class="com.xxx.interceptor.MyInterceptor3" /> </mvc:interceptors>

使用场景
处理所有请求的共同问题 乱码问题 权限验证问题 等等
与过滤器的区别
过滤器依赖Servlet容器,基于回调函数,拦截范围更大;
拦截器依赖框架容器,基于反射机制,仅拦截请求;
热门排行