728x90

개요
Servlet 3.0 이상에서 URI에 // 호출하였을 시, servlet 버전에 따른 결과 차이

현상
URL 호출 시 URI에 //를 포함하면 Servlet 3.0 이상 부터는 그대로 표기
EX) www.a.com/test//abc.jsp -> www.a.com/test/avc.jsp

원인
Servlet의 javax.servlet.http.HttpServletRequest.getrequestURI 결과가 Servlet 버전마다 차이가 남
3.0 이상에선 위의 예시와 같이 치환되지 않고 요청한 URI 그대로 들어옴
아래의 jsp 페이지를 통해 해당 정보 확인 가능


<%
String reqURI = request.getRequestURI();
out.print("requestURI: "+ reqURI);
%>


해결방안
JEUS에 아래의 설정을 추가하여 getrequestURI 호출결과가 달라지도록 설정
-Djeus.servlet.request.returnDecodedRequestURI=true

728x90

+ Recent posts