SpringMVC笔记——配置拦截器Interceptor
什么是拦截器
SpringMVC 中 拦截器用于拦截控制器方法的执行
拦截器的配置
SpringMVC中,拦截器需要实现 HandlerInterceptor
或者 实现 HandlerInterceptorAdaptar
,大多都使用实现 HandlerInterceptor
public class testInterceptor implements HandlerInterceptor {
private static final Logger log = LoggerFactory.getLogger(testInterceptor.class);
/**
* 渲染前拦截代码 * @param request 请求体
* @param response 响应体
* @param handler 处理器
* @return 是否放行
* @throws Exception
*/ @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
log.info("渲染前拦截:" + request.getRequestURI());
return false;
}
/**
* 处理器执行后拦截代码 * @param request 请求体
* @param response 响应体
* @param handler 处理器
* @param modelAndView 视图
* @throws Exception
*/ @Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
}
/**
* 渲染后拦截代码 * @param request
* @param response
* @param handler
* @param ex
* @throws Exception
*/ @Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
}
}
SpringMVC的拦截器必须在SpringMVC的配置文件中进行配置:
<!--拦截器配置-->
<mvc:interceptors>
<!--通过直接创建bean配置-->
<!--<bean class="com.zxb.mvc.interceptors.FirstInterceptor" />-->
<!--通过引用注入创建bean配置-->
<!--<ref bean="firstInterceptor"/>-->
<!--设置单个拦截器配置-->
<mvc:interceptor>
<!--拦截器路径匹配-->
<mvc:mapping path="/*"/>
<!--拦截器排除路径匹配-->
<mvc:exclude-mapping path="/"/>
<ref bean="firstInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
效果如下:
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 zxb
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果