商业网站流量统计分析系统

更新时间:2023-04-22 20:53:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

wangzhanliuliang

商业网站流量统计分析系统

理论实践一体化 28

第4章 商业网站流量分析系统 章

wangzhanliuliang

商业网站流量统计分析系统 系统设计

理论实践一体化 12

4.1系统设计 系统设计 4.1.1任务名称 系统设计 任务名称 4.1.2任务描述 任务描述以网上购书商务网站为例,在网站运行期间及时了解用户访问网站的栏目, 访问时间, 停留时间等数据,可以有效的管理网站中的数据,进而规划网站所 展示的信息。通过按时间段检索流量表中的数据,将查询结果以表格的形式显 示在页面上,同时利用图形化的方式将具体访问流量描述出来,给人以直观的 视觉认识,便于网站管理者更为快捷,轻松的了解网站的运行状态及用户访问 网站的情况。 商业网站流量统计分析模块的主要功能有: 1、根据指定年份查看网站流量统计 2、根据指定时间段查看栏目流量统计 3、根据指定时间段查看IP访问统计

wangzhanliuliang

商业网站流量统计分析系统 系统设计

理论实践一体化 12

4.1.3任务分析 任务分析

(1)如何按时间段检索表中的数据,显示在页面上? 利用3.5架构下的asp:GridView控件和asp:SqlDataSource控件的智能标 记功能,快速完成数据检索及显示的设置。 (2)如何根据访问量的不同区别设计对应图例的样式? 通过使用数据绑定语法Eval调用asp:SqlDataSource控件检索到的数据字段,并 将该值作为图例的宽度。即可动态根据访问量的多少显示图例效果。

wangzhanliuliang

商业网站流量统计分析系统 系统设计

理论实践一体化 12

4.1.4任务准备 任务准备

1. 建立访问流量信息数据库traffic 2. 确定表Func结构

wangzhanliuliang

商业网站流量统计分析系统 系统设计

理论实践一体化 12

4.1.5创建商业网站流量分析系统网站母版页 创建商业网站流量分析系统网站母版页

1、新建网站项目traffic 2、添加web文件夹,用来存放web窗体文件 3、添加母板页MasterPage.master 4、在母板页中添加图片素材 5、编写母板页脚本(具体代码见第四章 4.1.5) 6、在【1】处,添加TreeView控件,实现树形目录选择效果

wangzhanliuliang

商业网站流量统计分析系统 系统设计 母板页最终效果图

理论实践一体化 12

wangzhanliuliang

商业网站流量统计分析系统 系统设计

理论实践一体化 12

7、在web文件夹下依次添加四个web窗体文件Default.aspx, site.aspx, func.aspx, ip.aspx ,并且采用母板页MasterPage.master作为窗体文件的母板。 8、在解决方案资源管理器中的traffic项目根目录添加“站点地图”文件 Web.sitemap 9、编辑“Web.sitemap”站点地图文件代码 <?xml version="1.0" encoding="utf-8" ?> <siteMap xmlns="/AspNet/SiteMap-File-1.0" > <siteMapNode url="web/default.aspx" title="首页" description="首页"> <siteMapNode u

rl="web/site.aspx" title="网站流量" description="网站流量" /> <siteMapNode url="web/func.aspx" title="栏目流量" description="栏目流量" /> <siteMapNode url="web/ip.aspx" title="IP统计" description="IP统计" /> </siteMapNode></siteMap>

wangzhanliuliang

商业网站流量统计分析系统 系统设计

理论实践一体化 12

10、在母板页MasterPage.master的设计视图模式下,设置TreeView控件的数 据源为站点地图文件Web.sitemap

wangzhanliuliang

商业网站流量统计分析系统 系统设计 11、设置web文件夹下的Default.aspx文件设置“设为起始页”

理论实践一体化 12

wangzhanliuliang

商业网站流量统计分析系统 系统设计 12、母板页效果图

理论实践一体化 12

wangzhanliuliang

商业网站流量统计分析系统 系统设计

理论实践一体化 12

程序开发步骤如下: (1)首页,我们来预览一下网站流量功能页运行效果。

4.1.6设计显示当前日期和时间的 设计显示当前日期和时间的Web自 设计显示当前日期和时间的 自 定义控件DisplayTime.ascx 定义控件

wangzhanliuliang

