网站设计与开发案例教程雷运发第4章聊天室模块设计与开发新

上传人:tian****1990 文档编号:81962325 上传时间:2019-02-22 格式:PPT 页数:46 大小:1.47MB
返回 下载 相关 举报
网站设计与开发案例教程雷运发第4章聊天室模块设计与开发新_第1页
第1页 / 共46页
网站设计与开发案例教程雷运发第4章聊天室模块设计与开发新_第2页
第2页 / 共46页
网站设计与开发案例教程雷运发第4章聊天室模块设计与开发新_第3页
第3页 / 共46页
网站设计与开发案例教程雷运发第4章聊天室模块设计与开发新_第4页
第4页 / 共46页
网站设计与开发案例教程雷运发第4章聊天室模块设计与开发新_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《网站设计与开发案例教程雷运发第4章聊天室模块设计与开发新》由会员分享,可在线阅读,更多相关《网站设计与开发案例教程雷运发第4章聊天室模块设计与开发新(46页珍藏版)》请在金锄头文库上搜索。

1、第4章 聊天室模块设计与开发,学习目标: 1) 掌握Response和Request对象实现动态交互页面的方法。 2) 了解Application对象和Session对象的属性、方法、事件。 3) 掌握Application对象和Session对象追踪用户信息,实现用户间信息共享的方法。 4) 掌握聊天室的开发原理及基本功能。 5)了解Global.asa文件的用途。,4.1 需求分析,聊天室程序要求聊天信息能实现即时共享,即要求有一个变量,可以在整个应用程序中随时被访问。ASP的Application对象就具有该功能,该对象提供了完善的访问和保护功能。 聊天室的用户及聊天内容是不断变化的,A

2、pplication变量也会随机发生变化。为了让客户端及时知道这些变化,要求客户端浏览器定时刷新,不断去读取最新的Application中的信息。 聊天室的核心技术是利用框架技术实现在一个页面内同时显示聊天内容、浏览和选择聊天对象,发布信息等,本章要实现的一个简单聊天室的运行界面如图4-1所示。,图4-1 简单聊天室的运行界面,4.2 任务分解,要实现该聊天室的功能,需要从以下几个方面实现: (1) 页面的框架布局聊天主界面的设计。 (2) 登录进入聊天室,用Session实现用户登录信息的保存。 (3) 显示在线用户的发言。 (4) 在线人数的统计,即Application的计数功能实现。

3、接下来将对制作聊天室涉及的基础知识和4个子任务进行详细讲解。,4.2.1 任务一:聊天室框架页面的创建,目前网页布局主要有表格布局、框架布局和DIV+CSS布局。聊天室模块使用的是框架布局。框架布局的特点是可以将浏览器窗口划分为若干个子窗口,每个子窗口可以分别显示不同的网页,网页之间相互独立。由一个网页将这些分开的网页组成一个完整的网页,显示在浏览器中。框架布局的好处是每次浏览者发出对页面的请求时,只下载发生变化的框架页面,其他子页面保持不变。使用框架可以非常方便地完成聊天区和用户列表的刷新功能。,下面具体讲解框架布局的使用格式及属性。,1框架布局格式, 其中和标签是框架集和框架标记,其标记的

4、属性设置下面举例介绍。,2框架集和框架属性,(1) 框架集属性 COLS:在水平方向上将浏览器分割成多个窗口,取值有3种形式:像素、百分比(%)和相对尺寸(*),例如: ROWS:在垂直方向上将浏览器分割成多个窗口,取值与COLS类似,也是3种形式。 FRAMEBORDER:指定框架周围是否显示边框,取值为1(显示边框,默认值)或0(不显示边框),例如: FRAMESPACING:指定框架之间的间隔,以像素为单位。默认是无间隔的。 . BORDER:指定边框的宽度,frameborder属性为l时该属性才有效。 framset,3框架属性,使用FRAME标记可以设置框架的属性,包括框架的名称、

5、框架是否包含滚动条以及在框架中显示的网页等。FRAME标记的常用属性及其说明如下。 NAME:指定框架名称。 SRC:指定在框架中显示的网页文件(HTML、ASP、JSP等) SCROLLING:指定框架是否包含滚动条,其属性可以是yes、no、或auto。,练习4-1简单聊天室界面布局的实现。,程序清单:4-1.asp(见实例源程序) 程序的运行结果如图4-2所示,4.2.2 任务二:Session对象的使用,4.2.2.1 Session对象语法结构 使用Session对象前,必须确认浏览器的Cookie功能已启用(可采用默认设置)。如果以前更改过,Cookie功能可以通过浏览器的设置来开

6、启。以IE浏览器为例,打开IE浏览器的 “Internet选项”,然后单击“隐私”选项卡,单击“默认”按钮即可。 Session对象的语法如下: Session.collection| property| method 其中collection、property 和 method 分别表示集合、属性和方法。 注意: Session是用户级的对象,也就是说该对象中的数据,只能被该用户独享。 【练习4-2】简单的Session应用(见4-2.asp实例源程序),4.2.2.2 Session对象的集合 会话中保存的数据是以集合的形式存在的。Session对象有两个集合。分别是Contents和St

7、aticObjects。Contents集合包含所有通过脚本命令添加到应用程序中的项目;StaticObjects集合包含通过标记创建的并给定应用程序作用域的对象。 1. Contents 集合 Session对象的Contents数据集合包含通过Server对象的CreateObject方法创建的对象和通过Session对象声明建立的变量,不包含以标记定义的对象。Session对象存在期间,存储在Session对象的Contents数据集合中的信息是有效的。Contents是 Session 对象的默认集合,包含已用脚本命令添加到会话中的项目。其语法结构如下: Session.Content

