2. javaweblistener 대상의 속성 변경 - 감청

2722 단어 listener
Servlet Context Attribute Listener, Http Session Attribute Listener, Servlet Request Attribute Listener, 이 세 인터페이스에서 감청 대상의 속성 증가, 삭제, 교체 이벤트를 처리하는 세 가지 방법을 정의했습니다. 같은 이벤트가 이 세 인터페이스에서 대응하는 방법의 이름은 완전히 같지만 받아들인 매개 변수의 유형이 다르습니다.
attributeAdded 방법:

1 public void attributeAdded(ServletContextAttributeEvent scae)
2 public void attributeReplaced(HttpSessionBindingEvent  hsbe)
3 public void attributeRmoved(ServletRequestAttributeEvent srae)

attributeRemoved 메서드

1 public void attributeRemoved(ServletContextAttributeEvent scae)
2 public void attributeRemoved (HttpSessionBindingEvent  hsbe)
3 public void attributeRemoved (ServletRequestAttributeEvent srae)

attributeReplaced 메서드

1 public void attributeReplaced(ServletContextAttributeEvent scae)
2 public void attributeReplaced (HttpSessionBindingEvent  hsbe)
3 public void attributeReplaced (ServletRequestAttributeEvent srae)


       listener.MyServletContextAttributeListener

public class MyServletContextAttributeListener implements  ServletContextAttributeListener {
 
     @Override
     public void attributeAdded(ServletContextAttributeEvent scab) {
         String str =MessageFormat.format(
                 "ServletContext :{}, :{}"
                 ,scab.getName()
                 ,scab.getValue());
         System.out.println(str);
     }
     @Override
     public void attributeRemoved(ServletContextAttributeEvent scab) {
         String str =MessageFormat.format(
                 "ServletContext :{}, :{}"
                 ,scab.getName()
                 ,scab.getValue());
         System.out.println(str);
     }
     @Override
     public void attributeReplaced(ServletContextAttributeEvent scab) {
         String str =MessageFormat.format(
                 "ServletContext :{} "
                 ,scab.getName());
         System.out.println(str);
     }
 }

jsp 테스트;
 <%
//애플리케이션 영역 대상에 속성 추가
     application.setAttribute("name", "nick");
//응용 프로그램 영역 대상의name 속성 값 바꾸기
     application.setAttribute("name", "gacl");
//응용 프로그램 영역 대상에서name 속성 제거
     application.removeAttribute("name");
     %>
서브렛ContextListener는 서브렛Context 도메인 객체(application)의 속성 값 변화를 수신합니다.
다른 두 감청에 대해 동일한 이치로 테스트를 진행하다.

좋은 웹페이지 즐겨찾기