Spring Boot实现拦截器

1.第一步创建一个类实现HandlerInterceptor接口,重写接口的方法

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
@Component
public class IntercepterTest implements HandlerInterceptor{

	@Override
	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
			throws Exception {
			System.out.println("拦截器MyInterceptor------->3、请求结束之后被调用,主要用于清理工作。");
		
	}

	@Override
	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		System.out.println("拦截器MyInterceptor------->2、请求之后调用,在视图渲染之前,也就是Controller方法调用之后");
		
	}

	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		 	String url = request.getServletPath();//url====="/failed"
	        System.out.println("url"+url);
	        if("/login".equals(url)) {
	        	return true;//放行
	        }
	        
		return false;//拦截
	}

}

2.第二步:注册拦截器。创建一个配置类并继承 WebMvcConfigurerAdapter。重写 addInterceptors 方法。

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

import com.example.intercepter.IntercepterTest1;
@Configuration
public class WebAdepter extends WebMvcConfigurerAdapter {
	@Override
	public void addInterceptors(InterceptorRegistry registry) {
		registry.addInterceptor(new IntercepterTest()).addPathPatterns("/**");//配置拦截路径
		super.addInterceptors(registry);
	}

}
测试controller

@RequestMapping("/login")
public Map<String, String> intercepter(){
Map<String, String> map = new HashMap<>();
map.put(“a”, “d”);
map.put(“b”, “c”);
return map;
}
测试已经通过 如果访问路径是不是/login
在这里插入图片描述
如果访问路径是/login
~~在这里插入图片描述~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值