拦截器的作用是对处理器进行预处理和后处理。
1.新建一个Moudule,配置好。
2.编写拦截器
public class MyInterceptor implements HandlerInterceptor {
//在请求处理的方法之前执行,如果返回true执行下一个拦截器,如果返回false就不执行下一个拦截器
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
return true;//或者false
}
//在请求处理方法执行之后执行
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
}
//在dispatcherServlet处理后执行,做清理工作.
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
}
}
3.在springmvc的配置文件中配置拦截器
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>//拦截/路径下所有
//bean配置的就是拦截器
<bean class="拦截器的路径"/>
</mvc:interceptor>
</mvc:interceptors>
4.接受请求的Controller
//测试拦截器的控制器
@Controller
public class InterceptorController {
@RequestMapping("/interceptor")
@ResponseBody
public String testFunction() {
//控制器中的方法执行了
return "hello";
}
}