• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    JSP监听器用法分析

    本文实例讲述了JSP监听器用法。分享给大家供大家参考,具体如下:

    监听器也叫Listener,是servlet服务的监听器。它可以监听客户端的请求,服务端的操作等。比如统计在线用户数量。每当增加一个HttpSession时,就会触发sessionCreate(HttpSessionEvent se)方法,这样就可以给在线人数加1.常用的监听器接口如下:

    1. ServletContextAttributeListener监听对ServletContext属性的操作。比如增加,删除,修改属性。

    2. ServletContextListener监听ServletContext。当创建ServletContext时,激发contextInitialized(ServletContextEvent   sce)方法;当销毁ServletContext时,激发contextDestroyed(ServletContextEvent   sce)方法。

    3. HttpSessionListener监听HttpSession的操作。当创建一个Session时,激发session   Created(HttpSessionEvent   se)方法;当销毁一个Session时,激发sessionDestroyed   (HttpSessionEvent   se)方法。
    4. HttpSessionAttributeListener监听HttpSession中的属性的操作。当在Session增加一个属性时,激发attributeAdded(HttpSessionBindingEvent   se)   方法;

    当在Session删除一个属性时,激发attributeRemoved(HttpSessionBindingEvent se)方法;

    当在Session属性被重新设置时,激发attributeReplaced(HttpSessionBindingEvent se) 方法。

    一个在线统计的例子:

    public class ONline implements ServletContextListener,HttpSessionListener,HttpSessionAttributeListener(){
    private ServletContext application = null;
     public void contextInitialized(ServletContextEvent arg0) {
     //根据响应事件参数初始化ServletContext
     this.application = arg0.getServletContext();
     //在ServletContext中存放一个空的用户信息列表
     application.setAttribute("users", new ArrayList());
     }
     public void sessionDestroyed(HttpSessionEvent arg0) {
     List list = (List)application.getAttribute("users");
     String name = arg0.getSession().getAttribute("name").toString();
     list.remove(name);
     application.setAttribute("users", list);
     }
     public void attributeAdded(HttpSessionBindingEvent arg0) {
     List list = (List)application.getAttribute("users");
     if(arg0.getName().equals("name")){
      list.add(arg0.getValue().toString());
     }
     application.setAttribute("users", list);
     }
    }
    
    

    web.xml文件中配置:

    listener>
       listener-class>package.classname/listener-class>
    /listener>
    
    

    附:session在何时被创建?

    常见的误解是session在有客户端访问时就被创建,然而事实是某server端调用HttpServletRequest.getSession(true)这样的语句时才被创建。注意如果jsp页面没有显式的使用%page session="false"%>来关闭session,则在jsp页面编译成Servlet页面时会自动加上HttpServletRequest.getSession(true)这句话。这也是jsp中隐藏对象session的来历。

    希望本文所述对大家jsp程序设计有所帮助。

    您可能感兴趣的文章:
    • 利用java监听器实现在线人数统计
    • 浅析JAVA中过滤器、监听器、拦截器的区别
    • Java添加事件监听的四种方法代码实例
    • java实现监听u盘示例分享
    • java开发gui教程之jframe监听窗体大小变化事件和jframe创建窗体
    • 使用JAVA通过ARP欺骗类似P2P终结者实现数据封包监听
    • JSP中用回车监听按钮事件兼容火狐 IE等主流浏览器
    上一篇:jsp播放视频文件的方法总结
    下一篇:jsp获取url路径的方法分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    JSP监听器用法分析 JSP,监听器,用法,分析,JSP,