前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSM框架(八)SpringMVC的拦截器

SSM框架(八)SpringMVC的拦截器

作者头像
HcodeBlogger
发布2020-07-14 10:51:20
7330
发布2020-07-14 10:51:20
举报
文章被收录于专栏:Hcode网站

什么是拦截器

SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。但又不同于过滤器,拦截器是AOP思想的具体实现。

  • 过滤器:servlet规范中的一部分,任何java web工程都可以使用,在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截
  • 拦截器:SpringMVC框架特有的,只有使用了SpringMVC框架的工程才能使用,拦截器只拦截走到controller控制器的请求。静态资源不会拦截(jsp,html,css,js,image...)

实现拦截器

要实现拦截器,就要实现HandlerInterceptor接口,重写接口的三个方法,一般只需要preHandle方法足够了,在处理器调用前作用

代码语言:javascript
复制
COPYpublic class MyInterceptor implements HandlerInterceptor {

   //在请求处理的方法之前执行
   //如果返回true执行下一个拦截器
   //如果返回false就不执行下一个拦截器,直接在这里卡死。
   public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
       System.out.println("------------处理前------------");
       return true;
  }

   //在请求处理方法执行之后执行
   public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
       System.out.println("------------处理后------------");
  }

   //在dispatcherServlet处理后执行,做清理工作.
   public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
       System.out.println("------------清理------------");
  }
}

配置Spring-mvc.xml 注册拦截器

代码语言:javascript
复制
COPY<!--关于拦截器的配置-->
<mvc:interceptors>
   <mvc:interceptor>
       <!--/** 包括路径及其子路径-->
       <!--/admin/* 拦截的是/admin/add等等这种 , /admin/add/user不会被拦截-->
       <!--/admin/** 拦截的是/admin/下的所有路径,包括子路径的子路径...-->
       <mvc:mapping path="/**"/>
       <!--bean配置的就是拦截器-->
       <bean class="top.hcode.interceptor.MyInterceptor"/>
   </mvc:interceptor>
</mvc:interceptors>

总结

拦截器是AOP横切的具体实现,可用于登录验证等。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年6月17日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是拦截器
  • 实现拦截器
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档