문제
/auth/loginUser/
페이지에서 태그를 언팔로우했을 때, UserUnfollowTagServlet
에서 /tag/list
로 리다이렉트하고 있다. /user/unfollow
를 호출한 페이지로 리다이렉트되도록 만들어야 한다.
해결방법
이전에는 UserUnfollowTagServlet
에서 다음과 같이 고정된 URL 값을 주었다. 따라서 어떤 페이지에서 언팔로우를 하든 무조건 태그 목록 페이지로 리다이렉트되었다.
1
response.sendRedirect("../tag/list");
이를 해결하기 위해서는 리다이렉트되는 페이지가 고정된 값이 아니라 요청에 맞게 변해야 한다. HTTP 요청 헤더에는 Referer
라는 헤더가 있다. 이 요청헤더는 요청한 페이지의 링크 이전의 웹 페이지 주소를 포함한다. (포털에서 방문자 유입 경로 분석에 이 헤더값을 사용한다.) 따라서 다음과 같이 Referer 헤더값으로 리다이렉트되도록 바꾸어야 한다.
1
response.sendRedirect(request.getHeader("Referer"));
이제 auth/loginUser/
페이지에서 태그를 언팔로우해도 tag/list
로 가지 않고 auth/loginUser
페이지로 다시 온다!