8、s (key),”key”为用于指定要获取的项目名称。 若数据要在整个用户会话过程中起作用,可以将该数据存储在 Session 对象的 Contents 集合中。例如: 上述脚本也可以写成以下形式: ,4.2.2.2 Session对象的集合,2StaticObjects集合 StaicObjects数据集合包含应用标识创建,并给定了应用程序作用域的对象。可以使用该集合设置确定对象指定属性的属性值、遍历集合和检索所有静态对象的所有属性等。该集合的语法如下: Session.StaticObjects (key), key用于指定需检索的项目的键值。 在使用StaticObjects数据集合时,

9、需要应用标记创建应用程序作用域的对象。该标记需要放在Global.asa文件中。Global.asa文件必须放在IIS服务器的根目录下。,4.2.2.3 Session对象的属性,1. SessionID属性 每一个会话都有一个由系统自动分配的、唯一的、长整型数作为标识,即SessionID。在页面中输入如下代码,就可以查看当前用户的Session的标识: 当首次创建用户会话时,SessionID就产生,在会话未失效之前,其值不会改变,一般保存在客户端浏览器的cookies中。SessionID就像一把钥匙,用户只能利用自己的SessionID访问属于自己的会话变量。 【练习4-3】输出Ses

10、sionID值(见实例源程序),4.2.2.3 Session对象的属性,2Timeout属性 Timeout属性用于设置会话变量的超时时限,即在服务器内存中存在的时间,以分钟为单位。应用程序中可以用赋值语句为该属性赋予一个确定的值,以规定用户Session对象的使用时限。其默认值为20分钟。如果客户端浏览器在Timeout属性规定的时间内没有动作,即没有提交任何请求信息,或者关闭浏览器,或者连接到其他站点上,Web服务器将自动释放该用户Session对象占用的资源。 设置Session对象超时的语法格式如下: Session.Timeout=TimeValue 如,设置10分钟后超时,其代码

11、为: 除上面介绍的属性外,还可以利用Session来存取数组信息。数组被作为一个整体来存取,即用户不能直接读取或改变Session数组中某个元素的值。 【练习4-4】使用Session存储数组(4-4.asp代码见第4章实例源程序),图4-3 使用Session存储数组实例,3LCID属性 LCID属性的作用是设置或返回一个指定区域的标识符,标识符为整数。当设置标识符后,时间、日期、货币等内容都会被格式化为相应的格式。,4.2.2. 4 Session 对象的方法,Session对象有3个方法,这3个方法都起到删除的作用,只是删除的对象不同。Session 对象的方法简单含义见表4-1。 表4

12、-1 Session 对象的方法 方法 描述 Abandon: 清除存储在Session 中的所有变量并释放其资源 Contents.Remove: 从 Contents 集合中删除一个项目 Contents.RemoveAll: 从 Contents 集合中删除所有项目,4.2.2.5 Session 对象的事件,1Session_ OnStart事件 Session_OnStart事件是在第1次启动Session对象时触发此事件。服务器在执行请求的页面之前先处理Session_OnStart事件中的脚本,可以在该事件中设置会话级变量,在访问的每个Web页面都可以应用变量从而使单个用户的信息

13、在页面间共享。事件的语法如下: Sub Session OnStart End Sub 处理Session_OnStart事件时,内置对象Application、ObjectContext、Request、Response、Server和Session等对象都可以在Session_OnStart事件脚本中使用和引用。 2Session_OnEnd事件 Session_OnEnd事件则是在结束Session对象时被触发的,也就是说,当会话超时或会话被放弃时将引发该事件。Session_OnEnd事件的语法格式如下: Sub Session_OnEnd End Sub 如果用户在会话超时时间内没有

14、请求任何页面,那么Session_OnEnd事件就会被触发,此时Session对象将会自动结束,但不会影响到其他用户。应用Abandon方法可以让Session对象变量立即失效,并激活Session_OnEnd事件。,4.2.3 任务三:Applicacation对象的使用,Application对象中包含的数据可以在整个Web站点中被所有用户使用,并且可以在网站运行期间持久保存数据。Application对象是网站建设中经常使用的一项技术,利用Application对象可以完成统计网站的在线人数、创建多用户游戏以及多用户聊天室等功能。其应用的一般格式为:Application.collect

15、ion | method。 Collection为Application对象的数据集合, method为Application对象的方法。 Application对象可供全体应用程序使用,它是一个应用程序级的对象,可以使用Application对象定义变量,该变量类似于一般的程序设计语言中所谓的“全局变量”。用此变量保存的信息,在同一ASP程序中的所有用户可共享此信息。Application对象所保存的信息,在服务器运行期间可永久性保存(如网页计数器,自动记录页面浏览的次数)。,4.2.3.1 Application对象的集合,Application对象的集合有两个,即Contents和Sta

16、ticObjects。Contents数据集合是存储Application对象中所有数据的集合,并且可以使用该集合获取给定的应用程序作用域的项目列表或者指定一个特殊项目为操作对象。其语法格式为: Application.Contents(key), “key” 用于指定要获取的项目的名称。 StaticObjects数据集合主要用于存储在Application对象范围中所有使用标签创建的对象。通常应用该集合来设置某对象的指定属性或遍历集合检索所有静态对象的所有属性。其语法格式为: Application.StaticObjects(key),“key”用于指定要检索的项目的值。,1 .使用Contents 集合保存应用程序信息 Application对象的Contents 集合包含了在应用程序一级未使用OBJECT标记声明的项目。其格式为:Application.Contents(Key)或Applic

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号