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

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

项目名:chapter13
项目结构以及配置信息如图所示:
IDEA SpringMVC无法加载jquery文件的解决方法_第1张图片
controller类:
IDEA SpringMVC无法加载jquery文件的解决方法_第2张图片
springmvc-config配置信息:
IDEA SpringMVC无法加载jquery文件的解决方法_第3张图片
jsp文件位于webapp目录下:


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

  
  
    default
    org.apache.catalina.servlets.DefaultServlet
  
    
    default
    *.js
  

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

你可能感兴趣的:(spring框架,idea,SpringMVC,静态资源,400)