서브렛의 Listener 감청기

3217 단어 servletlistener
Servlet2.5 사양에는 총 8가지 Listener 인터페이스, 6가지 Event 유형
서브렛ContextListener 인터페이스
[인터페이스 방법] contextInitialized () 및 contextDestroyed ()
[이벤트 수신] 서브렛ContextEvent
[장면 트리거] 컨테이너가 웹 프로그램을 불러올 때(예를 들어 컨테이너를 시작한 후) contextInitialized () 를 호출하고 용기가 웹 프로그램을 제거할 때contextDestroyed () 방법을 호출합니다.
ServletContextAttributeListener
[인터페이스 방법] attributeAdded(), attributeReplaced(), attributeRemoved()
[이벤트 수신] 서브렛ContextAttributeEvent
[장면 트리거] 응용 프로그램(Servlet Context) 대상의 속성에 대상이 추가되면attribute Added()를 호출하고, 같은 이치로 속성을 바꾸는 것과 제거하는 것은attribute Replaced(),attribute Removed()를 각각 호출한다.
HttpSessionListener
[인터페이스 방법] sessionCreated()와sessionDestroyed()
[이벤트 수신] HttpSession Event
[장면 트리거]session(HttpSession) 대상이 만들어지거나 소멸될 때 이 두 가지 방법을 각각 호출합니다.
HttpSessionAttributeListener
[인터페이스 방법] attributeAdded(), attributeReplaced(), attributeRemoved()
[이벤트 수신] HttpSessionBinding Event
[장면 트리거] 대상이 세션(Http Session) 대상의 속성에 가입하면 attribute Added()를 호출하고 속성을 바꾸는 것과 제거하는 것은 각각 attribute Replaced(), attribute Removed()를 호출한다.
HttpSessionActivationListener
[인터페이스 방법] sessionDidActivate() 및 sessionWillPassivate()
[이벤트 수신] HttpSession Event
[장면 트리거]Activate와Passivate는 대상을 바꾸는 동작으로session 대상이 자원 이용이나 부하 균형 등 원인을 위해 하드디스크나 다른 메모리에 잠시 저장해야 할 때(대상을 통해 서열화) 하는 동작을Passivate라고 하고 하드디스크나 메모리의session 대상이 JVM을 다시 불러올 때 취하는 동작을Activate라고 한다.그래서 쉽게 이해할 수 있는sessionDidActivate()와sessionWillPassivate()는 각각Activeate 후와Passivate를 호출하기 전에 호출한다.
ServletRequestListener
[인터페이스 방법] requestInitialized() 및 requestDestroyed()
[이벤트 수신] RequestEvent
[장면 트리거] 리퀘스트(HttpServletRequest) 대상이 만들어지거나 소멸될 때 이 두 가지 방법을 각각 호출합니다.
ServletRequestAttributeListener
[인터페이스 방법] attributeAdded(), attributeReplaced(), attributeRemoved()
[이벤트 수신] HttpSessionBinding Event
[장면 트리거] 대상이 Request(HttpServletRequest) 대상의 속성에 가입하면attributeAdded()를 호출하고, 같은 이치로 속성을 바꾸는 것과 제거하는 것은attributeReplaced(),attributeRemoved()를 각각 호출한다.
HttpSessionBindingListener
[인터페이스 방법] valueBound() 및 valueUnbound()
[이벤트 수신] HttpSessionBinding Event
[터치 장면] HttpSession Binding Listener 인터페이스의 종류를 실현하고 그 실례가session(HttpSession) 대상의 속성에 추가되면valueBound()를 호출하고session(HttpSession) 대상의 속성에서 제거되면valueUnbound()를 호출하며 HttpSession BindingListener 인터페이스의 종류는 웹에 필요하지 않습니다.xml에서 설정합니다.
 
위의 몇 개의 인터페이스의 종류를 실현하려면 Http Session Binding Listener를 제외하고는 반드시 웹에 있어야 합니다.xml에 용기에 등록해야 용기가 대응하는 이벤트가 발생할 때 대응하는 종류를 호출할 수 있습니다. 예를 들어
< listener> 
      < listener-class >
             demo.servlet.listener.CustomServletContextListener  
      < /listener-class >
< /listener>

 
public class ListenerTest implements HttpSessionListener{
 
      Log log = LogFactorygetLog(getClass());
     
      public void sessionCreated(HttpSessionEvent event){
             httpSession session =event.getSession();
             log.info("    session,ID "+session.getId());
      }
 
      public void sessionDestroyed(HttpSessionEvent event){
             httpSession session =event.getSession();
             log.info("    session,ID "+session.getId());
      }
}

좋은 웹페이지 즐겨찾기