zoukankan      html  css  js  c++  java
  • SpringMVC初写(五)拦截器

    在系统开发过程中,拦截器的使用可以使我们实现一些需求。如:登录认证,权限管理等,拦截器的工作核心就是将一些工作流程进行统一处理

    拦截器和过滤器的区别:

    过滤器过滤的是请求路径,拦截器拦截的各层方法的映射路径;由于过滤器在SpringMVC组件加载之前就开始工作,将会导致SpringMVC的一些功能组件无法使用,而拦截器是SpringMVC的功能之一,可以使用SpringMVC里面的一些组件

    配置流程:
      1.前台发送一个请求

      

      2.新建一个MyInterceptor类实现HandlerInterceptor接口,并分别实现三个方法

        preHandler()表示方法执行前执行的方法,也是方法执行的开关,如果返回为false则方法不执行

    public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
            System.out.println("方法执行前");
            return true;
        }

        afterCompletion()表示方法执行完成后,不管是否报异常均会执行

        public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
                throws Exception {
            System.out.println("方法执行完成后");
        }

        postHandle()表示方法正常执行后执行的方法,报异常则不执行

    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
                throws Exception {
            System.out.println("方法执行不出异常");
        }

      3.在配置文件xml中对拦截器进行配置

    <!-- 配置一个拦截器 -->
        <mvc:interceptors>
            <!-- 配置指定的拦截器 -->
            <mvc:interceptor>
                <!-- 过滤规则 -->
                <mvc:mapping path="/**"/>
                <mvc:exclude-mapping path="/say*"/>
                <bean class="cn.lch.intercept.MyIntercept"></bean>
            </mvc:interceptor>
        </mvc:interceptors>
  • 相关阅读:
    Heapsort 堆排序算法详解(Java实现)
    GIve Me A Welcome Hug!
    linux系统救援模式拯救mv libc.so.6文件后无法使用命令的悲剧
    RabbitMQ集群部署
    使用Xshell通过堡垒机登录服务器
    dubbo + zookeeper环境部署
    zookeeper集群部署
    zabbix-3.0.1 添加微信报警
    zabbix-3.0.1结合grafana绘图
    Centos7.2安装zabbix3.0.1简要
  • 原文地址:https://www.cnblogs.com/lch-Hao/p/10770411.html
Copyright © 2011-2022 走看看