Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

Eclipse 프로젝트 서버Root(/)에서 실행하기

보통 이클립스에서 톰캣등을 연결해서 웹프로젝트를 실행하면 서버루트밑에 프로젝트명이 붙어서 개발할때 상당히 귀찮습니다.

무슨 소리냐 하면 이클립스에서 TestProject라는 프로젝트를 만들고 톰캣을 연동해서(톰캣을따로 설치해서 Deploy형태로 하는 것 말고 이클립스에서 Run As..로 실행할 수 있도록...) 실행을 하면 http://localhost:8080/TestProject/index.jsp와 같은 형태로 실행이 되기 때문에 이미지나 form submit을 할 때 절대경로를 사용하려면 /TestProject/images/01.jpg와 같은 형태로 사용해야 되는데 최종적으로 Deploy될때는 TestProject밑으로 안들어가고 그냥 Root로 들어가는 경우가 많기 때문에 이점은 개발할 때 꽤 귀찮습니다.

그래서 /TestProject라는 경로를 핸들링하기 위해서 <%=CONTEXT_ROOT%>/images/01.jpg와 같이 상수 또는 변수로 만들어서 나중에 배포할 때 상황에 맞게 수정할 수 있도록 하곤 합니다.

이게 이클립스의 설정때문에 그런건줄 알았더니 이걸 수정할 수 있는 방법이 있었습니다.

사용자 삽입 이미지

Project를 처음 생성할 때 항상 무심코 Next를 누르던 과정 중에 Context Root를 설정하는 부분이 있었습니다. 기본값으로 프로젝트명이 자동으로 Context Root로 설정되는데 여기서 이렇게 설정되었기 때문에 톰캣실행시에도 Context Root가 /TestProject/가 되는 것입니다. 여기서 이 Context Root를 공란으로 만들면 Context Root가 /가 되고 톰캣실행시에도 http://localhost:8080/index.jsp와 같은 형태로 실행할 수 있습니다.



또한 이미 Context Root를 기본값인 프로젝트명으로 만들어진 프로젝트도 변경이 가능합니다.

사용자 삽입 이미지

해당 프로젝트의 [Properties] - [Web Project Settings]에서 Context Root를 변경할 수 있습니다. 이렇게 Context Root를 변경하였을 때는 수동으로 톰캣을 한번 껐다 켜야 적용이 됩니다. 그렇지 않고 Run As...로 재가동을 하였을 때는 404 error가 나타납니다.
2009/03/12 01:53 2009/03/12 01:53