资源描述
实 验 报 告
( 2011 / 2012 学年 第 二 学期)
课程名称
电子商务网站建设
实验名称
人数统计
实验时间
2012
年
6
月
14
日
指导单位
计算机学院计算机科学与技术系
指导教师
余永宏
学生姓名
庄骞
班级学号
09002711
学院(系)
通达学院
专 业
计算机通信
实 验 报 告
实验名称
人数统计
指导教师
余永宏
实验类型
设计
实验学时
2
实验时间
2012.6.14
一、 实验目的和要求
1.统计某个站点的在线人数。
2.统计某个站点被访问的次数。要求系统重启后,站点被访问的次数不丢失。
二、实验环境(实验设备)
tomcat + eclipse + MySQL
三、实验原理及内容
在线人数统计的实现方法:实现HttpSessionListener接口,能够监听Session的创建和销毁。设置一个成员变量,每当Session创建、销毁时, 进行Session的计数。
原理一:
当网站开始服务的时候(Application开始的时候),程序设置Application[ "user_sessions "]为零,然后,当用户进入网站(Session开始的时候)的时候,锁定Application,然后,将application( "user_sessions ")加一,用户退出网站的时候,application( "user_sessions ")减一这样,就很巧妙的实现了在线用户的统计。
原理二:
将application中的数值。写入到数据库当中。站点被访问次数的原理:每当用户对网页进行刷新、或者重新访问该网页时,服务器会在Application范围的计数值+1。在服务器关闭前,将application中的数值写入到数据库当中。以便在下次启动前进行还原。
实现代码段public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.Label1.Text = "总访问人数" + Application["total"].ToString();
this.Label2.Text = "当前在线数" + Application["online"].ToString();
}
}
实现方式:
1、新建一个TongJi 的数据库,添加一个 tongji 的表,在表中有一个 Number 的字段,为 int 类型,Numger初值为1000;
2、新建一个网站;
3、新建数据库连接字符串(具体方法)并将其保存到Web.config 文件中
4、添加新项/全局应用程序类:Global.asax
5、 拖两个Lable 到 Default.ASPx
6、 OK!!启动调试。
实 验 报 告
原理图一:
服务器启动
调用数据库,存入application
数据库
返回给用户
用户
下线或关闭 窗口
访问
在线人数
—1
在线人数 +1
数据库
服务器启动
服务器关闭
服务器关闭前,将数据存入数据库
返回结果
Application中计数值 +1
访问
Client
服务器
读取数据库,存入Application
原理图二:
实 验 报 告
实验截图如下:
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
在这次实验一中,碰到种种问题,比如刷新的时候在线人数增加了,历史人数没增加,比如再打开一个网页,在线人数应该加1,但是还是显示的之前人数,很困惑。于是便和同学一起讨论探讨,发现自己错的很离谱,大改特改之后终于完成了任务。而且可以一次统计三个网页的访问量,提高了效率。通过这次实验,我更进一步地了解了HttpSessionListener接口,以及Session和Application的性质和作用,知道了在tomcat + eclipse + MySQL 环境下如何正确统计在线人数。
五、指导教师评语
成 绩
批阅人
日 期
2007.5.19
6
展开阅读全文