解决方案
在SpringMVC配置文件中加入
为所有静态资源放行。
如果是静态资源将会由默认的Servlet处理,如果不是才会交给SpringMVC处理。
<mvc:default-servlet-handler/>
在SpringMVC配置文件中加入
对应的mapping请求会自动到配置的文件夹下寻找静态文件。
<mvc:resources mapping="/webjars/**" location="/webjars/"/>
问题与过程
学习框架时遇到的一个问题:maven中导入jquery但是却访问不到。
百度后,按文章中的解决方案后,但还是访问不到。
(11条消息) SpringMVC无法引入Jquery的问题_探长大神的博客-CSDN博客_springmvc引入jqueryhttps://blog.csdn.net/weixin_41524017/article/details/82261560
<!-- https://mvnrepository.com/artifact/org.webjars/jquery -->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.6.0</version>
</dependency>
<script type="text/javascript" src="/webjars/jquery/3.6.0/jquery.min.js"></script>
第二反应是到tomcat生成的文件夹下寻找,发现依赖里面的jquery是jar,但是jar也是可以用路径直接访问。
打开jar包,可以看到路径确实是对的。
最后想到可能是被SpringMVC拦截了,在web.xml配置可以看到所有请求都交由SpringMVC处理。
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>