首页 > 程序开发 > web前端 > HTML 5 > 正文
JavaWeb-Servlet技术的监听器-解析与实例-网站在线用户信息与网页点击量
2016-08-20       个评论      
收藏    我要投稿

在Web项目中,我们对下面这几个监听器必须熟练的使用,它们的作用真的很大。熟练的使用后,可以使我们少绕弯路,少写很多代码、

事件源             监听对像的创建和销毁           监听对像上属性的添加和删除 
HttpSession       HttpSessionListener        HttpSessionAttributeListener - HttpSessionEvent

ServletRequest    ServletRequestListenr          ServletRequestAttributeListener - ServletRequestEvent

ServletContext   ServletContextListener      ServletContextAttributeListener - ServletContextEvent

监听ServletContext的创建和销毁:

开发步骤:
第一步:实现ServletContextListener接口。

implements ServletContextListener

第二步:实现两个方法。
contextInitialized
contextDestroyed

ServletContext对象(项目)创建:
public void contextInitialized(ServletContextEvent sce) 

ServletContext对象(项目)消亡:
public void contextDestroyed(ServletContextEvent sce) 

第三步:在web.xml中添加节点。
为什么要配web.xml呢,因为我们的项目在启动的时候就需要监听,不可能由项目内部的类来完成,所以这个实现得依靠服务器了(在这里是Tomcat)

位置是在:filter- mapping标签之后 | listener | servlet标签之前


    
       完整类名
    

这一点与swing中的添加监听有所区别。

第四步:测试
1、发布项目启动。
2、通过Tomcat管理控制台停止此项目。(注意,不要通过myEclipse直接停Java虚拟机了)

监听ServletContext上的属性变化:

实现ServletContextAttributeListener接口:

implements ServletContextAttributeListener

实现三个方法:

    添加属性时自动调用
    public void attributeAdded(ServletContextAttributeEvent e) {    
    }

    删除属性时自动调用
    public void attributeRemoved(ServletContextAttributeEvent e) {  
    }

    修改属性时自动调用
    public void attributeReplaced(ServletContextAttributeEvent e) { 
    }

配置web.xml:


    
        完整类名
    

例如:在jsp页面中:

<%>
<%>

实例-网站在线人信息与网页点击量

分析:

网页点击量:

记录一个网站的点击量。
当服务器关闭时,必须要保存到文件中或是数据库中去。
当服务器启动时,先从文件中读取并放到ServletContext。
在Filter中(用ServletRequestListenr也可以)记录访问量,每次访问都加1。

好处:信息不是太重要,没有必要每次用户访问都访问数据库或是操作文件。

在为不影响用户的速度感受,应该开始一个新的线程同去操作数据。
这样即使在后台使用同步技术,用户也不会感觉到速度很慢。

在线人信息:

利用HttpSessionListener,监听HttpSession的创建和销毁。
sessionCreated
sessionDestroyed

Session的默认有效时间为30分。可以通过配置的方式修改它的值。
可以调用session.invalidate方法销毁当前Session.

主要作用是记录当前所有在线人数,无论是用户还是游客。

HttpSessionAttributeListener
主要作用是:记录当前在登录人数。注意,登录是指注册成为合法用户并成功登录的人。
点击复制链接 与好友分享!回本站首页
上一篇:transform实现的时钟效果
下一篇:DynamicsCRM2015通过JS控制下拉框实现国家省市级联
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做实用的IT技术学习网站