第一步:书写一个类
package com.lpy.controller.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
public class MiniInterceptor implements HandlerInterceptor {
/**
* 拦截请求,在controller调用之前
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
if(true) {
System.out.println("请求拦截");
return false;
}
/**
* 返回false:请求被拦截,返回
* 返回true:请求ok,可以继续执行,放行
*/
return true;
}
/**
* 请求controller之后,渲染视图之前
*/
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
// TODO Auto-generated method stub
}
/**
* 请求controller之后,渲染视图之后
*/
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
// TODO Auto-generated method stub
}
}
第二步:书写配置
package com.lpy;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
/**
* 以前spring配置实在xml里面,现在springboot配置实在java类里面
* @author Richard
*
*/
import com.lpy.controller.interceptor.MiniInterceptor;
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
/**
* 显示图片的配置,我们的个人信息的头像
* @author Richard
* 可以直接通过http://localhost:8082/181127743X140568/face/wx3ce7c79e96132bd8.o6zAJs-h4oiS8tWZhwsiPN2jEeD8.3LCbAy49NFap02319d110a7896da0e48d2c34a1259d6.JPG
*访问图片
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/META-INF/resources/") //解决swagger2的访问,注意后面多了一个斜线
.addResourceLocations("file:D:\\java_all\\workspace-wxxcs\\video-space\\");
}
@Bean
public MiniInterceptor miniInterceptor() {
return new MiniInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
//将拦截器注册进去了
registry.addInterceptor(miniInterceptor()).addPathPatterns("/user/**");
super.addInterceptors(registry);
}
}