JavaWeb监听器

监听器:
它是一个接口,内容由我们来实现;
它需要注册,例如注册在按钮上!
监听器中的方法,会在特殊事件发生时被调用!

监听器可以分为三种类型:

1、监听对象的创建:

ServletContext:主要监听servletContext的创建,需要实现ServeltContextListener接口

ServletContext生命周期监听:
  ServletContextListener,它有两个方法,一个在出生时调用,一个在死亡时调用;

void contextInitialized(ServletContextEvent sce):创建ServletContext时
void contextDestroyed(ServletContextEvent sce):销毁ServletContext时

ServletRequest:主要监听request的创建, 需要实现ServletRequestListener接口

 ServletRequest生命周期监听:
   ServletRequestListener,它有两个方法,一个在出生时调用,一个在死亡时调用;

void requestInitialized(ServletRequestEvent sre):创建request时
void requestDestroyed(ServletRequestEvent sre):销毁request时

HttpSession:主要监听session的创建,需要实现HttpSessionListener接口

HttpSession生命周期监听:
   HttpSessionListener,它有两个方法,一个在出生时调用,一个在死亡时调用;

void sessionCreated(HttpSessionEvent se):创建session时
void sessionDestroyed(HttpSessionEvent se):销毁session时

2、监听属性的改变:

ServletContext:主要监听servletContext属性的更改、添加、删除,需要实现ServeltContextAttrbuteListener接口。

属性监听:ServletContextAttributeListener,
   它有三个方法,一个在添加属性时调用,一个在替换属性时调用,最后一个是在移除属性时调用。

void attributeAdded(ServletContextAttributeEvent event):添加属性时;
void attributeReplaced(ServletContextAttributeEvent event):替换属性时;
void attributeRemoved(ServletContextAttributeEvent event):移除属性时;

ServletRequest:主要监听request属性的更改、添加、删除, 需要实现ServletRequestAttrbuteListener接口

  属性监听:ServletRequestAttributeListener,
   它有三个方法,一个在添加属性时调用,一个在替换属性时调用,最后一个是在移除属性时调用。

void attributeAdded(ServletRequestAttributeEvent srae):添加属性时
void attributeReplaced(ServletRequestAttributeEvent srae):替换属性时
void attributeRemoved(ServletRequestAttributeEvent srae):移除属性时

HttpSession:主要监听session属性的更改、添加、删除,需要实现HttpSessionAttrbuteListener接口

属性监听:HttpSessioniAttributeListener
  它有三个方法,一个在添加属性时调用,一个在替换属性时调用,最后一个是在移除属性时调用。

void attributeAdded(HttpSessionBindingEvent event):添加属性时;
void attributeReplaced(HttpSessionBindingEvent event):替换属性时
void attributeRemoved(HttpSessionBindingEvent event):移除属性时

3、感知监听器:

监听session的活化与钝化:httpSessionActivationListener主要监听了session的活化与钝化

监听session与对象的绑定:httpSessionBindingListener监听了session与对象的绑定

 感知监听(都与HttpSession相关) 它用来添加到JavaBean上,而不是添加到三大域上! 
 这两个监听器都不需要在web.xml中注册!

你可能感兴趣的:(JAVA)