본문 바로가기

Wanna be a Programmer/Servlet & JSP

Servlet & JSP day6 - Event 모델, Attribute(속성)

 

Event 모델

☞ Event : 컴포넌트에 가해진 동작, 변화

1. 컴포넌트에서 Event가 발생하는 것을 감시하는 Container

2. 발생한 Event를 처리하는 동작을 가진 객체(Listener Class)

  - Event Handler : 발생한 Event 처리 동작(메소드)

  - Event Source :  Event가 발생한 컴포넌트

ex) 버튼을 클릭하면 안녕이라고 출력한다.

Event Source : 버튼

Event : 클릭

Event Handler : 안녕을 출력하는 동작

 

 

 

MyServletContextListener.java

 

DriverLoadingListener.java

 

web.xml

 

Attribute(속성)

☞ Attribute란?

- Web Application 구성 컴포넌트들(Servlet, JSP, Listener)에 공유하는 객체

 

Scope

- Attribute들을 공유하기 위한 공유 장소의 영역(저장 장소)

- 공유 범위에 따라 3가지 영역이 있다.

1. request scope : HttpServletRequest 이용

- 요청 ~ 응답까지 공유

 

    

 

2. session scope : HttpSession 이용

- 한명의 클라이언트(웹브라우저)가 로그인 ~ 로그아웃까지 공유

 

 

3. application scope : SevletContext 이용

- Application 시작 ~ 종료까지 공유

 

 

관련 메소드

- Attribute는 key-value 쌍으로 관리된다.

- setAttribute(String key, Object value) : 공유영역에 Attribute 저장

- getAttribute(String key, Object value) : 저장된 Attribute 조회

- getAttributeNames() : Enumeration : Attribute들에 연결된 name들 조회

 

 

GetAttributeServlet.java

 

SetAttributeServlet.java

 

web.xml

 

SetAttributeServlet을 통해 name, greeting, age의 값을 미리 지정해주고 그 값을 getServletContext()를 통해서 같은 Web Application 내에 존재하는 LifecycleServlet을 통해 name, greeting, age의 value를 조회 할 수 있다.

 

SetAttributeServlet에서 설정한 name, greeting, age 값을 LifecycleServlet.java에서 조회