龙空技术网

JSP报错Error: $ is not defined

RendaZhang 87

前言:

此刻大家对“jsp错误页面提示”大致比较关怀,各位老铁们都需要知道一些“jsp错误页面提示”的相关知识。那么小编也在网摘上搜集了一些有关“jsp错误页面提示””的相关内容,希望姐妹们能喜欢,咱们快快来学习一下吧!

运行 SpringMVC 项目时,JSP 的代码报错:

ReferenceError: $ is not defined

JSP 相关代码如下:

...<script src="js/jquery-3.3.1.min.js"></script><script>    $("#btn").on("click", function () {        $.ajax({            type: "post",            url: "register",            data: $("form").serialize(),            success: function (data) {                console.log(data);                alert("注册成功");            },            error: function (xhr, type, errorThrown) {                console.log("xhr:" + xhr + " type:" + type + " errorThrown:" + errorThrown);            }        });    });</script>...

web.xml 文件相关配置如下:

<servlet>    <servlet-name>springMVC</servlet-name>    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <init-param>        <param-name>contextConfigLocation</param-name>        <param-value>classpath:spring/spring-mvc.xml</param-value>    </init-param></servlet><servlet-mapping>    <servlet-name>springMVC</servlet-name>    <url-pattern>/</url-pattern></servlet-mapping>

这是因为配置的 DispatcherServlet 的映射路径为 / 时,会覆盖掉 tomcat 的 default 配置,所以需要在 SpringMVC 文件中进行配置,对静态资源进行放行:

...<!-- 配置放行静态资源 --><mvc:default-servlet-handler/>...

这样,发出静态资源请求后,然后 DispatcherServlet 会对请求进行映射匹配,如果匹配不成功,就会转交给 tomcat 的 default 进行处理。

如果不使用 SpringMVC 框架,这些静态资源请求都会由 tomcat 的 default 进行处理。

Tomcat 的 default 配置为在请求路径匹配完其他所有 Servlet 还是没有匹配到的情况下,请求会被发到 default,由 DefaultServlet 进行处理;一般请求的静态资源,无效路径等等都会通过 DefaultServlet 进行处理。

想了解更多,欢迎关注我的微信公众号:Renda_Zhang

标签: #jsp错误页面提示 #web项目jsp报错 #jsp页面js代码不起作用