springboot和freemarker引入静态文件报错net::ERR_ABORTED 404
原创
©著作权归作者所有:来自51CTO博客作者chushiyunaaa的原创作品,请联系作者获取转载授权,否则将追究法律责任
引入后页面控制台报错:net::ERR_ABORTED 404
说明没有找到文件。解决办法,修改application.properties:
#spring.mvc.static-path-pattern=/static/**
spring.resources.static-locations=classpath:/static
页面引入代码如下:
<#assign path="${springMacroRequestContext.getContextPath()}">
<script src="${path}/jquery-3.4.1.min.js"></script>
<link rel="stylesheet" type="text/css" href="${path}/common.css" />
<link rel="stylesheet" href="${path}/bootstrap/css/bootstrap.css">
<link rel="stylesheet" href="${path}/bootstrap/css/bootstrap-theme.css">
<script src="${path}/bootstrap/js/bootstrap.js"></script>
问题解决。
这个问题出现在引入bootstrap的时候,包名为bootstrap-3.3.7-dist
,原以为是包名带有点号的原因,但是改为bootstrap还是不行。
结构如图:
后来又发现,用http访问带static的路径,可以访问到:
http://localhost:8080/boot-tianlong/static/bootstrap/css/bootstrap.css
用http访问不带static的路径,不可以访问:
http://localhost:8080/boot-tianlong/bootstrap/css/bootstrap.css
是因为根据正则/static/**不认为这是静态资源。
所以2种方式都可以正确引入,要注意差别
第一种
application.properties中为:
spring.mvc.static-path-pattern=/static/**
页面引入(用全路径,要加static):
<script src="${path}/static/jquery-3.4.1.min.js"></script>
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7-dist/css/bootstrap.css">
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7-dist/css/bootstrap-theme.css">
<script src="${path}/static/bootstrap-3.3.7-dist/js/bootstrap.js"></script>
第二种
application.properties中:
spring.resources.static-locations=classpath:/static
页面引入(不用加static):
<script src="${path}/jquery-3.4.1.min.js"></script>
<link rel="stylesheet" href="${path}/bootstrap-3.3.7-dist/css/bootstrap.css">
<link rel="stylesheet" href="${path}/bootstrap-3.3.7-dist/css/bootstrap-theme.css">
<script src="${path}/bootstrap-3.3.7-dist/js/bootstrap.js"></script>