欢迎来到天天文库
浏览记录
ID:22609245
大小:288.50 KB
页数:15页
时间:2018-10-30
《跟我学ajax技术——应用ajax技术实现web网站的实时在线用户计数的应用示例(第一部分)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1.1跟我学AJAX技术——应用AJAX技术实现Web网站的实时在线用户计数的应用示例(第一部分)1.1.1统计“在线用户计数”项目开发思路1、系统需求----“做什么”准确统计“在线用户计数”,但要注意需求示经常会变化的!2、系统分析----“分析和理解需求”(1)在线?(2)计数----数值并显示输出3、系统设计----“如何做”、考虑技术的实现细节(1)Web方式的技术实现(2)采用监听器组件技术(3)监听器应该监听什么?HttpSession(4)如何及时(准确)计数?AJAX----DWR框架(5)如何识别用户是否离开?4、编程实现测试驱动
2、开发(TDD)5、测试(1)单元测试如果出现错误的状态(2)集成测试6、部署(在用户的环境中安装系统)1.1.1常规的显示在线用户数的功能实现1、添加一个在线用户计数的组件(1)类名称为OnLineCounter,包名称为com.px1987.webcrm.util(2)编程该计数器类packagecom.px1987.webcrm.util;publicclassOnLineCounter{privatestaticintonlineUserCounter=0;//体现共享publicstaticsynchronizedvoidincrementC
3、ounter(){OnLineCounter.onlineUserCounter++;}publicstaticsynchronizedvoidreduceCounter(){if(OnLineCounter.onlineUserCounter==0){return;}OnLineCounter.onlineUserCounter--;}publicstaticsynchronizedintgetOnLineUserCounter(){returnOnLineCounter.onlineUserCounter;}}(3)改进的实现方法上面实现的方法是
4、应用static!?它是面向过程技术中的,应该采用面向对象!有没有其他的方法能够满足上面的要求?采用“单例对象”创建技术---某个类只能创建出该类的一个对象实例packagecom.px1987.webcrm.util;publicclassOnLineCounter{privateintonlineUserCounter=0;//不再需要设置为static类型的变量privatestaticOnLineCounteroneOnLineCounter=null;//(1)privateOnLineCounter(){//(2)}publicstati
5、cOnLineCounternewInstance(){//(3)if(oneOnLineCounter==null){oneOnLineCounter=newOnLineCounter();}returnoneOnLineCounter;}/*下面的所有方法也不再需要设置为static方法*/publicsynchronizedvoidincrementCounter(){oneOnLineCounter.onlineUserCounter++;}publicsynchronizedvoidreduceCounter(){if(oneOnLineC
6、ounter.onlineUserCounter==0){return;}oneOnLineCounter.onlineUserCounter--;}publicsynchronizedintgetOnLineUserCounter(){returnoneOnLineCounter.onlineUserCounter;}}2、编程实现对HttpSessionListener事件监听器程序(1)在项目中添加一个HttpSessionListener事件监听器程序类程序类名称为OnLineCounterListener,程序包名称为com.px1987.
7、webcrm.listener,实现javax.servlet.http.HttpSessionListener、javax.servlet.http.HttpSessionAttributeListener接口。(2)将产生出下面的程序结果(3)编程OnLineCounterListener程序类中的功能实现代码packagecom.px1987.webcrm.listener;importjavax.servlet.http.HttpSessionAttributeListener;importjavax.servlet.http.HttpSes
8、sionBindingEvent;importjavax.servlet.http.HttpSessionE
此文档下载收益归作者所有