商业网站流量统计分析系统 系统设计

理论实践一体化 12

(2)商业网站流量分析系统主要提供3个功能:网站流量, 栏目流量, IP统计。 在实现在3种功能的同时,还应该在页面上提示当前日期,当月访问量, 当 日访问量。等信息。为了体现面向对象技术编程的代码可重用性,我们使用 【Web用户控件】,来设计以上3种信息的显示功能,即:显示当前日期, 当月访问量, 当日访问量。 (3)在网站根目录新建文件夹【UCtrls】,添加新项【Web用户控件】,并且命 名为【DisplayTime.ascx】,该Web用户控件功能为显示当前日期和时间。 (4)在【DisplayTime.ascx】页面的【源码】视图添加以下代码: <asp:Label ID="Label1" runat="server"></asp:Label> (5)然后单击【DisplayTime.ascx】页面前面的【+】即: (6)再双击【DisplayTime.ascx.cs】 (7)添加以下代码,最后点击保存 public partial class UCtrls_DisplayTime : erControl{ protected void Page_Load(object sender, EventArgs e){ DateTime d = DateTime.Now; Label1.Text = d.ToString(); } }

wangzhanliuliang

商业网站流量统计分析系统 系统设计

理论实践一体化 12

4.1.7设计数据访问层的数据访问类 设计数据访问层的数据访问类DataBase.cs 设计数据访问层的数据访问类前面提到的显示当月访问量和当日访问量的功能主要是通过访问traffic数 据库Func表的数据来实现的,为此我们需要在为网站设计数据访问层的操 作类DataBase.cs。 (1)在网站中【添加新项】,选择【类】, 其目的是让VS2008开发平台 (以下简称IDE)自动为网站生产App_Code文件夹,进而更好的管理【.cs】 类文件。 (2)然后删除刚刚建立的Class1.cs文件,并在App_Code文件夹下建立 【DAL】文件夹, 再【添加新

项】, 选择【类】, 命名为 【DataBase.cs】。(DataBase.cs代码见第四章4.1.7) (3)在代码中有一个字符串变量ConnectionString用来保存数据库连接字符 串,而它的内容来源于网站根目录下的【web.config】文件中。为此,还 需要在该文件的指定位置添加以下代码, 其中【XX】为网站程序所在的服 务器机器名称或IP地址。 <configuration> <appSettings> <add key="conn" value="Data Source=XX\SQLEXPRESS;Initial Catalog=traffic;Integrated Security=True"/> </appSettings> </configuration>

wangzhanliuliang

商业网站流量统计分析系统 系统设计

理论实践一体化 12

4.1.8设计显示当月访问量的 设计显示当月访问量的Web用户控 设计显示当月访问量的 用户控 件DisplayMonthCount.ascx

程序开发步骤如下: (1)在网站项目文件夹【UCtrls】中添加新项【Web用户控件】命名为 【DisplayMonthCount.ascx】。 (2)进入【DisplayMonthCount.ascx】页面的代码视图模式,添加如下代 码:<asp:Label ID="Label1" runat="server"></asp:Label> (3)进入DisplayMonthCount.ascx.cs页面,添加如下代码, 其中using traffic.DAL;为引入刚刚建立的DataBase.cs数据范围类所在的命名空间。 通过创建DataTime对象获取当前月份,并将当前月份作为检索Func表的 条件获取满足该月份的记录总算。即:select count(*) from func where month(loadtime)=month,其中count(*)为自动求和函数。值得注意的是 当前访问表Func的方式为通过构建SQL语句在数据库意外的环境下操作, 因此需要对数据库查询语句进行字符串式的封装构建,因此就有了定义一 个String类型的数据库查询字符串str的定义,在此读者应重点留意带有查 询条件(参数)的查询字符串String str=@“select count(*) from func where month(loadtime)=”+month;的构建特点。最后将查询结果以一个 DataReader数据集的方式返回,并字符串的方式赋值给标签控件Label1 的Text值 。

wangzhanliuliang

商业网站流量统计分析系统 系统设计

理论实践一体化 12

using traffic.DAL; public partial class UCtrls_DisplayMonthCount : erControl{ protected void Page_Load(object sender, EventArgs e){ DateTime today=DateTime.Now; int month=today.Month; String str=@"select count(*) from func where month(loadtime)="+month; Database database = new Database(); SqlDataReader sdr = database.GetDataReader(str); if (sdr.HasRows){ while (sdr.Read()){ Label1.Text = sdr[0].ToString(); } } } }

