ITPub博客

首页 > 大数据 > 可视化 > java EE开发之Servlet第四课:监听器(Listener)

java EE开发之Servlet第四课:监听器(Listener)

原创 可视化 作者:新梦想IT 时间:2022-11-02 16:20:54 0 删除 编辑

1.什么是Listener

监听器就像老板的秘书,那个秘书就是活的监听器,时时监听着老板,当老板发生一些事情的时候,秘书就会有相应的措施。比如老板口渴了,秘书就会去端茶;比如老板要提提神,秘书就会泡一杯咖啡等。




2.介绍java的几种常用的监听器


(1)实现ServletRequestListener接口,监听request(需要在web.xml中配置)

 /**

 * 当request对象被销毁的时候,容器就会自动去

 * 调用这个监听器的requestDestroyed,产生一个事件对象ServletRequestEvent 

 */

public void requestDestroyed(ServletRequestEvent sre) {

System.out.println("request被销毁");

}

   /**

 * 当request对象被创建的时候,容器就会自动去

 * 调用这个监听器的requestInitialized,产生一个事件对象ServletRequestEvent*/

public void requestInitialized(ServletRequestEvent sre) {

System.out.println("request被创建");

}




配置:


<listener>


    <listener-class>com.accp.RequestListener</listener-class>

</listener>


(2)实现HttpSessionListener接口,监听session (需要在web.xml中配置)



/**

* 当session被创建的时候被调用,产生一个事件对象HttpSessionEvent*/

public void sessionCreated(HttpSessionEvent se) {  }

/**

* 当session被销毁的时候被调用,产生一个事件对象HttpSessionEvent */

public void sessionCreated(HttpSessionEvent se) {  }




配置:


   <listener>

        <listener-class>com.accp.SessiontListener</listener-class>

    </listener>


(3)实现ServletContextListener接口,监听ServletContext(需要在web.xml中配置)


/**

* 当ServletContext被销毁的时候,容器就会自动去

* 调用这个监听器的contextDestroyed,产生一个事件对象ServletContextEvent

*/

public void contextDestroyed(ServletContextEvent sce) {  }




   /**

 * 当ServletContext被创建的时候,容器就会自动去

 * 调用这个监听器的contextDestroyed,产生一个事件对象ServletContextEvent*/

public void contextInitialized(ServletContextEvent sce) {  }




配置:


 <listener>

     <listener-class>com.accp.ContextListener</listener-class>

 </listener>


(4)实现SessionBindingListener接口,监听Session设值和取值(不需要在web.xml中配置)

/**

 * 当向Session里面设值的时候,容器调用此方法,生产一个事件对象  */

public void valueBound(HttpSessionBindingEvent event) {   }




/**

 * 当向Session里面移除值的时候,容器调用此方法,生产一个事件对象  */


public void valueUnbound(HttpSessionBindingEvent event) {  }


哪个类的对象需要监听,就让那个类实现该接口




3.应用


应用一


使用 ServletRequestListener ,HttpSessionListener , ServletContextListener


统计访问量,在线人数,请求次数




应用二


使用SessionBindingListener做购物车:


HttpSessionBindingListener只监听制定的session


HttpSessionListener:监听处理所有的session


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69940641/viewspace-2921549/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
新梦想IT职业教育(新梦想软件测试),是长沙一家专注于IT教育培训的机构。分享干货不容易,如果想了解更多的软件测试精彩干货,请留言交流,感谢阅读!

注册时间:2019-07-11

  • 博文量
    237
  • 访问量
    140190