보통 웹 프로젝트 작업을 할때는 기본적으로 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>
출처: https://blog.taeseong.me/287 [사과 냄새나는 IT이야기 TAESTORY,]
'프로그래밍 기초 > JSP' 카테고리의 다른 글
[JSP] Filter (0) | 2020.01.10 |
---|---|
[jsp] 환경설정 정리 (0) | 2020.01.08 |
[JSP]location.href의 사용 (0) | 2020.01.08 |
tomcat 서버 환경설정-db연동 (0) | 2020.01.08 |
[JSP,HTML,CSS]빠른 완성을 도와주는 Emmet (0) | 2020.01.07 |