2011-08-14 4 views
1

JSP와 서블릿을 사용하여 웹 애플리케이션을 개발 중입니다. 사람이 로그인 한 후에 만 ​​액세스하고자하는 JSP 페이지가 2 개 있습니다. 사람이 페이지 (예 : page1.jsp)에 도달하면 해당 페이지에 로그인하고 로그인하지 않은 경우 사용자 이름 암호를 묻는 메시지가 표시됩니다. page login.jsp) 올바른 사용자 이름 암호를 입력하면 동일한 페이지 (page1.jsp)로 돌아갈 수 있습니다. 그리고 전에 page2.jsp를 탐색 중이면 login.jsp에서 page2.jsp로 리디렉션됩니다.2 페이지 분의 JSP 로그인

이전에 액세스 한 내용에 따라 적절한 페이지로 리디렉션하는 방법을 모르겠습니다.

답변

2

세션에 이전 URL을 저장해야합니다. 그런 다음 로그인이 성공하면 세션에서 previousURL 값을 검색하고 이에 따라 리디렉션합니다.

당신은 세션에 값을 저장 HttpSession.setAttribute()를 사용해야합니다 세션의 값을 저장하고 retreive .TO HttpServeltRequest.getRequestURI()를 사용하여 요청 URI를 얻을 수 있으며, HttpSession.getAttribute() 세션에서 값을 얻을 수 있습니다. 세션 객체 자체를 가져 오려면 HttpServletRequest.getSession()을 호출하면됩니다. 여기 요컨대 그래서

이 단계는 다음과 같습니다 -. 서블릿 방법에 대해 "이 page1.jsp는"당신이 사용자가 로그인하지 않은 것을 감지 말할 수에서

  1. 따라서 세션 변수 previousURL를 저장 .
  2. 그런 다음 login.jsp로 리디렉션합니다.
  3. 로그인이 성공하면 previousURL 값을 검색하고 로그인 서블릿에서 해당 URL로 리디렉션합니다.

희망이 있습니다.