입니다. 스프링 3을 익히고 HTTPSession이 언제 생성되었으며 수명주기가 언제인지 이해하려고합니다. 내 모든 컨트롤러는 기본적으로 싱글 톤이며 HttpSessionListener
을 구성했습니다. sessionCreated
이 절대로 호출되지 않는다는 것을 알았습니다.모든 컨트롤러가 싱글 톤일 경우 HTTPSession이 생성되는시기는
하지만 LoginController
을 Session
범위 컨트롤러로 만들면 sessionCreated
이 호출됩니다. 스프링 컨트롤러가 HttpSession
에 의해 관리되고 있는지 알고 싶습니다. 또한 다른 질문은 borowser의 첫 번째 요청이 LoinController
이되고 HttpSession
이 생성된다는 것입니다. 그런 다음 해당 브라우저에서 다른 컨트롤러 (단일 호스트)에 대한 후속 요청이 동일한 HTTPSession을 사용하거나 상태가 유지되지 않습니까? 누군가 제발 도와 줄 수 있어요.
예, 기본적으로 컨트롤러는 싱글 톤이지만 annotion을 사용하여 세션 범위가되도록 구성 할 수 있습니다. 세션 범위와 싱글 톤 컨트롤러가 혼합 된 경우 동일한 브라우저의 모든 요청에 대해 동일한 HTTPSession을 공유합니까? –
@integral_dev 차이점은 세션 범위 컨트롤러가 상태를 가질 수 있다는 것입니다. 즉, 해당 필드에 값을 할당 할 수 있으며 각 사용자 세션마다 고유하게됩니다. – Bozho