JSP에서 웹 애플리케이션의 절대 주소 획득하기

웹 개발시에는 일반적으로 상대 주소를 사용하여 개발한다.


Java EE 기반의 웹 애플리케이션 개발시 JSTL(JavaServer Pages Standard Tag Library)을 사용하여 JSP(JavaServer Pages)를 구현하는 것은 가장 간단하면서 효율적인 방법이다. JSP 내에서 페이지 리다이렉션 및 AJAX(Asynchronous JavaScript and XML) 요청 등 필요에 의해 애플리케이션의 주소를 다룰 때 대부분은 <c:url value="" /> 태그를 사용하여 상대 주소를 구현하는 방법을 사용한다. 하지만 가끔씩 절대 주소가 필요할 때가 있다.

절대 주소는 어떻게 획득할까?


javax.servlet.http.HttpServletRequest 오브젝트가 제공하는 정보를 활용하면 절대 주소를 획득하는 것이 가능하다. JSP에서는 아래와 같이 해당 정보를 획득할 수 있다.

  • ${pageContext.request.scheme}: http
  • ${pageContext.request.serverName}: localhost
  • ${pageContext.request.serverPort}: 8080
  • ${pageContext.request.contextPath}: /someApp

JSP에서 구현된 JavaScript에서는 위 정보를 활용하여 아래와 같이 웹 애플리케이션의 절대 주소를 획득할 수 있다.


var absoluteUrl = '${pageContext.request.scheme}' + '://' + '${pageContext.request.serverName}' + ':' + '${pageContext.request.serverPort}' + '${pageContext.request.contextPath}';

참고 글



저작자 표시 비영리 동일 조건 변경 허락
신고