首页 > 其他分享 >拦截器

拦截器

时间:2022-11-26 15:44:21浏览次数:35  
标签:拦截器 request response handler Override public HandlerInterceptor

概念

拦截器有嘛用?
在用户登录时,防止页面跳转

代码

@Controller
public class mapper1 {
    @GetMapping("/")//
    public String skip(){
        return "index";
    }
    @GetMapping("/login")
    public String false1(HttpServletRequest req){
        HttpSession session = req.getSession();
        session.setAttribute("user",1);
        return "false";
    }
}
public class AdminInterceptor1 implements HandlerInterceptor {//继承HandlerInterceptor
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        String user = (String)request.getSession().getAttribute("user");
        if(user!=null){//判读用户是不是已经登录
            return true;
        }
        response.sendRedirect(request.getContextPath()+"/login");//没登录跳转到/login
        return false;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
//        HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
//        HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
    }
}
@Configuration
public class LoginConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        InterceptorRegistration regiest = registry.addInterceptor(new AdminInterceptor1());
        regiest.addPathPatterns("/**");//拦截所有路径
        regiest.excludePathPatterns( "/login");  //不拦截

    }
}

标签:拦截器,request,response,handler,Override,public,HandlerInterceptor
From: https://www.cnblogs.com/tsqo/p/16927535.html

相关文章

  • 拦截器preHandle拦截接口没有权限返回
    /***响应信息**@paramresponse返回信息*/publicstaticvoidresponse(HttpServletResponseresponse){response.setCharacterEncoding("UTF-8");respons......
  • 拦截器中获取service或dao对象
    问题:在拦截器中注入service或者dao会空指针分析:出现这个问题的原因是因为拦截器作用在属性自动注入开始之前,其运行时,内部属性还未开始注入,所以为空解决:在拦截器中加入该......
  • 第三章. 业务功能开发--登录验证(使用拦截器)
    第三章.业务功能开发--登录验证(使用拦截器)需求登录验证. 用户访问任何业务资源,都需要进行登录验证. *只有登录成功的用户才能访问业务资源 *没有登录成功的用户访......
  • Spring Boot拦截器
    SpringMVC中提供了拦截器功能,可以根据URL对请求进行拦截,主要应用于登陆校验、权限验证、乱码解决、性能监控和异常处理等功能上。SpringBoot同样提供了拦截器功能。 ......
  • interceptors 请求拦截器
    需求:发送请求前拦截,显示加载页面,响应结束后隐藏加载页面。一、定义加载页面,在该界面添加一个控制显示与隐藏的命令v-show。<div><divclass="spinner"v-show='is......
  • Token和axios拦截器的初步了解和使用
    token为什么要有token默认情况下,HTTP是一个无状态协议,也就是说任何客户端浏览器都可以访问服务器,但是服务器并不能知道浏览器到底是属于哪个用户的。当客户端多次向服务......
  • 第4章SpringMVC核心技术-一个或者多个拦截器拦截器,
    第4章SpringMVC核心技术.拦截器拦截器SpringMVC中的Interceptor拦截器是非常重要和相当有用的,它的主要作用是拦截指定Java框架SpringMVC5的用户请求,并进行相应的预......
  • SpringMVC-拦截器
    一、拦截器SpringMVC提供了拦截器在处理请求之前,之后,渲染视图后执行逻辑处理。接口是HandlerInterceptor。preHandle方法在处理请求之前执行,postHandle方法是在处理请求后......
  • 字符编码拦截器延伸出的拦截器
    方案一AdviceAdapter+Interceptorget使用拦截器校验,post请求使用@ControllerAdvicehttps://cloud.tencent.com/developer/article/1516443packagecom.shendi.dolphin......
  • 9.拦截器
    9.拦截器1.概述SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理,开发者可以自己定义一些拦截器来实现特定的功能。**过滤器和......