springboot-拦截器

springboot-拦截器_第1张图片

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);
    }

}

你可能感兴趣的:(springboot,interceptor)