Springboot中templates路径下的html文件为何无法访问?
解决办法一(不太推荐,数量少可以考虑一下,但是感觉不如下面的好)
给视图注册别名,如果你注册上了,那么你直接访问login.html或者ssh.html是可以访问的,那个别名“login”可以在函数返回时使用的。
@Configuration
public class MyConfig implements WebMvcConfigurer {
//这里就是建立一个视图别名的地方了
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/login.html").setViewName("login");
registry.addViewController("/ssh.html").setViewName("ssh");
}
}
示例:
解决方法二(一般)
加配置去解决它,加上下面的配置即可
@Configuration
public class MyConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//这里是指在url上面打的内容
registry.addResourceHandler("/**")
//下面的是指可以对应resources文件下那些内容
.addResourceLocations("classpath:/")
.addResourceLocations("classpath:/templates/")
.addResourceLocations("classpath:/static");
}
}
解决办法三(极好)
在springboot里面不是有application.properties吗?
我们直接在里面加属性,跟上面解决方法二里面属性一样。
# 静态文件请求匹配方式
spring.mvc.static-path-pattern=/**
# 修改默认的静态寻址资源目录
spring.resources.static-locations= classpath:/templates/,classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
好了,问题终于解决了,心满意足了
最后放一张图表示位置说明,注意一下上面的那些位置后都要加个/标志哟,说明访问那个文件夹下面资源