IDEA SpringMVC无法加载jquery文件的解决方法

此文记录学习《spring+springMVC+mybatis从零开始学》过程中出现的问题。
问题引入:web.xml配置文件中配置了springmvc过滤器,因此过滤了所有请求资源;在springmvc的配置文件中开启注解驱动以及静态资源映射,在路径正确的请求下仍然无法加载js文件,浏览器控制台出现400 bad request错误,提示$ not defined等错误信息。

项目名:chapter13
项目结构以及配置信息如图所示:
在这里插入图片描述
controller类:
在这里插入图片描述
springmvc-config配置信息:
在这里插入图片描述
jsp文件位于webapp目录下:

<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.1.1.min.js"></script>

应用上下文如下:
在这里插入图片描述
如果配置正确,路径也正确但是无法访问静态资源,可尝试一下办法:
1、保持上述配置不变
2、导入catalina包,位于tomcat的lib下,添加到项目中
3、修改web.xml配置文件:

  <!--配置默认Servlet-->
  <servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
  </servlet>
    <servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.js</url-pattern>
  </servlet-mapping>

然后rebuild project,restart server,重新访问即可:
在这里插入图片描述
在这里插入图片描述
数据成功交互,到此,已经解决了问题。
接下来,调皮一下,把jar包以及后来修改的配置去掉,rebuild & restart,会发现,在chrome浏览器中还是正常的,这个现象很奇怪,一开始我以为是IDEA的问题。
然后用Firefox试了一下,跟chrome不同,提示变量未定义:
在这里插入图片描述
也就是说,还是找不到静态资源文件jquery.js文件,然而chrome浏览器是可以找到的。
其实这是由于浏览器缓存的原因,按下Ctrl+Shift+Del,然后回车清理缓存,重新发送请求,是应答的。所以以上配置是有效的,取消注释,重新导入catalina包。重新启动容器,访问测试:
在这里插入图片描述
大功告成!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值