본문 바로가기
Java/Servlet & JSP

JSP) context path(서블릿 경로) 지정에 대하여

by 박채니 2022. 6. 17.

안녕하세요, 코린이의 코딩 학습기 채니 입니다.

 

개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.


이전 포스팅을 보면 context path를 쓸 때도, 안 쓸 때도 있었습니다.

어떤 차이점을 갖고 있는 지 확인해보겠습니다.

 

client와 tomcat은 위와 같은 구조를 가지고 있습니다.

tomcat (Web Container)은 하나 이상의 프로젝트(Web)를 가질 수 있고, 위처럼 /web이라는 context path, /foo라는 context path 등을 가질 수 있습니다.

localhost:9090은 tomcat을 가리키게 되고, 그 다음 어떤 서버에 어떤 프로젝트를 가리킬 지는 tomcat이 가지고 있는 목록에서 확인하게 됩니다.

만일 'localhost:9090/web/testPerson1.do' 주소를 요청 하게 된다면, tomcat은 이를 분석하게 됩니다.

/web은 웹의 별칭인 것을 인지하고 갖고 있는 목록에서 /web을 찾게 됩니다.

/web을 찾으면 그 안에 testPerson1.do를 처리할 수 있는 servlet을 찾습니다.

따라서 client에서 요청 시에는 반드시 'ip:port/context path/...'로 접근해야 합니다.

 

그렇다면 /web 프로젝트(분홍박스)안에서는 context path가 필요할까요?

이미 /web 프로젝트인 것을 알고 있기 때문에 java 코드나 xml에서는 context path를 사용하지 않는 것입니다.

 

* 정리

클라이언트 쪽에서 처리될 때는 context path를 지정!

서버 쪽에서 처리될 때는 context path를 지정하지 않음!

 

※ localhost:9090/web/ 와  src/main/webapp (web root directory)은 같음!