运行 SpringMVC 项目时,JSP 的代码报错:
ReferenceError: $ is not defined
JSP 相关代码如下:
......
web.xml 文件相关配置如下:
springMVC org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:spring/spring-mvc.xml springMVC /
这是因为配置的 DispatcherServlet 的映射路径为 / 时,会覆盖掉 tomcat 的 default 配置,所以需要在 SpringMVC 文件中进行配置,对静态资源进行放行:
......
这样,发出静态资源请求后,然后 DispatcherServlet 会对请求进行映射匹配,如果匹配不成功,就会转交给 tomcat 的 default 进行处理。
如果不使用 SpringMVC 框架,这些静态资源请求都会由 tomcat 的 default 进行处理。
Tomcat 的 default 配置为在请求路径匹配完其他所有 Servlet 还是没有匹配到的情况下,请求会被发到 default,由 DefaultServlet 进行处理;一般请求的静态资源,无效路径等等都会通过 DefaultServlet 进行处理。
想了解更多,欢迎关注我的微信公众号:Renda_Zhang