6/11/2008

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  을 참고하시기 바랍니다.

댓글 없음:

댓글 쓰기

UIUC MCS-DS 2018 가을학기 끝, 그리고 2019 봄학기 등록 과목

이 포스팅은 제 미디엄(https://medium.com/@wjung/) 에 작성된 것의 중복포스팅입니다. 2018년 가을학기의 과목이었던 CS410 Text Information System을 드디어 끝냈다. 기말고사는 거의 2주 쯤 전인 12...