서블릿의 세션은 요청 객체를 통해 얻은 HttpSession 객체를 통해 서블릿 컨테이너에서 유지 관리합니다. 새로운 HttpSession 객체를 실제로 인스턴스화 할 수는 없으며 비즈니스 로직을 포함하지 않지만 객체를 저장할 위치가됩니다.
EJB의 세션은 SessionBeans를 사용하여 유지 관리됩니다. 비즈니스 로직을 포함 할 수 있고 클라이언트가 사용할 수있는 bean을 디자인합니다. Stateful과 Stateless의 두 가지 세션 빈이 있습니다. 첫 번째 것은 어떻게 든 단일 클라이언트와 연결됩니다. 그것은 그 클라이언트의 상태를 유지하고 그 클라이언트 만이 사용할 수 있으며 클라이언트가 죽으면 세션 빈은 "손실"됩니다.
Stateless Session Bean은 상태를 유지하지 않으며 두 클라이언트가 차례로 호출해도 동일한 클라이언트가 동일한 Stateless Bean을 사용할 것이라고 보장 할 수 없습니다. Stateless Session EJB의 수명주기는 Stateful Session EJB의 수명주기와 약간 다릅니다. EJB 컨테이너의 책임은 각 세션을 추적하는 방법을 정확하게 알고 클라이언트의 요청을 세션 빈의 올바른 인스턴스로 리디렉션하는 것을 담당합니다. 이것이 이루어지는 방식은 공급 업체에 따라 다르며 계약의 일부입니다.
서버 측에 대한 추가 정보 http://www.theserverside.com/discussions/thread.tss?thread_id=552 –
sandeep에 감사하지만 애플리케이션에서 세션 빈을 사용하면 어떤 이점이 있습니까? HTTPSession 객체. 내가 EJB를 사용하고 있다면, 왜 내가 sessionbean을 사용할 것이고 그렇게하는 것의 장점은 무엇인가? 그리고이 접근법을 따르는 문제는 무엇인가? – vicky
빈에 관한 한 가지는 서블릿에서 비즈니스 로직을 이동시키는 것입니다. 이것은 이제 서블릿에서 로직을 재사용 할 수 있고 EJB가 모든 다른 기술과 상호 작용할 수 있으므로 큰 이점입니다. – Namphibian