执行位置
在请求到达DispacherServlet后,在DispacherServlet调用某个Controller类执行

拦截器用途:
对用户是否登录做出判断
拦截产生的日志信息
拦截器的实现
public class MyInterceptor implements HandlerInterceptor {
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception {
}
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
}
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler)
throws Exception {
//return false 则进行拦截,不继续往下调用
return true;
}
}
实现HandlerInterceptor中各方法的运行顺序以及关系

拦截器的配置
mvc:mapping path="" 需要过滤的路径
mvc:exclude-mapping path=""排除路径
bean class=“实现HandlerInterceptor类的全名” 进行这个过滤的类
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/*"/>
<mvc:exclude-mapping path="/login/*"/>
<bean class="实现HandlerInterceptor类的全名" />
</mvc:interceptor>
</mvc:interceptors>
本文深入探讨了Spring MVC框架中的拦截器机制,包括其在DispatcherServlet中的执行位置、用途及实现方式。通过具体代码示例,讲解了如何通过实现HandlerInterceptor接口来创建自定义拦截器,并详细介绍了三个核心方法preHandle、postHandle和afterCompletion的运行顺序及其功能。此外,还提供了配置拦截器的XML示例,展示了如何指定拦截路径和排除路径。


被折叠的 条评论
为什么被折叠?



