[SPRING] contextPath ❓

수경·2025년 3월 31일

SpringFrameWork

목록 보기
24/24
post-thumbnail

contextPath 🤔

contextPath 는 웹 애플리케이션의 최상위 경로를 가리킨다.
톰캣(Tomcat) 같은 웹 서버에 배포할 때, 어떤 경로로 애플리케이션이 실행되는지를 나타낸다.

<c:set var="contextPath" value="${pageContext.request.contextPath}"/>

${pageContext.request.contextPath}현재 웹 애플리케이션의 컨텍스트 경로(Context Path) 를 의미 한다.

1. 예제

✅ 2. 사용 예제

<c:set var="contextPath" value="${pageContext.request.contextPath}" />
<a href="${contextPath}/member/main.do"></a>

컨텍스트 경로가 /animal 이면?

<a href="/animal/member/main.do"></a>

컨텍스트 경로가 /shop 이면?

<a href="/shop/member/main.do"></a>

컨텍스트 경로가 / (ROOT) 라면?

<a href="/member/main.do"></a>

📌 contextPath를 쓰는 이유?

➡️ 유지보수를 쉽게 하기 위해!

  • 웹 애플리케이션을 /animal/shop 으로 변경해도 모든 링크를 수정할 필요가 없다.

  • 하드코딩된 경로 대신 ${contextPath} 를 사용하면, 자동으로 바뀐다.

  • 다른 JSP 파일에서도 ${contextPath}그대로 사용할 수 있다.

JSP 에서 활용

1. JSP에서 직접 사용

<%= request.getContextPath() %>

2. JSTL로 설정해서 사용

<c:set var="contextPath" value="${pageContext.request.contextPath}" />
<a href="${contextPath}/member/main.do"></a>

3. JavaScript에서 사용

<script>
    var contextPath = "<%= request.getContextPath() %>";
    console.log("현재 컨텍스트 경로: " + contextPath);
</script>

contextPath 설정 방법

컨텍스트 경로는 배포 시점에 결정되며, 톰캣(Tomcat) 설정에서 변경이 가능하다.

📌 1) server.xml에서 직접 설정

<Context path="/myapp" docBase="myapp" reloadable="true" />

▶ 이렇게 설정하면, 웹 애플리케이션의 기본 경로가 /myapp 이 된다.

📌 2) web.xml에서 설정

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>

▶ 프로젝트의 web.xml 에서 컨텍스트 경로를 지정할 수도 있다.

🚀 결론

  • ${pageContext.request.contextPath}는 웹 애플리케이션의 기본 URL 경로를 반환한다.

  • JSP에서 contextPath 를 활용하면 경로를 일괄적으로 관리할 수 있다.

  • 유지보수가 쉬워지고, 배포 환경이 바뀌어도 자동으로 경로가 맞춰진다. 😃

profile
개발 공부중•••

0개의 댓글