23.01.24 request.getContextPath()
미니 jsp프로젝트 중
request.getContextPath()+"/view/notice/readNotice.jsp" 라 하면 404 에러가 나는 것에 대한 이해를 돕기 위한 자료
https://history1994.tistory.com/27
ContextPath - ServersSide & ClientSide
서버단 언어이든 클라이언트 단 언어이든 어떤 특정 파일을 사용하기 위해서 경로를 알고 있어야 하는 경우가 있다 여기서 경로를 잘못 입력하게 되면 404 에러가 떠버린다... 그렇기 때문에 경
history1994.tistory.com
간단히 설명하면 java 클래스파일은 서버측 이므로 request.getContextPath()+ 를 굳이 해주지 않아도
기본적으로 서버가 나머지 주소 앞에 더하여 판단함.
예) 프로젝트 명이 test이고 server.xml 설정을 수정하지 않았다는 가정하에 contextPath 는 프로젝트 명과 동일하게 /test라 하면
그냥 "/view/notice/readNotice.jsp" 요청시
서버가 알아서
URI를 /test/view/notice/readNotice.jsp 라고 인식한다는 것.
그런데 위와같이
request.getContextPath()+"/view/notice/readNotice.jsp" 라 고 적게 되면 서버측에서는
/test/test/view/notice/readNotice.jsp 라고 두 번 인식 하게 된다는 것.
다른 프로젝트에서는 이렇게 해도 에러가 없었는데 다시 확인해보니 contextPath를 그냥 /로 주었기 때문에 404에러가 나지 않았다.
contextPath가 그냥 / 일시에
request.getContextPath()+"/view/notice/readNotice.jsp" 라고 요청하면 서버측에서는
///view/notice/readNotice.jsp 으로 인식되어 404 에러가 나지 않고 잘 동작 됐던 것.
따라서 view단 즉,. 클라이언트 단이 아닌 서버단에서 코딩시에는
request.getContextPath() 를 무조건 붙여서는 안된다는 것.!!!