zoukankan      html  css  js  c++  java
  • Java拦截器

    一、InterceptorRegister

    package com.muen.interceptor;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
    
    
    @Configuration
    public class InterceptorRegister extends WebMvcConfigurerAdapter {
    
        private static final Logger logger = LoggerFactory.getLogger(InterceptorRegister.class);
    
        @Override
        public void addInterceptors(InterceptorRegistry registry) {
            InterceptorRegistration ir = registry.addInterceptor(new MyInterceptor());
            /** 拦截所有路径 */
            /* ir.addPathPatterns("/**"); */
            /** 不拦截获取验证码请求路径 */
            /* ir.excludePathPatterns("/getBizId"); */
            /** 拦截个人中心 */
            ir.addPathPatterns("/Accounts/**");
            /** 拦截家庭档案 */
            ir.addPathPatterns("/FamilyFile/**");
            /** 拦截健康档案 */
            ir.addPathPatterns("/HealthyArchives/**");
            /** 健康自测 */
            ir.addPathPatterns("/HealthTest/**");
            /** 体检报告 */
            ir.addPathPatterns("/ExamineReport/**");
            /** 家庭医生 */
            ir.addPathPatterns("/familydoctor/**");
            /** 指标趋势 */
            ir.addPathPatterns("/canvasManage/**");
            super.addInterceptors(registry);
        }
    
    }

    二、MyInterceptor

    package com.muen.interceptor;
    
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.log4j.Logger;
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    import com.muen.util.Constants;
    import com.muen.util.StringUtils;
    
    
    /**
     * @author MyPC
     */
    public class MyInterceptor implements HandlerInterceptor {
    
        private Logger logger = Logger.getLogger(MyInterceptor.class);
    
    
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
                throws Exception {
            logger.info("preHandle...");
            String path = request.getServletPath();
            // 不需要的拦截直接过;不需要拦截的请求配置在这个属性里面加
            if (path.matches(Constants.NO_INTERCEPTOR_PATH)) {
                return true;
            } else {
                // TODO:这写你拦截需要干的事儿,比如各种判断等
                //没有登录
                if (StringUtils.isBlank(request.getSession().getAttribute("personalInfo"))) {
                    if (StringUtils.isBlank(request.getSession().getAttribute("personalBaseInfo"))) {
                        logger.info("没有登录,被拦截了,跳转到登录页面...");
                        request.getRequestDispatcher("/personal/login").forward(request, response);
                        return false;
                    } else {
                        return true;
                    }
    
                }
                return true;
            }
        }
    
        @Override
        public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
                               ModelAndView modelAndView) throws Exception {
            logger.info("postHandle...");
    
        }
    
        @Override
        public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
                throws Exception {
            logger.info("afterCompletion...");
        }
    
    
    }

    PS:根据项目需求自行修改

  • 相关阅读:
    Java--学生类(成员变量,成员方法输出学生信息和平均成绩)
    Java--水仙花数
    Java--学生类(成员变量,成员方法直接输出学生信息)
    Java--二分法查找
    矩阵转换
    建立一个框架,设置文字的颜色,字体,大小和位置
    使用字符串函数(作业)
    java 实现监听事件(使用按钮连续改变标签的颜色和字号)(上机倒数第二次作业)
    786.第k个数
    蓝桥杯
  • 原文地址:https://www.cnblogs.com/TangJiaXin/p/12929737.html
Copyright © 2011-2022 走看看