2011-03-21 2 views
4

웹 응용 프로그램 개발을 위해 Spring 3와 Hibernate 3.6을 사용합니다. 새로운 기능 임과 어떻게 세션이 작동 하는지를 정말로 이해하고 있는지 궁금합니다.Spring 서버/클라이언트 세션과 최대 절전 모드 세션

세션 ID로 식별되는 서버와 클라이언트 간의 세션이 최대 절전 모드 세션과 다르다는 것이 맞습니까?

서버와 클라이언트 간의 세션은 항상 HttpSession입니다. (?) 언제 만들어 집니까? 사용자가 로그인하거나 익명 사용자가 보안되지 않은 페이지를 요청할 때?

httpsession과 hibernate-sessions 사이에 어떤 연결이 있습니까? Hibernate 세션은 httpsession에 연결되지 않은 sessionfactory에 의해 생성됩니까? 확실하지 임 이런 명령을하는 세션 최대 절전 모드를 다스 려되는 :

this.sessionFactory.getCurrentSession().save(object); 

getCurrentSession()을 : 시간이 최대 절전 모드 세션을 활성화한다? 사용자가 로그인 한 전체 시간 동안? (여러 데이터 작업을 포함 할 수 있습니다)

이 질문에 대한 답변을 전적으로 쉽게 할 수 있지만 대다수의 문서는 영어로되어 있으며, 모국어가 아닌 경우 이해가 어려운 경우가 있습니다. (주로 "세션"이라는 단어가 자주 사용되기 때문에)

이 주제를 이해할 수있게 도와 주셔서 감사합니다. :-)

답변

6

그것은 세션 ID로 을 확인 서버와 클라이언트 사이의 세션 가, 최대 절전 모드 세션에서 다른 것을, 맞습니까?

예, 완전히 다릅니다.

참조 :. (?) (에서 javax.servlet) HttpSession (최대 절전 모드) Session

항상 HttpSession이있다 서버와 클라이언트 사이의 세션이 때이 이을 만들어? 사용자가 로그인하거나 익명 사용자가 페이지를 요청할 때 (보안되지 않음)?

Java EE Tutorial > Maintaining Client State

는 의 HttpSession 및 최대 절전 모드 - 세션 사이에 연결이되어보기?

없음

, OpenSessionInViewFilter이 (하지 웹 세션 당, 요청 당 하나의 최대 절전 모드 세션) 모든 HTTP 요청에 사용할 수있는 최대 절전 모드 Session이 있는지 확인 수 있지만.

는 의 HttpSession없이 연결에 SessionFactory에 의해 만들어진 최대 절전 모드 세션 있습니까?

예, 일반적으로

임 확실하지 세션 최대 절전 모드는이 같은 명령을 다스 려되어있는 : 는 "this.sessionFactory.getCurrentSession()가 (객체)를 저장;."

최대 절전 모드 Session

이 "getCurrentSession()":이 최대 절전 모드 세션이 얼마나 긴 활성? 전체 사용자가 에 로그인 했습니까? 또는 ( 여러 데이터 작업을 포함 할 수 있습니다?) 한 거래

은 빠른 답변Hibernate Reference > Session and Transaction Scopes

+0

감사를 참조하십시오. 당신이 나에게 준 소스를 통해 읽었을 때, 나는 더 많은 질문을 가지고있다. 1. HttpSession이 인터페이스 일 때, 어떻게 "HttpSession의 객체"가 세션을 나타낼 수 있는가? HttpSession을 구현하는 구체적인 클래스가 없어야합니까? – nano7

+0

2. 바보 같지만 세션 ID가없는 사용자가 처음 서버에 연결할 때 세션이 만들어 졌음을 올바르게 이해했습니다. 그는 그것에 로그인해서는 안됩니다. (예 : 30 분 후) 또는 사용자 (로그인 한 경우)가 로그 아웃 할 때 세션이 종료됩니다. – nano7

+0

3. 일반적으로 아무 것도 구성되어 있지 않으면 하나의 요청에 대해 하나의 최대 절전 모드 세션이 생성됩니다. 또한 데이터베이스 조작이 완료되지 않았을 때 요청에 대해 자동으로 작성되는 최대 절전 세션입니까? 감사합니다 :-) – nano7