zoukankan      html  css  js  c++  java
  • HandlerInterceptorAdapter或HandlerInterceptor的使用

    • Spring拦截器
    • HandlerInterceptorAdapter需要继承,HandlerInterceptor需要实现
    • 可以作为日志记录和登录校验来使用
    • 建议使用HandlerInterceptorAdapter,因为可以按需进行方法的覆盖。

    主要为3种方法:

    • preHandle:拦截于请求刚进入时,进行判断,需要boolean返回值,如果返回true将继续执行,如果返回false,将不进行执行。一般用于登录校验。
    • postHandle:拦截于方法成功返回后,视图渲染前,可以对modelAndView进行操作。
    • afterCompletion:拦截于方法成功返回后,视图渲染前,可以进行成功返回的日志记录。

    springmvc的配置xml

    <!-- 拦截器配置,拦截顺序:先执行后定义的,排在第一位的最后执行。 -->
    <mvc:interceptors>
        <!-- 可配置多个-->
        <mvc:interceptor>
            <!-- mapping path 表示 需要拦截的url-->
            <mvc:mapping path="${adminPath}/**" />
            <!-- exclude-mapping path 表示 需要排除拦截的url-->
            <mvc:exclude-mapping path="${adminPath}/" />
            <mvc:exclude-mapping path="${adminPath}/login" />
            <!-- bean 表示拦截器的类-->
            <bean class="org.jasig.cas.web.interceptor.LogInterceptor" />
        </mvc:interceptor>
    </mvc:interceptors>

    springboot的注解配置

    @Configuration
    public class InterceptorConfig implements WebMvcConfigurer {
    
        private static final Logger logger =  LoggerFactory.getLogger(InterceptorConfig.class);
    
        @Override
        public void addInterceptors(InterceptorRegistry registry) {
            registry.addInterceptor(authenticationInterceptor())
                    .addPathPatterns("/**");
            registry.addInterceptor(loginInterceptor())
                    .addPathPatterns("/**")
                    .excludePathPatterns("/css/**","/images/**","/js/**","/login.html");
            // 拦截所有请求,通过判断是否有 @LoginRequired 注解 决定是否需要登录或者通过excludePathPatterns配置不需要拦截的路径
            //多拦截器配置
        }
    
       
  • 相关阅读:
    ubuntu 16.04常见错误--Could not get lock /var/lib/dpkg/lock解决
    Ubuntu 16.04 LTS安装搜狗拼音输入法网易云音乐 Remarkable
    Ubuntu 16.04 LTS(入门一)国内快速更新软件源
    C语言程序注释风格
    【译】基于主机的卡仿真(Host-based Card Emulation)
    NFC Spy:基于Android 4.4及以上手机的非接智能卡跟踪仪
    Ubuntu 16.04 Vim安装及配置
    Alpha阶段 第九次Scrum Meeting
    Alpha阶段 第八次Scrum Meeting
    Alpha阶段 第七次Scrum Meeting
  • 原文地址:https://www.cnblogs.com/h-c-g/p/10849644.html
Copyright © 2011-2022 走看看