css资源加载失败

最近被一个作业搞得头疼,在tomcat上发布完项目后html上css资源却没有加载上,打开浏览器控制台发现css文件都报了"resource interpreted as Stylesheet but transferred with MIME type text/html:"错误
error
这个错误大概就是css文件被用html文件的方式传输了,mime传输上出现了错误,因为本地打开html文件是正常的,所以问题就缩小在了后端上
在’Network’里可以看到css文件被当作html文件加入了head头信息里
在这里插入图片描述
这个charset=utf-8 语句明显提示我问题出现在过滤器上,过滤器是拷老师项目中自带的,很省事的用了’/*'来配置
在这里插入图片描述
然后我就先把过滤器关了,重新在eclipse上发布,但是依旧报错.
这就让我很苦恼了,接着又检查了mime-map,配置没毛病,但是网上有个土方法,把html文件里的<!Doctype html>标签删除,一开始不明白原理,但是确实奏效了,css加载出来了,虽然感觉不对但是还能先用着,后来明白能够奏效的原因是因为浏览器的兼容支持功能,当然这不符合html规范,是很不对的.

等到今天,再次研究这个bug,突然意识到浏览器为了提高浏览速度缓存了网页的静态文件,然后在我把过滤器重写了后,**把浏览器近期存储的数据清除,**再次加载就没报错了.
总体来说,就是因为第一次发布了错的文件格式,浏览器接收到的css文件是html类型的,而这当然是过滤器没有配置好的原因,在所有response头文件里加上了"text/html"声明,然后css文件又被缓存又不被正确解析,自然之后怎么瞎折腾都没有用了,不过好在一开始就明白了问题出现在哪里,但是因为浏览器的缓存机制,修改了过滤器后网页依旧会按照之前缓存的"text/html"格式的css文件来解析,所以就造成了一定困惑,不然就能直接解决.
这个问题其实很简单,但就是牵扯到了浏览器运行机制的原因,导致困惑了两三天不能解决.最主要的感觉就是自己经验还是太少,虽然一开始就意识到过滤器不对,但是后来修改后却依旧报错时就产生了怀疑,不够自信.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值