2010-08-24 7 views
1

가능한 조언/솔루션을 얻으려고 내가하는 일을 가능한 한 잘 설명하려고 노력합니다. 이것은 모두 java에서 완료됩니다.HTTP 세션 관리/대체 세션 관리 (Java)

내 클라이언트에는 WebStart를 사용하여로드 할 SWING 기반 데스크탑 응용 프로그램이 있습니다. 사용자 계정 정보를위한 세션 관리자를 만들도록 지정되었습니다.

내 친구가 Http Session Management를 사용하기를 제안 했으므로 사용해 보았습니다. 필자는 사용자 프로필을 기반으로 세션을 생성, 제거 및 재 할당하는 서블릿 (이 SessionServlet)을 작성했습니다. tomcat 7에서는 세션이 저장되지 않습니다. 나는 서블릿이 초기화 될 때 세션이 비어 있다고 의심한다. 나는 단지 Session에 org.apache.catalina.ASYNC_SUPPORTED을 얻는다.

내 질문 (들)입니다/위치 :

  • 가 어떻게 톰캣 7 세션 관리를 수행 할 수 있습니까?
  • 스프링 3에서 어떻게 세션 관리를 할 수 있습니까? 대부분의 서비스가 Spring에서 실행되고 있으며 Spring에서 Session Management를 수행하는 것이 현명 할 것이라고 생각합니다.
  • Java에서 세션 관리를 수행하는 다른 방법에는 세션 관리를위한 디자인 패턴이 있습니까? (그냥 궁금해서).

감사합니다.

답변

2

나는 이것을 알아 냈으므로, 의견을 공유하겠습니다.

Http 세션 관리 (특히 서블릿)를 수행 할 때 클라이언트 측 세션 관리도 존재하는지 확인해야합니다.

세션이 생성되면 서블릿은 서블릿 컨테이너에 의해 생성 된 세션의 값이 JSESSIONID 인 쿠키를 반환합니다. 클라이언트 측에서 세션을 저장하고 서버의 세션 데이터에 액세스해야 할 때마다이를 사용할 수 있는지 확인하십시오.

내 옆에서 쿠키를 저장하지 않아서 세션이 생성되지 않은 것처럼 보였습니다.

다른 사람에게 도움이되기를 바랍니다.

+0

맞습니다. 나도 그 질문을 놓쳤다. 이것은 모든 서블릿 API와 관련이 있기 때문에'servlet' 태그도 적절할 것입니다. – BalusC

+0

감사합니다. BalusC가 업데이트되었습니다. –

2

나는 세션으로 무엇을하려고하는지 오해하지만 사용자가 사이트에 액세스하는 동안에 만 (서블릿 측면에서) 세션이 존재할 수도 있습니다. 따라서 사용자는 첫 번째 페이지를 가져오고 세션이 설정되며 사용자가 액세스하는 각 페이지에서 사용할 수 있습니다. 사용자가 사이트를 떠날 때 세션이 사라집니다. 이것은 당신이 찾고있는 행동입니까, 아니면 사이트를 방문하는 사이에 계속 될 무언가를 찾고 있습니까?

+0

"영원히"지속될 것입니다. 즉 세션은 언젠가 파괴 될 것을 요청받을 때까지 영원히 존재할 수있다. –

+0

장기간 지속될 수있는 쿠키를 보는 것이 더 나을 것이라고 생각합니다. NB 봄에 대해 알고 있습니다. – Jaydee

+0

당신의 노력에 +1을주었습니다. –