栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Springboot简单拦截器配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot简单拦截器配置

【创建定义拦截器规则类】

public class UserInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("---------------------!!!!进入拦截器!!!!------------------------");
        //编写业务拦截规则
        //从session中获取用户的信息
        User user = (User)request.getSession().getAttribute("user");

        //判断用户是否登陆
        if (null == user){
            //未登录
            response.sendRedirect(request.getContextPath() +"/User/error");
            return false;
        }
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    }
}

【创建配置类】

@Configuration //定义为此类为配置类(相当于xml配置文件)
public class IntercrptorConfig implements WebMvcConfigurer {

    //重写addInterceptors方法
    //mvc:interceptors
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //要拦截的请求
        String[] addPathPatterns= {
             "/User/**"
        };
        //需要排除的请求
        String[] excludePathPatterns = {
                "/User/out","/User/login","/User/error"
        };

        //mvc:interceptor bean 
        registry.addInterceptor(new UserInterceptor()).addPathPatterns(addPathPatterns).excludePathPatterns(excludePathPatterns);
    }
}
【创建Controller层】
@Controller
@RequestMapping(value = "/User")
public class UserController {
    @RequestMapping(value = "/login")
    public @ResponseBody Object login(HttpServletRequest request){
        //将用户信息放入Session中
        User user = new User();
        user.setId(1001);
        user.setUsername("zhangsan");
        user.setPassword("123321123321");
        request.getSession().setAttribute("user",user);
        return "login Success";

    }

    //该请求需登陆后才能访问
    @RequestMapping(value = "/center")
    public @ResponseBody Object center(){
        return "SEE Center Message";
    }


    //任何时候都可请求到
    @RequestMapping(value = "/out")
    public @ResponseBody Object out(){
        return "out see anytime";
    }

    //用户未完成登陆请求了需要登陆才能访问的路径,跳转到该请求
    @RequestMapping(value = "error")
    public @ResponseBody Object error(){
        return "error";
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/271794.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号