Spring15-拦截器

定义拦截器

定义拦截器需要实现HandlerInterceptor

public class TestIntercpter implements HandlerInterceptor {

    //在执行Handler方法之前运行
    //由于身份认证,身份授权.
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //false: 拦截不继续往下执行
        //true: 继续往下执行
        return false;
    }

    //在执行Handler方法之后,再返回ModelAndView之前执行.
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        //我们可以操作ModelAndView对象,将一些公用的模型数据添加进去.比如菜单导航.
    }

    //Handler执行完成之后执行.
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        //统一的异常处理,统一的日志处理
    }
}

配置拦截器

注意:spring mvc的拦截器是针对HandlerMapping进行拦截设置.
如果在某个HandlerMapping中配置拦截器,经过该HandlerMapping映射成功的Handler才会被拦截器拦截.

    <mvc:interceptors>
        <mvc:interceptor>
            <!-- /**拦截所有URL 包括子URL -->
            <mvc:mapping path="/**"/>
            <bean class="cc.test.TestIntercpter"/>
        </mvc:interceptor>
        <!-- 可以配置多个拦截器 -->
    </mvc:interceptors>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,803评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,118评论 6 342
  • 什么是Spring Spring是一个开源的Java EE开发框架。Spring框架的核心功能可以应用在任何Jav...
    jemmm阅读 16,690评论 1 133
  • 这些属性是否生效取决于对应的组件是否声明为 Spring 应用程序上下文里的 Bean(基本是自动配置的),为一个...
    发光的鱼阅读 5,264评论 0 14
  • 罗伟高颜值思维导图特训营 9/21 20170606 主题:思维导图的美化 太棒了,今天的直播课让我学到了美化导图...
    missGwen阅读 1,553评论 0 0

友情链接更多精彩内容