2008년 6월 11일 수요일

Tomcat 5.0 -> Tomcat 5.5 이후 forward 된 jsp 에서 request.getRequestURL() 의 값이 이상해진 경우

forward 된 jsp 페이지에서 최초의 브라우저 또는 클라이언트 프로그램으로 부터 호출될 때 사용되었던 URL을 구하기 위해 request.getRequestURL() 이나 request.getRequestURI() 를 사용했던 페이지들 중 tomcat 을 5.0에서 5.5 로 업그레이드 한 이후에 출력값이 달라지는 문제가 발생함을 경험하신 분들이 계실겁니다.

이는 Tomcat 5.5.7 버전부터 getRequestURL() 의 구현이 바뀌었기 때문인데(bug fix), 더이상 최초의 URL 을 넘겨주지 않고 forward 된 jsp 페이지의 URL을 넘겨주도록 되었습니다.

해결책부터 적는다면 5.5.7 이후부터는 getRequestURL() 대신에

request.getAttribute("javax.servlet.forward.request_uri");


를 사용하면 됩니다.

좀 더 자세한 내용은 wiki 에 작성해 둔 http://www.potatosoft.com/wiki/wiki.php/TOMCAT5#s-9  을 참고하시기 바랍니다.

댓글 없음:

댓글 쓰기

가장 많이 본 글