나는 각각 홈, 주제, 게시 됨, 로그인 및 사용자 목록 페이지를 나타내는 일련의 Servlets
으로 간단한 포럼을 만들고 있습니다. 이 페이지 중 일부에는 사용자가 로그인하지 않은 상태에서 나타나는 링크가 있습니다.로그인 후 페이지로 리디렉션
내가 원하는 것은 로그인 후 리다이렉션 (RequestDispatcher에서 forward() 사용)을 트리거하는 것입니다. 브라우저는 사용자가 로그인 링크를 클릭하기 전의 페이지로 돌아갑니다. 이를 위해 두 가지 해결책이 있습니다.
첫 번째 해결 방법은 Parameter
으로 리디렉션 할 페이지를 나타내는 정보가 포함 된 로그인 버튼과 보이지 않는 필드가있는 Form
의 HTML을 사용하는 것입니다. 이것은 가능하지만 다른 것을 시도하고 싶습니다.
두 번째 해결 방법은 어떤 식 으로든 첫 번째 "페이지"를 나타내는 session
에 Attribute
을 추가하는 것입니다. 이것은 문자열을 포함 할 수 있지만 이것은 첫 번째 접근법과 다르지 않습니다. 또 다른 트위스트는 HttpServlet에 대한 참조를 추가하고 instanceof 또는 정적 인 String 변수를 사용하여 Servlet을 어떤 식 으로든 식별 할 수 있습니다. 그러나이 경우 모든 Servlets
에 대해 공통 조상 클래스를 만들어야합니다.
아마 좋은 타협을 형성 할 수있는 또 다른 간단한 해결책이 있을까요? 아니면 위의 솔루션 중 하나가 완벽하게 수용 할 수 있습니까?
훌륭한 답변입니다. 또한 DAO가 추가되면 무엇을 목표로해야하는지에 대한 스냅 샷을 제공합니다. –
컨테이너 관리 보안을 사용하는 경우 j_security_check에 요청을 게시하면이 작업을 수행 할 수 없습니다. 대신 서블릿 버전 3 프로그래밍 방식의 로그인을 사용하십시오 : HttpServletRequest.login – Ryan
대단히 감사합니다. –