JSP 报错 : ReferenceError : $가 정의되지 않았습니다

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을 덮어 쓸 때 이기 때문에 정적 자원의 릴리스 인 SpringMVC 파일에서 구성해야합니다.

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

이런 식으로 정적 자원 요청이 발행 된 후 DispatcherServlet은 요청을 매핑하고 일치시키고, 일치하지 않으면 처리를 위해 기본값 인 tomcat으로 전송됩니다.

SpringMVC 프레임 워크를 사용하지 않는 경우 이러한 정적 리소스 요청은 tomcat 기본값으로 처리됩니다.

Tomcat의 기본 구성은 요청 경로가 다른 모든 서블릿과 일치하거나 일치하지 않을 때 요청이 기본값으로 전송되어 DefaultServlet에 의해 처리됩니다. 일반적으로 요청 된 정적 자원, 유효하지 않은 경로 등은 DefaultServlet을 통해 처리됩니다.

더 알고 싶다면 내 WeChat 공개 계정을 팔로우 해 주셔서 감사합니다 : Renda_Zhang

추천

출처blog.csdn.net/qq_40286307/article/details/108890857