본문 바로가기
개발자의 정보/Java & framework

[JSP] forward된 페이지에서 request.getRequestURI 사용하기

by pastory 2020. 2. 1.

Spring MVC 상에서 request.getRequestURI() 함수를 사용할 때 Controller 단에서는 제대로된 주소가 나온다. 하지만 jsp view 페이지에서는 /WEB-INF/views/.. 경로가 나오게 된다. 이는 Spring 에서 forward 하기 때문인데 jsp 페이지에서 다음과 같은 el 코드를 통해 사용할 수 있다.

request.getAttribute("javax.servlet.forward.servlet\_path");

 

아래는 jstl el 문법이다.


${requestScope\['javax.servlet.forward.servlet\_path'\]}

 

servlet 2.4 이상 버전에서 이와 같이 사용할 수 있는 속성은 다음과 같은 것들이 있다.
sample 요청 URL: http://localhost:9090/mani-examples/jsp/Forwarder.jsp?name=Mani

현재 URL 정보 출력

javax.servlet.forward.request_uri = /mani-examples/jsp/Forwarder.jsp
javax.servlet.forward.servlet_path = /jsp/Forwarder.jsp
javax.servlet.forward.context_path = /mani-examples
javax.servlet.forward.path_info = null
javax.servlet.forward.query_string = name=Mani

Tiles 정보 출력

javax.servlet.include.request_uri = /mani-examples/jsp/Included.jsp
javax.servlet.include.servlet_path = /jsp/Included.jsp
javax.servlet.include.context_path = /mani-examples
javax.servlet.include.path_info = null
javax.servlet.include.query_string = null

댓글