SpringMVC项目的jsp中无法引入css、javascript文件

博主在尝试解决jsp中无法加载CSS和js文件的问题时,经历了各种尝试,包括配置过滤器、设置静态资源拦截、调整maven打包选项和修改文件编码等。问题的关键在于外部无法直接访问WEB-INF文件夹。最终解决方案是将css和js文件移出WEB-INF,使用相对路径…/static/css/**.css和…/static/js/**.js进行引用。注意IDEA可能不会提供路径提示,但实际可以正常访问。这个陷阱在于安全考虑,WEB-INF目录下的内容不应直接被外部访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jsp中无法引入CSS、js文件

这个问题真的困扰我太久了!

真的看了有几百篇博客尝试了不知道多少种方法!
什么过滤器的配置、静态资源拦截、maven打包js/css插件 、css文件编码格式改成UTF-8等等等等!

折腾了一百遍屡屡不见成效!
今天下决心一定要把这个问题解决了!

一方面通过Chrom浏览器的控制台查
一方面不断调试idea的后台文件路径

刚开始的时候一直报错:找不到相关的css文件
但是在idea里面用command+鼠标点击是可以跳转到css文件的
这就奇怪了?

在这里插入图片描述

而且更坑的是,在index.jsp中用…表示上层目录的时候,完全没有提示,而且按照相对路径去找WEB-INF上层的文件一直显示找不到文件,如下图,后来才发现完全可以找到,而且即使在找到的情况下,IDEA也会继续显示cannot resolve file ,不知道是bug还是有什么规则限制了。

所以我一直把css和js文件放在WEB-INF文件夹里面,这也是问题的关键所在!!!!!!

在这里插入图片描述

解决方法:

将css/js文件放在web文件夹下,使用

…/static/css/**.css.

…/static/js/**.js

格式的相对路径来访问,不要管是否有提示!直接写!

其实仔细一想问题很简单!

原因在于:处于安全考虑,外部无法直接访问WEB-INF文件夹的内容,所以一定要将css/js文件放在WEB-INF文件夹的外面!!坑!!!!

不过好在终于解决了!睡觉!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值