wangzhanliuliang

商业网站流量统计分析系统 系统设计

理论实践一体化 12

4.1.9设计显示当日访问量 设计显示当日访问量Web用户控件 用户控件getDayCount.ascx 设计显示当日访问量 用户控件程序开发步骤如下: (1)在网站项目的文件夹【UCtrls】中添加新项【Web用户控件】命名为 【getDayCount.ascx】,进入【DisplayMonthCount.ascx】页面的代

码视图 模式,添加如下代码:<asp:Label ID="Label1" runat="server"></asp:Label> (2)进入【DisplayMonthCount.ascx.cs】页面添加如下代码, 当日访问量实 现思想同前面的【显示当月访问量】设计思路相同,只是筛选表Func记录 的条件该成了当前日期即DataTime.Now.Day protected void Page_Load(object sender, EventArgs e){ DateTime today = DateTime.Now; int day = today.Day; String str = @"select count(*) from func where day(loadtime)=" + day; Database database = new Database(); SqlDataReader sdr = database.GetDataReader(str); if (sdr.HasRows){ while (sdr.Read()) { Label1.Text = sdr[0].ToString(); }}}

wangzhanliuliang

商业网站流量统计分析系统 系统实现

理论实践一体化 16

4.2系统实现 4.2.1site站点流量统计 站点流量统计程序开发步骤如下: 商业网站流量分析统计系统主要提供3个功能:网站流量, 栏目流量, IP 统计。这个3个功能实现的前提条件是用户先要设定查询条件:查询年份,时 间跨度等等。并且从效果图上我们可以看出网站流量功能的实现是以用户选择 的查询年份为依据,因此对于网站流量分析功能的实现主要从以下几个方面入 手。 (1)在site.aspx的【源代码】模式下添加以下代码,产生一个多行一列的表 格 <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <table id="table1" style="width:100%;"><tr><td >今天是: </td> </tr> <tr><td>本月访问量: </td> </tr> <tr><td>当日访问量: </td> </tr></table> </asp:Content>

wangzhanliuliang

商业网站流量统计分析系统 系统实现

理论实践一体化 16

(2)将前面创建的3个Web用户控件图标从右侧的【解决方案资源管理器】拖拽到 site.aspx页面的对应区域。并在site.aspx【源代码】模式下加以调整,使得一个 Web控件占用一行,此时代码应该为一下效果

<tr> <td >今天是:<uc1:DisplayTime ID="DisplayTime1" runat="server"/></td> </tr> <tr> <td>本月访问量:<uc2:DisplayMonthCount ID="DisplayMonthCount1" runat="server" /></td></tr> <tr> <td>当日访问量:<uc3:getDayCount ID="getDayCount1" runat="server" /> </td> </tr>

wangzhanliuliang

商业网站流量统计分析系统 系统实现

理论实践一体化 16

(3)为页面添加用于设定查询年份的下拉列表框。在site.aspx【源代码】模 式下添加以下代码: <tr><td>选择:<asp:DropDownList ID="DropDownList1" runat="server"> </asp:DropDownList>年<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="查询" Width="99px" /></td></tr> (4)在site.aspx.cs下添加用于初始化下拉列表框DropDownList1的代码 protected void Page_Load(object sender, EventArgs e){ if (!IsPostBack){ //初始化 (年) 下拉列表框 2000~2099 for (int i = 2099; i > 2000; i--){ DropDownList1.Items.Insert(0, i.ToString()); }}} (5)当用户选择一个年份,并点击【查询】按钮时应该显示符合

该年份的所 有网站流量记录信息,由于数据来源于服务器上的数据库,若此时选择的 查询年份恰巧没有访问记录,则查询后不会有任何记录被显示在页面上, 此种现象和查询等待时的表现相同,常会给人以查询效率低下,系统响应 迟钝的错觉,因此建议增加一个用于显示查询结果的提示标签,当查询到 符合年份的数据时,显示查询到某某年份如下数据,而没有查询到符合该 年份的数据时则提示该年份尚未存在浏览记录的字样,使得网站的功能更 趋向于人性化。在site.aspx【源代码】模式下添加代码

本文来源:https://www.bwwdw.com/article/a32q.html

Top