本地使用springboot搭建web项目,controler上添加@RequestMapping("/sys") ,当访问页面时,默认会映射 ip:port/sys/static/login.html,这个时候需要在了拦截器中配置资源映射“sys/static/**” 假如controller很多就需要配置很多的映射关系,有没有一种方法可以配置所有的映射
controller:
@Controller
@RequestMapping("/sys")
public class LoginController {
@GetMapping(value = "/login")
public String login(){
System.out.println("打开登录页面");
return "login";
}
}
拦截器:
@Configuration
public class WebAppConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/sys/static/**","/favicon.ico")//代码访问路径
.addResourceLocations("classpath:/static/");//实际映射地址
}
}
当使用以下映射方式时,无效
@Configuration
public class WebAppConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**/static/**","/favicon.ico")//代码访问路径
.addResourceLocations("classpath:/static/");//实际映射地址
}
}
求大神指点一二
/**方法一: 配置文件
* 静态资源访问目录
* spring:
* web:
* resources:
* # 修改默认的静态资源目录,多个用 逗号 隔开
* static-locations: classpath:/static/backstage/,classpath:/templates/backstage/
**/
方法二:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//这里是指在url上面打的内容
registry.addResourceHandler("/**")
//下面的是指可以对应resources文件下那些内容
.addResourceLocations("classpath:/")
.addResourceLocations("classpath:/templates/backstage/")
.addResourceLocations("classpath:/static/backstage/");