IntelliJ IDEA+SpringBoot中静态资源访问路径陷阱:静态资源访问404
.embody{
padding:10px 10px 10px;
margin:0 -20px;
border-bottom:solid 1px #ededed;
}
.embody_b{
margin:0 ;
padding:10px 0;
}
.embody .embody_t,.embody .embody_c{
display: inline-block;
margin-right:10px;
}
.embody_t{
font-size: 12px;
color:#999;
}
.embody_c{
font-size: 12px;
}
.embody_c img,.embody_c em{
display: inline-block;
vertical-align: middle;
}
.embody_c img{
width:30px;
height:30px;
}
.embody_c em{
margin: 0 20px 0 10px;
color:#333;
font-style: normal;
}
今天在使用SpringBoot时遇到静态资源无法访问的问题,百思不得其解,最终解决,记录下来。
问题描述
html页面中访问static文件夹下的index.css文件失败,浏览器调试模式下发现404。
项目目录结构如下:
HTML代码截图
路径正常,可以通过ctrl+鼠标左键直接访问。
但是当运行应用后,浏览器访问时却发现无法获取文件,,F12打开开发者调试工具查看结果如下:
百思不得其解。于是各种百度,最终在一篇讲解SpringBoot静态资源访问的博客中收到了启发,解决了问题。
解决方案
那篇博客中写道:
在SpringBoot中,默认配置的/**映射到/static。
静态资源映射还有一个配置选项,为了简单这里用.properties方式书写:
spring.mvc.static-path-pattern=/** # Path pattern used for static
resources.
这个配置会影响默认的/**,例如修改为/static/**后,只能映射如/static/js/sample.js这样的请求(修改前是/js/sample.js)。这个配置只能写一个值,不像大多数可以配置多个用逗号隔开的。
这句“(修改前是/js/sample.js)”给了我启发,于是我也将我的路径去掉前面的“/static”,测试,成功!
修改后HTML页面代码截图:
注意!这时IDEA高亮显示,表示IDEA找不到该路径!
运行结果截图:
此时获取index.css文件成功!并且路径是”/css/index.css”!
即,解决方案是:去掉路径前的“/static”!
总结
这次出错的原因主要在于自己对SpringBoot的静态资源映射不够了解。不过,之所以记录下这个问题,并分享给大家,有两点原因:
- 是因为在这个错误中IntelliJ IDEA起了助纣为虐的作用,错误的路径它显示为正确,而正确的路径它却高亮显示找不到,这个坑可能会误导很多人。
- 是因为SpringMVC中正确的路径是要加上“/static”的,之前用SpringMVC写项目时一直这么用的,存在定势思维。
关于SpringBoot的路径说明可以参考这篇博客:http://blog.csdn.net/catoop/article/details/50501706
2017-01-24更新
这个问题这次碰上的情况是自己在写静态资源位置的时候配置了多个,其实默认只要配置一个就好了,可以向上面那样配置(直接配置/**),可以用下面的配置:
resources: # 指定静态资源的路径
static-locations: classpath:/static/
使用的时候不用加static路径即可
IntelliJ IDEA+SpringBoot中静态资源访问路径陷阱:静态资源访问404的更多相关文章
- spring:设置映射访问路径 或 xml配置访问路径 (spring mvc form表单)
项目hello, 在src/main/java下面建一个目录: charpter2 一.xml配置访问路径 web.xml <web-app> <display-name>Ar ...
- ASP.NET 访问路径 错误提示 HTTP 错误 404.8 原来路径中包含bin目录被拒绝
HTTP 错误 404.8 - Not Found HTTP 错误 404.8 - Not Found 请求筛选模块被配置为拒绝包含 hiddenSegment 节的 URL 中的路径. 最可能的原因 ...
- SpringBoot中的五种对静态资源的映射规则
目录 1. webjars:以jar包的方式引入静态资源 2./** 访问当前项目的任何资源 3.首页index.html,被" /** "映射 4.自定义图标 / favico ...
- Struts2之访问路径
上一篇已经和大家分享了关于Struts2命名空间和Action的三种创建方式,本篇我们接着命名空间的内容,来一起探讨一下关于Struts2的访问路径问题,何为访问路径,就是指当我们在浏览器输入地址,点 ...
- SpringBoot中BeanValidation数据校验与优雅处理详解
目录 本篇要点 后端参数校验的必要性 不使用Validator的参数处理逻辑 Validator框架提供的便利 SpringBoot自动配置ValidationAutoConfiguration Va ...
- springboot配置静态资源访问路径
其实在springboot中静态资源的映射文件是在resources目录下的static文件夹,springboot推荐我们将静态资源放在static文件夹下,因为默认配置就是classpath:/s ...
- SpringBoot中的静态资源访问
一.说在前面的话 我们之间介绍过SpringBoot自动配置的原理,基本上是如下: xxxxAutoConfiguration:帮我们给容器中自动配置组件: xxxxProperties:配置类来封装 ...
- 使用springboot 2.0后,静态资源默认路径无法访问
原因在于:META-INF/resources / resources / static / public 都是spring boot 认为静态资源应该放置的位置,会自动去寻找静态资源 然而,在2.0 ...
- Springboot中静态资源和拦截器处理(踩了坑)
背景: 在项目中我使用了自定义的Filter 这时候过滤了很多路径,当然对静态资源我是直接放过去的,但是,还是出现了静态资源没办法访问到springboot默认的文件夹中得文件 说下默认映射的文件夹有 ...
随机推荐
- .Net 自动属性结合手动属性
Model using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace ...
- 67.nodejs取参四种方法req.body,req.params,req.param,req.body
转自:http://www.cnblogs.com/jkingdom/p/8065202.html 摘要: nodejs取参四种方法req.body,req.params,req.param,req. ...
- SQL事务+异常
BEGIN TRAN BEGIN TRY --这里写代码 --这里写代码 END TRY BEGIN CATCH ROLLBACK TRAN END CATCH COMMIT TRAN
- Cloudera Hue是什么?
Hue是cdh专门的一套web管理器,它包括3个部分hue ui,hue server,hue db.hue提供所有的cdh组件的shell界面的接口.你可以在hue编写mr,查看修改hdfs的文件 ...
- DG archive gap
什么是archive gap Archive Gap就是standby端日志应用的过程中丢失的一段范围的redo.典型的发生在standby端不能接收primary的redo信息或者接收后不能应用这些 ...
- C/C++(函数)
函数 函数三要素:函数名,参数,返回值 重点研究函数的输入输出 随机数函数 //产生一组随机数 #include<stdio.h> #include<stdlib.h> #in ...
- 托管非托管Dll动态调用
原文:托管非托管Dll动态调用 最近经常看到有人问托管非托管Dll调用的问题.对于动态库的调用其实很简单.网上很多代码都实现了Dll的静态调用方法.我主要谈论下动态库的动态加载. 对于托管动态库,实现 ...
- 洛谷 P2867 [USACO06NOV]大广场Big Square
P2867 [USACO06NOV]大广场Big Square 题目描述 Farmer John's cows have entered into a competition with Farmer ...
- Tomcat之——配置项目有虚拟路径
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47024863 非常easy,在Tomcat的Server.xml文件里的Host节 ...
- Web前端开发实战4:导航菜单(一)
在前面的博文中我们提到横向一级菜单,这里我们来看看导航菜单. 导航菜单种类非常多,可是制作原理都是大同 小异的.这里看的比二级下拉式菜单还简单. 来看一些站点上的导航菜单: 垂直导航菜单: 水平导航菜 ...