토마토바구니
972
2021-04-11 16:11:22 작성 2021-04-11 17:40:10 수정됨
2
85

(해결)(AWS)스프링 컨트롤러 경로 질문 입니다~~


이메일 중복 체크 기능 입니다.


자바스크립트 파일

$.ajax({
            url: "/member/login",
            type: "post",
            dataType: "json",
            data: {
                "email": $(loginEmail).val(),
                "pwd": $(loginPwd).val(),
            },


로컬 서버

http://localhost:8080/member/duplicatedEmailChk

AWS 서버

http://15.164.46.83:8080/member/duplicatedEmailChk



각각 로컬과 AWS에 배포 후 실행 결과 입니다.


문제는 로컬에서는 해당 컨트롤러 경로를 잘 찾는데, AWS에서는 해당 경로를 찾지 못 하는지 404 에러가 발생합니다. 

혹시 이유가 뭘까요?


+) 혹시나 싶어서 경로에 'contextPath'를 붙여봤는데, 자바스크립트 별도 파일이라 그런지 '%!@#'이런 기호가 경로에 붙어버립니다..


0
  • 답변 2

  • Xasquatch
    303
    2021-04-11 17:32:48

    +) 혹시나 싶어서 경로에 'contextPath'를 붙여봤는데, 자바스크립트 별도 파일이라 그런지 '%!@#'이런 기호가 경로에 붙어버립니다..


    이건 url에 들어갈 수 없는 공백이나 특수문자가 들어간 경우 변환되서 들어가기에 그렇습니다

    어마 /member 앞에 해당 프로젝트명을 붙이면 매핑이 될듯싶네요

  • 토마토바구니
    972
    2021-04-11 17:39:00

    Xasquatch /// 질문을 올리고 저는 이렇게 해결 했습니다!


    JSP 파일에 아래와 같은 코드를 넣은 후 JS 파일에서 해당 변수에 접근했습니다.

    <script>let contextPath = "${pageContext.request.contextPath}"</script>


    저도 이유는 모르겠지만, 자바스크립트 파일이 JSP에서 contextPath를 못 받아오는게 아닌가 싶은 생각이 듭니다.


  • 로그인을 하시면 답변을 등록할 수 있습니다.