Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

JSP 액션 요소의 id와 scope 속성 완벽 이해하기

JSP의 모든 액션(Action) 요소에는 공통적으로 사용되는 두 가지 핵심 속성이 있습니다. 바로 id 속성과 scope 속성입니다. 이 두 속성은 서로 밀접하게 연관되어 있으며, JSP 페이지에서 객체를 효과적으로 관리하는 데 중요한 역할을 합니다.

id 속성이란?

id 속성은 액션 요소를 고유하게 식별하는 역할을 합니다. 이 식별자를 통해 JSP 페이지 내부에서 해당 액션을 참조할 수 있습니다.

특히 액션이 객체의 인스턴스를 생성하는 경우, id 값으로 지정한 이름을 통해 그 객체에 접근할 수 있습니다. 이때 JSP의 내장 객체인 PageContext를 활용하면 생성된 객체를 손쉽게 참조하고 사용할 수 있습니다.

scope 속성이란?

scope 속성은 액션 요소의 생명주기(lifecycle)를 결정합니다. 즉, id로 식별된 객체가 얼마나 오래 유지될지를 scope 속성이 정하는 것입니다. 따라서 id 속성과 scope 속성은 항상 함께 고려해야 하는 밀접한 관계에 있습니다.

scope 속성에는 다음 네 가지 값을 지정할 수 있습니다.

  • (a) page — 현재 JSP 페이지 내에서만 객체가 유효합니다. 페이지 실행이 끝나면 객체도 함께 소멸됩니다.
  • (b) request — 하나의 클라이언트 요청(request) 동안 객체가 유지됩니다. 포워드(forward)된 페이지까지도 객체를 공유할 수 있습니다.
  • (c) session — 동일한 클라이언트의 세션(session)이 유지되는 동안 객체가 살아 있습니다. 로그인 정보처럼 사용자별 상태를 저장할 때 유용합니다.
  • (d) application — 웹 애플리케이션 전체에서 객체가 공유됩니다. 서버가 종료될 때까지 모든 사용자가 동일한 객체를 사용할 수 있습니다.

정리

id 속성은 객체를 '식별'하는 이름표이고, scope 속성은 그 객체가 '얼마나 오래, 어디까지' 유효한지를 결정하는 범위입니다. 두 속성의 관계를 정확히 이해하면 JSP에서 객체의 생명주기를 의도대로 제어할 수 있으며, 불필요한 메모리 낭비나 상태 공유 오류를 예방할 수 있습니다.