一、拦截器的作用:HandlerInterceptor作为一个接口,主要用于拦截请求和响应。
二、使用场景:可用于登陆认证,参数转化等
三、使用方式:在使用时需要创建该接口的实现类,并将此实现类注册进servlet文件中。此实现类需要重载三个方法:
1、
boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
此方法在请求下发服务器之前执行,主要用于请求拦截,返回true允许下发给服务器处理请求,返回false不允许下发。
2、
void postHandle( HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)
此方法
在请求下发服务器响应之后,在DispatcherServlet 渲染对应的视图之前执行,主要用于响应拦截。
3、
void afterCompletion( HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
此方法将在整个请求结束之后,也就是在DispatcherServlet 渲染了对应的视图之后执行。用于进行资源清理。
4、拦截器的注册
<mvc:interceptors>
<!--对所有的请求记性拦截-->
<!--<beans:bean class="com.sunp.common.interceptor.Myinterceptor"/>-->
<!--对特定的请求进行拦截-->
<mvc:interceptor>
<mapping path="/kfc/brands/brand1/*"/>
<beans:bean class="com.sunp.common.interceptor.Myinterceptor"/>
</mvc:interceptor>
</mvc:interceptors>