속성 관리

HH_Nebula·2023년 1월 19일
0

속성 관리

컨테이너는 서블릿 관리를 위해 몇몇 객체를 자동으로 생성하고 유지하는데, 이러한 객체 중 속성 관리 기능을 제공하며 특정 범위 동안 유지되는 객체를 Scope Object 라고 한다. 각각의 객체는 관리 목적에 따라 별도의 메서드로 구현된 기능을 가지고 있고 공통적으로 key-value 형태의 Map 자료구조를 가진다.

이를 활용하면 페이지 간, 사용자 간 데이터 공유가 가능하다. JSP 역시 서블릿으로 변환되기 때문에 동일하다고 볼 수 있으며, useBean 액션의 scope에 사용되는 page, request, session, application이 여기에 해당한다.

이러한 객체는 각각 생성, 소멸 시기가 정해져 있고 서로 다른 JSP, 서블릿 간의 데이터 전달이나 공유를 위한 용도로 활용된다.

Scope Object 종류 및 특징

Request와 Session을 주로 활용하게 되며 모든 사용자가 공유하거나 웹 애플리케이션 전체에서 참조가 필요한 경우 Web Context를 사용할 수 있다.

이러한 객체는 속성을 저장하고 참조하기 위해 다음 메서드가 공통적으로 제공된다.

setAttribute(String name, Object value); // 속성 저장
Object getAttribute(String name); // 속성 참조
  • name : 속성을 저장하고 참조하기 위한 값
  • 속성은 Object 타입으로 모든 자바 클래스 타입이 가능하다.
  • getAttribute()의 리턴은 Object이므로 적절한 형변환이 필요하다.
String name = "홍길동";
request.setAttribute("name", name);
String name = (String) request.getAttribute("name");
profile
공부하고 기록하고 복습하고

0개의 댓글