Springmvc
SpringBoot2中的拦截器配置
@Configuration
public class MyMvcConfigSecond implements WebMvcConfigurer {
@Value("${springbootdo.videoPath}")
private String videoPath;
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/zxc/foo").setViewName("foo");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/pic/**").addResourceLocations("file:D:\\staticResourse\\pics\\");
//将所有这样的请求全部转到d盘pics文件夹下去访问,这里是前端视频和图片的显示方式
registry.addResourceHandler("/videos/**").addResourceLocations("file:D:\\staticResourse\\videos\\");
registry.addResourceHandler("/ppt/**").addResourceLocations("file:D:\\staticResourse\\ppts\\");
}
//拦截器,拦截所有,除了下边列举的这几个,另外,Springboot2.0和1.5的巨大不同在于就台文件夹已经映射写好,所以之前的static这个目录没必要加了
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor())
.addPathPatterns("/**").excludePathPatterns(
"/toRegist",
"/login",
"/register","/layui/**","/X-admin/**","/");
}
}
我的目录图
前端thymeleaf的写法
<html class="x-admin-sm" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>欢迎页面-X-admin2.1</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<link rel="stylesheet" href="./css/font.css" th:href="@{/X-admin/css/font.css}">
<link rel="stylesheet" href="./css/xadmin.css" th:href="@{/X-admin/css/xadmin.css}">
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script charset="utf-8" th:src="@{/X-admin/lib/layui/layui.js}"></script>
</head>
<body>