一,配置拦截器
public class MyInterceptor implements HandlerInterceptor {
private static final Logger logger = LoggerFactory.getLogger(MyInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse
response, Object handler) throws Exception {
logger.info("====拦截到了方法:{},在该方法执行之前执行====" );
// 返回true才会继续执行,返回false则取消当前请求
return true;
}
}二,解决静态资源被拦截
方法一:
@Configuration
public class MyInterceptorConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
//配置拦截器
registry.addInterceptor(new MyInterceptor())
//对所有的资源进行拦截,包括静态资源
.addPathPatterns("/**")
.excludePathPatterns("/js/**", "/images/**","/css/**");
}
}方法二:
@Configuration
public class MyInterceptorConfig extends WebMvcConfigurationSupport {
@Override
protected void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**");
super.addInterceptors(registry);
}
@Value("${ue.local.physical-path}")
private String ueDir;
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
//类路径 下的 static目录可以直接访问
registry.addResourceHandler("/uploads/**").addResourceLocations("file:"+ueDir);
//file: + 绝对路径
super.addResourceHandlers(registry);
}
}三. appliaction.yml文件
ue: config-file: static/ueditor/jsp/config.json #resources目录下配置文件的位置 server-url: /ueditor.do #服务器统一请求接口路径 local: #上传到本地配置 url-prefix: /uploads/ #"/"结尾 自定义上传时字段无意义 physical-path: F:/java/uploads/ #存储文件的绝对路径 必须使用标准路径"/"作为分隔符 自定义上传时字段无意义
