Servlet의 상태 정보 저장
Servlet의 상태 정보는 크게 4가지가 있다.
어플리케이션, 페이지 컨텍스트, request, 세션 저장소인데, 공부하면서 브라우저에서 쓰이는 것도 동일하지 않나 싶었다
1. 페이지 컨텍스트(Page Context)
현재 페이지의 지속 시간 동안 사용 가능한 저장 영역입니다.
페이지 내에서 여러 번 액세스되는 데이터를 저장하는 데 사용되지만 페이지를 넘어 지속될 필요는 없습니다.
페이지 컨텍스트에 저장된 데이터는 다른 페이지나 구성 요소에서 사용할 수 없습니다.
이는 저장소들 중 가장 좁은 범위이며 저장된 데이터는 현재 페이지 처리가 완료되면 지워집니다.
요청 저장소(Request)
이 저장소 영역은 현재 HTTP 요청 기간 동안 사용할 수 있습니다.
서블릿에서 JSP로와 같이 요청 처리의 다른 부분을 처리하는 구성 요소 간에 데이터를 전달하는 데 자주 사용됩니다.
페이지 컨텍스트와 달리 요청 저장소의 데이터는 요청을 처리하는 모든 구성 요소에서 사용할 수 있지만 요청 처리가 완료되면 지워집니다.
세션 저장소(Session)
사용자 세션이 지속되는 동안 지속되는 저장소 영역으로, 일반적으로 사용자가 웹 애플리케이션과 관련된 일련의 상호 작용에 해당합니다.
사용자 인증 정보 또는 전자 상거래 응용 프로그램의 장바구니 내용과 같이 동일한 사용자의 여러 요청에서 사용할 수 있어야 하는 데이터를 저장하는 데 사용할 수 있습니다.
세션 저장소는 사용자별로 다릅니다.
한 사용자의 세션에 저장된 데이터는 다른 사용자가 사용할 수 없습니다
응용 프로그램 저장소(Application)
응용 프로그램의 수명 주기 동안 웹 응용 프로그램의 모든 구성 요소에서 사용할 수 있는 전역적인 저장소입니다.
애플리케이션 구성 설정 또는 공유 데이터 캐시와 같이 모든 세션 및 요청에서 공유해야 하는 데이터를 저장하는 데 자주 사용됩니다.
애플리케이션 스토리지는 애플리케이션이 종료될 때까지 지속됩니다
결론
이러한 저장 영역의 범위와 수명은 서블릿 컨테이너에 의해 관리됩니다.
또한, 데이터 가용성과 메모리 사용량 사이의 균형을 맞추기 위해 각 데이터 조각에 적합한 저장 영역을 선택하는 것이 중요합니다.
레퍼런스
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
'DEV > Java' 카테고리의 다른 글
Servlet filter (0) | 2023.05.19 |
---|---|
Expression Language(EL) (0) | 2023.05.19 |
Servlet (0) | 2023.05.19 |
Spring MVC (1) | 2023.05.19 |
Java 런타임에 매개변수 이름 얻는 방법 (0) | 2023.05.19 |