2012-04-23 2 views
0

profile?id=20으로 이동하는 경우 request.getPathInfo()을 사용하면 /profile 만 반환됩니다. 매개 변수로 전체 URL을 검색하는 방법이 있습니까?서블릿에서 매개 변수가있는 URL을 검색하는 방법은 무엇입니까?

내가 이것을 알아야하는 이유는 사용자를 명령을 호출 한 후 나온 것과 똑같은 페이지로 다시 전달하기 때문입니다 (예 : friend request command).

+0

[서블릿에서 요청 URL 가져 오기] (http://stackoverflow.com/questions/4040094/getting-request-url-in-a-servlet) –

답변

2

쿼리 문자열은 경로 정보의 일부가 아닙니다.

HttpServletRequest#getQueryString()으로 가져와야합니다.

String queryString = request.getQueryString(); 
// ... 

그런 다음 부품을 기반으로 새 URL을 직접 작성하십시오.

그런데 초기 URL이 그대로 유지되므로 앞으로 전달해야하는 이유가 표시되지 않습니다. 아마도 리디렉션과 혼동 스러울 것입니까?

+0

내'commands'는 url ('요청 .getPathInfo(). substring (1)')가 리턴 될 때,'FrontController'는 현재 뷰와 같은지 검사하고, 같으면'dispatcher.forward'를 사용하고 같지 않으면'response .sendRedirect'. 'request.getPathInfo(). substring (1)'문제는 매개 변수가있는 페이지로 돌아 가지 않는다는 것입니다. – Jonathan

+0

OK, 실제로 전달이 아닌 리디렉션을 보내고 있습니다. 필요한 경우 리디렉션 URL에'request.getQueryString()'을 추가하십시오. – BalusC

관련 문제