티스토리 뷰

728x90

보통 웹 프로젝트 작업을 할때는 기본적으로 contextPath를 / (root)로 작업을 합니다만

한가지 서버에 여러가지의 프로젝트가 돌아간다거나 할때 구분을 위해 contextPath를 나누어 사용을 하게됩니다.

예) tskwon.tistory.com/bbs/boardList.do -> tskwon.tistory.com/blog/bbs/boardList.do (/blog라는 contextPath 사용 예.)

문제는 이 contextPath가 개발을 완료한 이후에 변경이 된다면 페이지마다 링크를 모두 바꿔야하는 불상사가 생기게 됩니다.

그래서 이를 대비해서 사용할 수 있는것이 ${pageContext.request.contextPath} 입니다.

EL(Expression Language)을 통해서 간편하게 사용할 수 있는것이 장점 입니다.


사용 예) <a href="${pageContext.request.contextPath}/bbs/boardList.do">게시판</a>

위와 같이 링크 부분에 넣어두면 ${pageContext.request.contextPath} 부분에 서버에서 설정된 contextPath가 들어가게 됩니다.


주의 하실점은 servlet 2.4 이하 즉 2.3 버전까지는 EL을 지원하지 않으므로 <c:out>을 통해서 출력해야 합니다.

c:out 출력 예) <a href="<c:out value='${pageContext.request.contextPath}'/>/bbs/boardList.do">게시판</a>





728x90