您的位置:首页 > 编程语言 > Java开发

启动Springboot项目在浏览器中加载不了静态资源文件

2017-09-21 01:19 1046 查看
以前都是想试试用IDEA做一个Springboot+mybatis的整合项目,然后写了一个静态网页,想着运行一下看看,发现在网页中的bootstrap等静态资源文件加载失败,这里给大家找到了原因,分享给大家!!!!我想这是因为springboot内置tomcat服务器与外置不同的原因,当我们在编译器编译时,确实能找到资源文件,但是一启动项目,部署在内置服务器后,在浏览器中访问却出现问题,提示加载资源失败。解决方法如下

SpringBoot的默认处理是:加载 resources下面的资源(包括static、templates),当然也可以自己定义目录;
我刚开始使用的时候,一直访问不到静态资源,原因是SpringBoot静态资源默认访问那目录下的内容,所以在前台页面访问的时候,地址中就不要多写那三个目录的名字了,下面是我的错误代码:
<!-- Bootstrap core CSS -->
<link
th:href="@{/static/bootstrap/css/bootstrap.css}"
rel="stylesheet"/>

正确代码是
<!-- Bootstrap core CSS -->
<link th:href="@{/bootstrap/css/bootstrap.css}" rel="stylesheet"/>
1
2
第二,如果你就是想要自己配置静态资源目录,就是想写那个目录,比如你想要配置到/myStatic/目录下,就可以通过继承WebMvcConfigurerAdapter类并重写addResourceHandlers方法来处理,此时,系统默认的访问地址static | public | resources 那些就不可用了,下面是代码:
@Configuration
@EnableWebMvc
@ComponentScan
public class WebConfig extends WebMvcConfigurerAdapter {

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/myStatic/**").addResourceLocations(ResourceUtils.CLASSPATH_URL_PREFIX+"/myStatic/");
//注:ResourceUtils.CLASSPATH_URL_PREFIX就是"classpath:",如果不加这个,就会提示找不到资源
super.addResourceHandlers(registry);
}
}

参考自:http://blog.csdn.net/jalon2015/article/details/60956103
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: