Interceptor
package com.interceptor.testinterceptor.config;
import com.interceptor.testinterceptor.interceptor.TestInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
@Configuration
public class Interceptor extends WebMvcConfigurationSupport {
public Interceptor(){
System.out.println("进入过滤器配置类");
}
@Override
protected void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new TestInterceptor()).addPathPatterns("/test/user/**").excludePathPatterns("/test/user/login");
}
}
TestInterceptor
package com.interceptor.testinterceptor.interceptor;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("=======preHandle========");
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("=======postHandle========");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("=======afterCompletion========");
}
@Override
public void afterConcurrentHandlingStarted(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("=======afterConcurrentHandlingStarted========");
}
}
TestController
package com.interceptor.testinterceptor.test;
import jdk.nashorn.internal.objects.annotations.Getter;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("test")
public class TestController {
@GetMapping("user/login")
public String login(){
return "login 登陆";
}
@GetMapping("add")
public String add(){
return "add 添加";
}
@GetMapping("user/update")
public String update(){
return "update 修改";
}
}
TestinterceptorApplication
package com.interceptor.testinterceptor;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class TestinterceptorApplication {
public static void main(String[] args) {
SpringApplication.run(TestinterceptorApplication.class, args);
}
}