资源预览内容
第1页 / 共294页
第2页 / 共294页
第3页 / 共294页
第4页 / 共294页
第5页 / 共294页
第6页 / 共294页
第7页 / 共294页
第8页 / 共294页
第9页 / 共294页
第10页 / 共294页
亲,该文档总共294页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Web程序设计第第1章章 Web基础知识基础知识v1.1 应用程序架构及其发展应用程序架构及其发展第第1章章 Web基础知识基础知识v1.2 Internet基础基础v1.3 Web简介简介v1.4 Web开发工具开发工具v1.5 ASP程序示例程序示例1.1 应用程序架构及其发展应用程序架构及其发展1.1.1 单机架构单机架构 单机架构的优点是由个人维护本机,不易造成单机架构的优点是由个人维护本机,不易造成数据的丢失,安全性高,数据处理效率高。但这种数据的丢失,安全性高,数据处理效率高。但这种架构存在致命的缺点,就是无法实现各个计算机间架构存在致命的缺点,就是无法实现各个计算机间数据的共享。数据的共享。 最早的应用程序都是单机架构。在这种架构下,最早的应用程序都是单机架构。在这种架构下,所有的应用程序都在本机运行,所有的数据都保存所有的应用程序都在本机运行,所有的数据都保存在本地机上。这种架构要求本机具有良好的性能和在本地机上。这种架构要求本机具有良好的性能和较大的磁盘空间,以实现数据的高效处理。较大的磁盘空间,以实现数据的高效处理。1.1 应用程序架构及其发展应用程序架构及其发展1.1.2 工作站工作站/服务器架构服务器架构 工作站工作站/服务器架构的优点是容易配置,对硬件要求不高,特服务器架构的优点是容易配置,对硬件要求不高,特别是对服务器的硬件要求不高。工作站别是对服务器的硬件要求不高。工作站/服务器架构的缺点是数据服务器架构的缺点是数据处理效率低,因为所有的数据都要通过网络传输,增大了网络流处理效率低,因为所有的数据都要通过网络传输,增大了网络流量。如果网络规模较大,在处理数据时就显得力不从心。另外,量。如果网络规模较大,在处理数据时就显得力不从心。另外,工作站的硬件配置直接影响的数据处理的速度。工作站的硬件配置直接影响的数据处理的速度。 为了解决数据共享问题,人们开始将应用程序布置成工作站为了解决数据共享问题,人们开始将应用程序布置成工作站/服务器(服务器(workstation/server,W/S)架构。这种架构是在服)架构。这种架构是在服务器上保存所有的数据,而工作站上运行程序并处理数据。所有务器上保存所有的数据,而工作站上运行程序并处理数据。所有的工作站通过网络连接到服务器上,取其上的数据,然后利用运的工作站通过网络连接到服务器上,取其上的数据,然后利用运行在工作站上的应用程序对数据进行处理,并最终将处理结果保行在工作站上的应用程序对数据进行处理,并最终将处理结果保存到服务器上,以供他人共享。这种架构中,服务器只是用来存存到服务器上,以供他人共享。这种架构中,服务器只是用来存储数据。储数据。1.1 应用程序架构及其发展应用程序架构及其发展1.1.3 客户机客户机/服务器架构服务器架构 种架构对客户机硬件要求不高,网络的作用仅限于发种架构对客户机硬件要求不高,网络的作用仅限于发送操作指令和传送少量数据,因此不会造成网络拥塞现象。送操作指令和传送少量数据,因此不会造成网络拥塞现象。但每一个应用系统都需在客户端安装相应的应用程序,更但每一个应用系统都需在客户端安装相应的应用程序,更新和升级带来了不便。新和升级带来了不便。 为解决工作站为解决工作站/服务器架构过于依赖工作站性能和网络服务器架构过于依赖工作站性能和网络传输量大的缺点,人们提出了客户机传输量大的缺点,人们提出了客户机/服务器服务器(client/server,C/S)架构。客户机)架构。客户机/服务器架构的特点是服务器架构的特点是由客户机向服务器发出指令,而数据的存储和处理均在服务由客户机向服务器发出指令,而数据的存储和处理均在服务器上进行。在服务器完成数据处理后,将运算结果返回给客器上进行。在服务器完成数据处理后,将运算结果返回给客户机,用户就可以利用安装在客户机上的应用程序对结果进户机,用户就可以利用安装在客户机上的应用程序对结果进行二次处理。行二次处理。1.1 应用程序架构及其发展应用程序架构及其发展1.1.4 浏览器浏览器/服务器架构服务器架构 为解决客户机为解决客户机/服务器架构的应用局限,浏览器服务器架构的应用局限,浏览器/服务器服务器(browser/server,B/S)架构的应用程序成为更多人的选)架构的应用程序成为更多人的选择。浏览器择。浏览器/服务器架构是对客户机服务器架构是对客户机/服务器架构的改进。它服务器架构的改进。它使用使用Internet上的标准协议(上的标准协议(TCP/IP)作为客户机和服务器)作为客户机和服务器的通信协议,可以使位于的通信协议,可以使位于Internet上的任意位置的人都可以上的任意位置的人都可以访问服务器(例如移动办公)。服务器完成数据处理和数据访问服务器(例如移动办公)。服务器完成数据处理和数据的存储,并将处理结果以网页的形式提供给客户端。客户端的存储,并将处理结果以网页的形式提供给客户端。客户端的浏览器实现对数据的显示,客户端不需要单独编写应用程的浏览器实现对数据的显示,客户端不需要单独编写应用程序,应用程序系统的升级只需在服务器上进行。序,应用程序系统的升级只需在服务器上进行。1.2 Internet基础基础 1. TCP/IP网际网层:IP、ICMP、ARP、RARP传输层:TCP、UDP TCP/IP是Internet所采用的协议组,TCP和IP是其中两个重要的协议,因此TCP/IP就成为这个协议组的代名词。在这里TCP称为传输控制协议,负责数据从端到端的传输,IP称为网络互联协议,负责网络互联。该协议组也是一个分层的网络协议,从底到顶分为网络接口层、网际网层、传输层、应用层四个层次。 TCP/IP各层中主要的协议:应用层:DNS、SMTP、FTP、TELNET、HTTP1.2 Internet基础基础 2. IP地址地址 连接到Internet上的每台计算机必须有一个唯一的地址,该地址被称为IP地址。我们现在使用的IP地址由32位二进制数组成。为了便于书写,习惯上采用所谓的“点分十进制”表示,即每8位(bit)二进制数为一组,用十进制数表示,并用小数点隔开。 二进制数表示的IP地址: 11001010 01110000 00000000 00100100 用“点分十进制”表示为: 202.112.0.361.2 Internet基础基础 3. 域名域名 由于数字描述的IP地址没有规律,难于记忆,所以,人们用具有一定含义的字符来描述每台主机的地址,称为域名(Domain name)。在Internet上由域名服务系统(DNS)负责IP地址和域名之间的转换,用户可以等价使用IP地址和域名。 一个域名最多由25个子域名组成,各子域名间用圆点隔开。 例如:www.hebeinu.edu.cn。1.2 Internet基础基础 4. HTTP HTTP是是Hyper Text Transfer Protocol的缩写,的缩写,设计的目的是为了传送包含文字、图片、声音、视设计的目的是为了传送包含文字、图片、声音、视频等夹杂非纯文本的数据,超文本传输协议频等夹杂非纯文本的数据,超文本传输协议(HTTP)属于应用层协议,由于其简捷、快速的)属于应用层协议,由于其简捷、快速的方式,非常适用于分布式和合作式超媒体信息系统。方式,非常适用于分布式和合作式超媒体信息系统。自自 1990 年起,年起,HTTP 就已经被应用于就已经被应用于 WWW 全球全球信息服务系统,它是信息服务系统,它是WWW的核心。的核心。1.2 Internet基础基础 5. URL( Uniform Resource Locator ) 统一资源定位器统一资源定位器URL是某一信息资源的地址标志。是某一信息资源的地址标志。 URL由三部分组成:由三部分组成: 资源类型资源类型:/存放资源的主机域名存放资源的主机域名:端口端口/资源文件标识资源文件标识 例如:例如:http:/www.163.com/file/new.htm URL中资源类型可以为:中资源类型可以为:http、ftp、telnet、news、mailto、file等。等。 其中其中http表示资源类型为超文本,表示资源类型为超文本,www.163.com为主为主机域名,缺省端口(机域名,缺省端口(TCP80),),file/new.htm为资源文件标为资源文件标识。识。1.3 Web简介简介v Web是一种信息组织方式。它包含全世界Internet计算机中数量巨大的文档。这些文档彼此关联,通过超链接的形式把这些超文本信息组成在一起。存放这些文档并提供服务的计算机称为WWW服务器或Web服务器,这 些 文 档 称 为 网 页 或 Web页 , Web页 是WWW信息的基本单位,它含有丰富的文字、图像、声音、动画等信息。1.3 Web简介简介 1.3.1 WEB文档文档Web文 档 是 由 标 记 语 言 ( HTML、 XML) 、 脚 本(JavaScript、VBScript)、ActiveX组件、Plugin等组成的文本文件,其中可以包含指向图形、声音等的信息,也可以包含指向到其它文档的超链接。Web文档又称为网页,分为静态网页和动态网页。静态网页是不包含服务端代码的Web文档,客户端请求这类文档时,服务器直接将该文档及嵌入到该文档的图像、声音等文件发送给客户端。动态网页包含服务端代码,客户端请求这类文档时,服务器将文档中所包含的服务端代码执行的结果和后其它内容一同发送。Web服务器端执行的代码可以是ASP、JSP、PHP等代码,这类文档以数据库技术为基础,由于每次执行的结果会根据条件的不同而不同,所以称为动态网页。Web应用程序主要由这类文档组成。1.3 Web简介简介 1.3.2 WEB的工作原理的工作原理 Web是基于客户机/服务器的一种体系结构,在Web方式下客户端软件常用浏览器。 “客户机”和“服务器” 是指两台机器上相应的应用程序,即“客户机进程”和“服务器进程”。 1.3 Web简介简介 1.3.2 WEB的工作原理的工作原理 Web 工作的过程可以归纳为以下几个步骤:(1)用户在浏览器中指定一个URL,浏览器向该URL所指向的Web服务器发出请求。 (2)Web服务器(也称为HTTP服务器)接到浏览器的请求后,把URL转换成页面所在服务器上的文件路径名。(3)如果URL指向普通的HTML文档,Web服务器直接将它送给浏览器。HTML文档中可能包含有Java、JavaScript、VBScript等编写的小应用程序,服务器也将其随HTML一道传送到浏览器,在浏览器所在的机器上执行。(4)如果HTML文档中嵌有ASP等服务端程序,Web服务器就运行该程序,并将结果(HTML文档)传送至浏览器。1.3 Web简介简介1 Web客户端开发技术客户端开发技术 1.3.3 Web应用程序设计技术简介应用程序设计技术简介 2 Web服务器端开发技术服务器端开发技术 HTML(Hypertext Markup Language,超文本标记语言) JSP(Java Server Pages)技术 脚本(如VB Script,Java Script,Java Applet,ActiveX) XML(Extensible Markup Language,可扩展的源标记语言) ASP(Active Server Pages)与ASP.NET技术 PHP(Personal Home Page Tools)技术 1.3 Web简介简介1 Windows平台平台 1.3.4 Web应用程序部署环境应用程序部署环境 2 Linux平台平台 安装配置IIS 安装Apache服务器 测试IIS 安装JDK 安装iASP 配置iASP 启动服务并测试1.3 Web简介简介 1.3.5 Web应用程序的特点应用程序的特点 基于网络的编程模式 以界面表现为主导 可以跨平台实现 容易入门和掌握 难以实现复杂的系统 性能受网络带宽的影响1.4 WEB应用程序开发工具简介应用程序开发工具简介1. 文本编辑软件文本编辑软件 Web应用程序设计可以使用文本编辑软件和应用程序设计可以使用文本编辑软件和专门的开发工具。专门的开发工具。2. 专门开发工具专门开发工具 记事本、UltraEdit 等。 Macromedia Dreamweaver 、InterDev 等。1.5 简单简单ASP程序示例程序示例【例【例1.1】 在客户端浏览器中显示服务器当前日期。在客户端浏览器中显示服务器当前日期。打开任意一款文本编辑软件,键入以下代码:打开任意一款文本编辑软件,键入以下代码: 显示日期显示日期 上述代码以上述代码以example.asp为扩展名保存到为扩展名保存到Web服务器站点主目录指定的文服务器站点主目录指定的文件夹。在网内任一台计算机(包括件夹。在网内任一台计算机(包括Web服务器本身)上打开浏览器浏览。服务器本身)上打开浏览器浏览。第第2章章 HTML元素元素v2.1 HTML文档的基本结构文档的基本结构第第2章章 HTML元素元素v2.2 文本格式标记文本格式标记v2.3 列表标记列表标记v2.4 超链接标记超链接标记v2.5 多媒体标记多媒体标记v2.6 表格标记表格标记v2.7 框架标记框架标记v2.8 表单及表单元素标记表单及表单元素标记v2.9 CSS样式表的使用样式表的使用2.1 HTML文档的基本结构文档的基本结构2.1.1 标记标记 HTML标记有以下几个常用属性:xml:lang国际化属性 xmlns代表xml命名空间 dir定义元素(文字)的对齐方式 html标记成对出现,以开始,结束。是一个HTML文档的开始和结束标记,标志着一个文档的开始和结束。 2.1 HTML文档的基本结构文档的基本结构2.1.2 标记标记 head标记区域中可以有title标记、base标记、link标记、object标记、script标记、style标记、meta标记等。 head标记成对出现,以开始,结束,代表HTML文档的头信息。2.1 HTML文档的基本结构文档的基本结构2.1.3 标记标记 该标记的常用属性是用来设定页面超链接的相关显示颜色、设定页面的背景、设置页面布局等。 body标记成对出现,以开始,结束。body标记是一个HTML文档主体的开始和结束标记,通过改变body标记的属性,可控制整个页面的显示方式 。2.1 HTML文档的基本结构文档的基本结构2.1.4 标记标记 title标记用来标识HTML文档的标题,标题内容出现在浏览器窗口的标题栏中。标记对只能放在.标记对之间。 2.2.1 标记标记2.2 文本格式标记文本格式标记 通过改变font标记的属性,可以改变输出文本的大小、字体、颜色等。该标记的常用属性如下: 属性 描述 size 设定文字的大小 face 设定文字的字体 color 设定文字的颜色,颜色的取值是十六进制RGB颜色码或Html语言给定的颜色常量名2.2.2 标题文字标记标题文字标记2.2 文本格式标记文本格式标记 HTML元素中有一系列对文本标题进行操作的标记对:.至.,即一共有六对标题的标记对。.表示最大的标题, .表示最小的标题,即在标题标记中h后面的数字越大标题文本就越小。如果Html文档中需要输出标题文本的话,便可以使用这六对标题标记对中的任何一对。该标记的常用属性为align,用来设置标题在页面中的对齐方式,其中有3个值:left(左对齐)、center(居中)、right(右对齐)。默认为left。2.2 文本格式标记文本格式标记2.2.3 字型字型 标记标记 文字的字型又称为文字的风格,如黑体、斜体、带下划线等,这是一组标记,它们可以单独使用,也可以混合使用产生复合修饰效果。常用的字型标记见表2-5。2.2.4 格式标记格式标记2.2 文本格式标记文本格式标记 1 标记 .标记放在一个段落的头尾,是用来创建一个段落,在此标记对之间加入的文本将按照段落的格式显示在浏览器中。 2 标记 标记是个单标记,它没有结束标志。该标记放在一行的末尾,作用是创建一个回车换行。同时与该标记作用相反的有标记,它的作用是强制不换行。 3 标记 .标记用来排版大块HTML段落。.标记可以使用align属性,它用来说明对齐方式。align可以是Left(左对齐)、Center(居中)和Right(右对齐)三个值中的任何一个。 4 标记 标记是个单标记,它的作用是在HTML文档中加入一条水平线。 5 标记 .标记的作用是用来对文本进行预处理操作。 6 标记 .标记的作用是标记对之间加入的文本将会在浏览器中按两边缩进的方式显示出来。 2.3.1 无序列表标记无序列表标记2.3 列表标记列表标记 1 .标记、.标记、.标记 .用来创建一个普通的列表。.用来创建列表中的上层项目,.用来创建列表中最下层项目。.和.标记对都需放在.标记对之间使用。 2 标记 用来创建一个带有项目符号(如、等符号)的列表。是单标记,是用来创建表项的。标记需在.标记对之间使用。 2.3.2 有序列表标记有序列表标记2.3 列表标记列表标记 有序列表标记、标记 用来创建一个有序的列表。是用来创建表项的。标记需在.标记对之间使用。 .和标记有type属性,type属性可设置5种序号类型,分别为:数字、大写英文字母、小写英文字母、大写罗马字母、小写罗马字母。 2.4.1 锚点标记锚点标记2.4超链接标记标记 本标记的属性href是必须有的,标记对之间加入需要链接的文本或图像。href的值是目标资源的有效地址,如果要创建一个不链接到其他位置的空链接,href的值可以为#,即。 2.4.2 指向电子邮件的超链接指向电子邮件的超链接2.4超链接标记标记 单击电子邮件的链接,将打开默认的电子邮件程序,如Outlook Express、FoxMail等,并自动填写邮件地址。具体格式为:需链接的对象 2.4.3 指向下载文件的超链接指向下载文件的超链接2.4超链接标记标记 如果链接的是下载文件,具体格式为:需链接的对象 2.5.1 图像标记图像标记2.5 多媒体标记 图像标记 标记为单标记。使用该标记可以把图像加入到网页中。其中该标记有指定具体图片的属性、设置图片大小的属性等。具体属性见表2-10。 2.5.2 背景音乐标记背景音乐标记2.5 多媒体标记 背景音乐的加入可以用标记来实现。如:,其中src属性的值是加入背景音乐的路径。Loop属性是控制声音的播放次数,当取值为-1或infinite时,声音将一直播放一直到离开该网页为止。 2.5.3 视频标记视频标记2.5 多媒体标记 在网页中加入的视频信息格式一般为*.AVI。 格式为: scr设置在未载入视频时,在视频播放区域显示的图像,该属性的值为图像的地址 dynsrc设置视频文件的路径及其名称 loop设置视频文件的播放次数 start设置视频文件的开始,该属性有两个值fileopen和mouseover。fileopen 是指打开含本标记的页面时开始播放视频,mouseover 是指将鼠标移动到视频播放区时开始播放,默认值为fileopen。 2.6.1 标记标记2.6 表格标记表格标记 标记是用来建立一个表格。表格的外观是由表格标记的属性来决定的。具体属性见表 2-12。2.6.2 和和 标记标记2.6 表格标记表格标记 标记是单标记,该标记是用来创建表格中的每一行。此标记只能放在 . 标记对之间使用。.标记对是用来创建表格中一行中的每一个单元格的,此标记对需放在标记后使用。表格中的文本需放在.标记对之间才有效,放在标记或.标记对之间是无效的。 2.6.3 标记标记2.6 表格标记表格标记 .标记是用来设置表格头的,通常是黑体居中文字。2.7.1 标记标记2.7 框架标记框架标记 该标记功能为分割窗口,用来定义主文档中有几个框架并且各个框架是如何排列的。具体相关属性如下: Cols 设定分割左右窗口宽度,属性的取值可以是百分数、绝对像素值或星号(“*”),其中星号表示剩余部分 Rows 设定分割上下窗口高度,属性的取值可以是百分数、绝对像素值或星号(“*”),其中星号表示剩余部分 Border设定边框的宽度 Bordercolor 设定边框的颜色 Frameborder 设定有无边框 Framespacing设置窗口各部分间的空白 2.7.2 标记标记2.7 框架标记框架标记 标记用于给各个框架指定页面内容。标记需在.标记对之间使用 。 src它代表此框架要调入的源文件(包括网络路径,即相对路径或网址) name 指定框架名,这个名字是供超文本链接标记中的target属性用来指定链接的目标HTML文件将显示在哪一个框架中。 scrolling用来指定是否显示滚动轴,取值可以是yes(显示)、no(不显示)或auto(自动) noresize 不允许用户改变这个框架部分的大小,默认为允许2.8.1 标记标记2.8 表单及表单元素标记表单及表单元素标记 标记的作用是创建一个表单,即定义表单的开始和结束位置,该标记对之间的一切都属于表单的内容。该标记的常用属性及描述如下所示: action设定表单的处理方式,一般是E-mail地址或网址 method设置处理程序从表单中获取信息的方式,可取值为 GET 或 POST。GET方式是处理程序从当前文档中获取数据。POST方式与GET方式相反,它是当前的文档把数据传送给处理程序,传送的数据量要比使用GET方式的大的多 target用来设定目标窗口或目标帧2.8.2 标记标记2.8 表单及表单元素标记表单及表单元素标记 标记是用来定义一个用户输入区,用户可在其中输入信息。此标记需在.标记之间使用。标记常用属性如下: size设置单行文本区域的宽度 name设置该表项的控制名 maxlength设置允许输入的最大字符数目 type设置要加入表单项目的类型 2.8.3 和和标记标记2.8 表单及表单元素标记表单及表单元素标记 标记对是用来创建一个下拉列表框或可以复选的列表框。此标记在标记对之间使用。 标记是用来指定列表框的一个选项的,它在标记之间使用。 2.8.4 标记标记2.8 表单及表单元素标记表单及表单元素标记 标记是用来创建一个可以输入多行的文本框,此标记对在 标记对之间使用。具体属性描述如下: cols 设置文本框的列数 rows设置文本框的行数 name设置文本框的控制操作名 2.9.1 在在HTML文档中加入文档中加入CSS的方法的方法2.9 CSS样式表的使用样式表的使用 1 内部样式表 这是一种把CSS文档放到文档中的方法,其中CSS的定义样式如下: 2 行内样式表 这是一种把CSS样式表写在HTML的行内的方法,具体格式如下: 这是采用的格式把样式写在html中的任意行内,这样比较方便灵活。 3 链接外部样式表文件 该种方法是把样式表单独保存为一个样式表文件(.css),然后在中定义。具体定义格式如下: . . 2.9.2 CSS中的属性中的属性2.9 CSS样式表的使用样式表的使用 CSS中的属性很多,常用的属性分类有字体属性、颜色和背景属性、文本属性、容器属性、鼠标属性以及定位属性等。第第3章章 JavaScriptv3.1 JavaScript简介简介v3.2 JavaScript程序设计基础程序设计基础v3.3 JavaScript程序结构程序结构v3.4 JavaScript对象系统对象系统v3.5 JavaScript事件和事件处理事件和事件处理第第3章章 JavaScript3.1 JavaScript简介简介 JavaScript是一种面向对象(Object)的、由事件驱动(Event Drive)的并具有较高安全性能的脚本语言。它最早是Netscape公司开发的“Mocha”语言,后改名为“LiveScript”语言。在Sun公司推出Java后,Netscape公司的工程师们充分借鉴了Java的基本概念,对“LiveScript”进行了大量的修改,并在其后发行的Netscape浏览器2.0测试版时推出了全新“JavaScript”语言。它的出现弥补了HTML语言和Java语言的在web应用开发方面的不足。它不仅支持Applet小程序,同时向Web页的制作者提供一种嵌入HTML文档进行编程的、基于对象的Script(脚本)程序语言。随后JavaScript语言规范不断发展,从1.1、1.2、1.3发展到现在的1.5版本;数据表现和控制能力不断增强;应用范围不断拓展,如网页特效、在线网页编辑器、OA客户端等可以说几乎所有web应用开中都可以找到JavaScript的身影。 3.1 JavaScript简介简介v1. 解释性解释性v2. 基于对象基于对象 v3. 事件驱动事件驱动 v4. 简单性简单性 v5. 安全性安全性 v6. 跨平台性跨平台性3.1.1 JavaScript语言特点语言特点 3.1 JavaScript简介简介1. 软件环境:软件环境:vNetscape Navigator浏览器或浏览器或Internet Explorer浏览器。浏览器。v用于编辑用于编辑HTML文档的字符编辑器文档的字符编辑器(word、WPS、 Notepad、WordPad等等)或或HTML文档编辑器。文档编辑器。2. 硬件配置:硬件配置:v内存内存 32M。vCPU 233mhz以上。以上。v显示器显示器 256色,分辨率在色,分辨率在640X480以上。以上。v鼠标和其它外部设置(根据需要选用)。鼠标和其它外部设置(根据需要选用)。 3.1.2 JavaScript程序的运行环境程序的运行环境3.1 JavaScript简介简介vvvvv vvv我的第一个我的第一个JavaScript程序程序!vv3.1.3 第一个第一个JavaScript程序程序 3.2 JavaScript程序设计基础程序设计基础 JavaScript脚本语言的基本语法与C、C+和Java都非常的相似。所以对于已经具备了或+语言编程基础的人来说,学习JavaScript脚本语言是一件非常轻松愉快的事。同时由于JavaScript脚本语言的采取了简单语法的形式组织,如变量是弱变量,没有指针,无需定义类等,使得即便是没有任何计算机语言基础的的初学者也可以很快的掌握。本节主要讨论JavaScript脚本语言的变量、运算符和表达式。 3.2 JavaScript程序设计基础程序设计基础3.2.1 JavaScript脚本代码的声明 JavaScript脚本语言通过标签. . . 告知浏览器其中包含的的内容为客户端程序代码,属性Language指名该客户段代码使用的何种语言,“JavaScript”表示这里使用的是JavaScript语言。 3.2 JavaScript程序设计基础程序设计基础3.2.3 JavaScript变量 (1)变量的命名 JavaScript中的变量命名的方法和C、C+或JAVA等计算机语言非常相似,这里要注意以下三点:v变量命名时必须以字母开头,中间可以出现数字。v变量命名时可以使用下划线“_”作为连字符。但不能有空格、“”、“”、“,” 或其它符号。v不能使用JavaScript中的关键字作为变量。 3.2 JavaScript程序设计基础程序设计基础3.2.3 JavaScript变量 以下变量命名为合法。abc, china, a1, str_1, abc_h。 以下变量命名不合法。123、12.3、a.a、_abc。3.2 JavaScript程序设计基础程序设计基础3.2.3 JavaScript变量 (2)变量的类型 变量的类型可以是JavaScript的任何基本类型,例如:number(数值型)、string(字符串型)、object和Boolean(布尔型)。 3.2 JavaScript程序设计基础程序设计基础3.2.3 JavaScript变量 (3)变量的声明 JavaScript规定通过关键字“var”后面加上变量的名称来声明一个变量。对变量作声明的最大好处就是能及时发现代码中的错误;因为JavaScript是采用动态编译的,而动态编译是不易发现变量命名的方面的代码中的错误。变量声明实例如下:var abc;3.2 JavaScript程序设计基础程序设计基础3.2.3 JavaScript变量 (4)变量的作用域 JavaScript将变量的作用范围分为两种,一种是全局变量,一种是局部变量。全局变量在主程序中定义,其有效范围从其定义开始,一直到本程序结束为止。局部变量在程序的函数中定义,其有效范围只有在该函数之中;当函数结束后,局部变量生存期也就结束了。3.2 JavaScript程序设计基础程序设计基础3.2.4表达式和运算符 1. 表达式的构成表达式的构成 (1)使用单目运算符构成单目表达式形式如下:操作数操作数 运算符运算符 或或 运算符运算符 操作数操作数实例:x+,+y,a-,!x等。(2)使用双目运算符构成双目表达式:操作数操作数1 运算符运算符 操作数操作数2实例:ab,a&b,-b,a*b,ab ? 20 :0,3.2 JavaScript程序设计基础程序设计基础3.2.4表达式和运算符 根根据据运运算算符符操操作作数数和和运运算算结结果果的的数数据据类类型型可可以以分分为为算算术术运运算算符符,比比较较运运算算符符,逻辑运算符、位运算符和赋值运算等。,逻辑运算符、位运算符和赋值运算等。3.3 JavaScript程序结构程序结构结构化程序设计的最基本的原则v程序本身只能有一个入口和一个出口;v程序只能由顺序结构、判断结构和循环结构三种基本流程结构构成。3.3 JavaScript程序结构程序结构v三种结构的流程图 3.3 JavaScript程序结构程序结构3.3.1 JavaScript判断语句v双分支双分支if语句语句if(判断表达式) /分支1语句段1else /分支2语句段23.3 JavaScript程序结构程序结构3.3.1 JavaScript判断语句2.多分支if.else if.语句 if(判断表达式1)语句段1;elseif(判断表达式2)语句段2;else语句段n;3.3 JavaScript程序结构程序结构3.3.1 JavaScript判断语句3.多分支switch语句 switch(表达式) case 判断值1: 语句段1; case 判断值2: 语句段2;. case 判断值n: 语句段n; default: 语句段n + 1; 3.3 JavaScript程序结构程序结构3.3.2 JavaScript循环语句1.for语句语句for(表达式1;表达式2;表达式3)循环体3.3 JavaScript程序结构程序结构3.3.2 JavaScript循环语句2. while 语句语句while(判断表达式)循环体3.3 JavaScript程序结构程序结构3.3.2 JavaScript循环语句3.do.while 语句语句do循环体循环体while(判断表达式判断表达式);3.3 JavaScript程序结构程序结构3.3.3 JavaScript函数function 函数名函数名(形参列表形参列表)函数体函数体;return 返回值返回值; 3.4 JavaScript对象系统对象系统3.4.1 JavaScript对象运算符和对象操作语句1. 对象运算符对象运算符(1)成员选择运算符)成员选择运算符“.”(2)new运算符运算符2.对象操作语句对象操作语句(1)with语句语句(2)for in语句语句3.4 JavaScript对象系统对象系统3.4.2 JavaScript内置对象3.4 JavaScript对象系统对象系统3.4.3 浏览器对象 浏览器对象也称为文档对象模型(Document Object Model, 简 称 DOM) , 它 是 由 浏 览 器 创 建 并 可 以 被JavaScript等计算机程序调用的一组特殊的浏览器内部对象。通过调用浏览器对象,JavaScript程序可以获得与浏览器、HTML文档以及服务器进行交互的能力。浏览器对象本身是一种“树”状分层结构的对象模型。有window对象、Document对象、Form对象等。3.5 JavaScript事件和事件处理事件和事件处理3.5.1 事件所谓事件(event),是指用户在与Web页面进行交互时,所发出的并且能够被浏览器所识别的各种行为(如鼠标单击、鼠标移动、按下键盘按键等)的总称。比如当用户单击某Web页面中的一个按钮时,就会产生了一个onClick事件。3.5 JavaScript事件和事件处理事件和事件处理3.5.2 事件处理程序 事件处理是基于对象编程语言的基本特征之一。如果没有事件处理,程序就会变得很死,缺少灵活性。在通常情况下,JavaScript事件处理程序可以是任意的JavaScript程序代码,但习惯上使用特定的自定义函数(function),这里可以称为事件处理函数。在构造事件处理函数后,需要通知相应对象某个事件发生了,启动哪个事件处理函数。为事件指定处理程序的方法有三种,但常用方法是直接在定义对象的HTML标记中指定事件处理程序。一般格式为:其中事件处理程序可以是自定义函数的名称,也可以是简单的程序代码。使用这种方法为对象指定事件处理程序,形式简单,也是最为普遍的方式。第第4章章 VBScriptv4.1 VBScript简介简介v4.2 VBScript语言基础语言基础v4.3 VBScript程序结构程序结构v4.4 VBScript的过程和常用内部函数的过程和常用内部函数第第4章章 VBScript语法基础语法基础4.1 VBScript简介简介 VBScript是 微 软 公 司 , 专 门 为 IE浏 览 器 和IIS(Internet Information Service)服务器开发的一种面向对象(Object)的脚本语言。目前广泛的应用在基于IIS服务器平台的ASP动态WEB应用程序的开发领用。4.1 VBScript简介简介v1. 解释性解释性v2. 基于对象基于对象 v3. 易用性易用性4.1.1 VBScript语言特点语言特点4.1 VBScript简介简介3.1.2 VBScript程序的运行环境程序的运行环境1. 软件环境:软件环境: IE浏览器或IIS(Internet Information Service)服务器 用于编辑HTML文档的文本编辑器(word、WPS、Notepad、WordPad等)或HTML文档编辑器。2. 硬件配置:硬件配置: 内存 32M。 CPU 233mhz以上。 显示器 256色,分辨率在640X480以上。 鼠标和其它外部设置(根据需要选用)。4.2 VBScript语言基础语言基础4.2.1 数据类型数据类型 VBScript为了增加程序的灵活性和易用性,因此在语法只提供了一种特殊的数据类型,称为Variant。 4.2 VBScript语言基础语言基础4.2.2 VBScript常量和变量 (1)变量的命名 VBScript变量命名的方法和C、C+或JAVA等计算机语言非常相似,这里要注意以下四点:v变量命名时必须以字母开头,中间可以出现数字。v变量命名时可以使用下划线“_”作为连字符。但不能有空格、“”、“”、“,”或其它符号。v长度不能超过 255 个字符。v不能使用VBScript中的关键字命名变量。4.2 VBScript语言基础语言基础4.2.2 VBScript常量和变量 以下变量命名是合法的。 abc, china, a1, str_1, abc_h。以下变量命名是不合法的。 123、12.3、a.a、_abc。4.2 VBScript语言基础语言基础4.2.2 VBScript常量和变量 (2)变量的声明声明变量的一般格式: Dim 变量名称 或 Dim 变量1,变量2,变量3,.,变量n4.2 VBScript语言基础语言基础4.2.2 VBScript常量和变量 (3)变量的作用域 VBScript将变量的作用范围分为两种,一种是全局变量,一种是局部变量。全局变量在主程序中定义,其有效范围从其定义开始,一直到本程序结束为止。局部变量在程序的函数后或过程中定义,其有效范围只有在该函数体或过程体的内部;当函数或过程结束后,局部变量生存期也就结束了。4.2 VBScript语言基础语言基础4.2.2 VBScript常量和变量 2. 常量常量常量声明的一般格式Const 常量名称=值实例Const Con_String = 这是一个字符串。Const Con_count = 604.2 VBScript语言基础语言基础4.2.2 VBScript常量和变量 3. 数组数组 (1)数组的声明Dim 数组名(元素最大下标值) 实例 :Dim A(8)(2)动态数组的声明ReDim A(n) /声明.ReDim Preserve A(m) /重制大小4.2 VBScript语言基础语言基础 4.2.3表达式和运算符 1. 运算符的分类运算符的分类(1)算术运算符(2)比较运算符(3)逻辑运算符(4)字符串连接运算符4.2 VBScript语言基础语言基础 4.2.3表达式和运算符 2. 运算符的优先级运算符的优先级 运算符的优先级是指VBScript在计算复杂表达式时,各个运算符的执行顺序。 4.3 VBScript程序结构程序结构 VBScript在程序定义了顺序结构、判断结构和循环结构三种基本的程序流程结构。4.3 VBScript程序结构程序结构 4.3.1 分支结构 分支结构就是当程序有两种或两种以上的执行分支时,分支结构就是当程序有两种或两种以上的执行分支时,能够根据判断条件做出判断选择的语句。能够根据判断条件做出判断选择的语句。VBScript中常用中常用的有的有If语句、语句、Select Case语句语句。 4.3 VBScript程序结构程序结构 4.3.1 分支结构1. If语句语句If Then /分支1语句段1Else /分支2语句段2End If4.3 VBScript程序结构程序结构 4.3.1 分支结构2.Select Case语句语句Select Case 测试表达式 case 条件1 语句段1 case 条件2 语句段2. case 条件n 语句段n Case Else 语句段n + 1;End Select4.3 VBScript程序结构程序结构 4.3.2 VBScript循环语句1.For.Next语句语句For 循环变量循环变量=初值初值 to终值终值 step步长表达式的值步长表达式的值循环体循环体Next4.3 VBScript程序结构程序结构 4.3.2 VBScript循环语句2. Do While.Loop 语句语句Do While 判断表达式判断表达式 循环体循环体Loop4.3 VBScript程序结构程序结构 4.3.2 VBScript循环语句3.Do.Loop While 语句语句Do 循环体循环体Loop While 判断表达式判断表达式4.4 VBScript的过程和常用内部函数的过程和常用内部函数在在使使用用结结构构化化程程序序设设计计方方法法进进行行复复杂杂程程序序设设计计时时,程程序序员员往往往往需需要要根根据据程程序序的的功功能能,将将程程序序划划分分为为若若干干个个相相对对独独立立模模块块,这这些些模模块块被被称称为为过过程程。这这使使得得程程序序的的代代码码数数量量减减少少,结结构构清清晰晰,可可读读性性和和可可维维护护性性提提高高。 VBScript根根据据调调用用这这些些模模块块后后是是否否要要返返回回值值分分别别将将其其分分为为Sub过过程程和和Function过过程。程。 4.4.1 Sub过程1. 定义定义Sub过程过程VBScript中定义中定义Sub过程的语法格式为:过程的语法格式为:PrivatePublicSub 过程名过程名(形式参数列表形式参数列表) 语句块语句块 Exit Sub 语句块语句块End SubExit Sub用于中途中止过程,语句块为过程所完成的操作,形式参数列表中用于中途中止过程,语句块为过程所完成的操作,形式参数列表中的各个参数以逗号分隔。的各个参数以逗号分隔。4.4 VBScript的过程和常用内部函数的过程和常用内部函数 4.4.1 SUB过程2. 调用调用Sub过程过程在过程没有被调用时,在过程没有被调用时,Sub过程中的语句不会被执行。过程中的语句不会被执行。调用调用Sub过程方法有如下两种。过程方法有如下两种。第一种调用格式:第一种调用格式:CALL 过程名过程名(实际参数实际参数1,实际参数,实际参数2,)第二种调用格式:第二种调用格式:过程名过程名 实际参数实际参数1,实际参数,实际参数2,4.4 VBScript的过程和常用内部函数的过程和常用内部函数 4.4.2 Functon过程1. 定义定义Function过程过程PrivatePublic Function 过程名过程名(形式参数列表形式参数列表) 语句块语句块 Exit Function 语句块语句块 过程名过程名=表达式表达式End FunctionExit Function用于中途中止过程,语句块为过程所完成的操作,表达式的值用于中途中止过程,语句块为过程所完成的操作,表达式的值为为Function过程的返回值,形式参数列表中的各个参数以逗号分隔。过程的返回值,形式参数列表中的各个参数以逗号分隔。4.4 VBScript的过程和常用内部函数的过程和常用内部函数4.4.2 Functon过程2. 调用调用Function过程过程Function过程同过程同Sub过程一样,在没有被调用前,过程过程一样,在没有被调用前,过程中的语句不会被执行。调用中的语句不会被执行。调用Function过程的方法比较简单,过程的方法比较简单,直接将过程名赋值给一个变量或做为一个操作数写到表达式直接将过程名赋值给一个变量或做为一个操作数写到表达式中即可。中即可。Function过程的调用格式为:过程的调用格式为:变量名过程名变量名过程名(实际参数实际参数1,实际参数,实际参数2,)4.4 VBScript的过程和常用内部函数的过程和常用内部函数 4.4.3 常用内部函数VBScript提供了许多内部函数,有字符串函数、数学函数、日期函数、转换函数及判断函数等。4.4 VBScript的过程和常用内部函数的过程和常用内部函数常用字符串函数有SPACE,UCASE,LCASE,LEFT,RIGHT,MID,LTRIM,RTRIM,TRIM,LEN,INSTR等。常用数学函数有ABS,EXP,LOG,ROUND,SQR等。常用判断函数有ISDATE,ISEMPTY,ISNULL,ISOBJECT,ISNUMERIC,ISARRAY等。常用日期函数有NOW,DATE,TIME,WEEKDAY,DATEDIFF,DATEADD等。常用转换函数有CBool、CByte、CDate、CDbl、CInt、CLng、CSng、CStr等。第第5章章 ASP内置对象内置对象 v5.1 RESPONSE对象对象第第5章章 ASP内置对象内置对象v5.2 Request对象对象v5.3 Session对象对象v5.4 Application对象对象v5.5 Server对象对象v5.6 Global.asa文件和文件和INC文件文件v5.7 ASP内置对象综合应用案例内置对象综合应用案例5.1 RESPONSE对象 Response用于向客户端浏览器输出指定信息。使用Response对象可以实现动态创建Web页面、对客户端请求重定向以及向客户端写入Cookie等功能。5.1.1 Response对象的常用属性对象的常用属性 Buffer属性 Expires属性 ExpiresAbsolute属性Response.Expiresabsolute =date timeResponse. Buffer=FlagResponse. Expires=NumberResponse. Expires=-1Response.Expiresabsolute =NOW-1 IsClientConnected属性属性 使用Response对象的IsClientConnected属性可以了解自上次调用Response.Write之后客户端是否仍然与服务器相连。5.1 RESPONSE对象 5.1.1 Response对象的常用属性对象的常用属性5.1 RESPONSE对象 5.1.2 Response对象的常用方法对象的常用方法 Write方法 Redirect方法 Clear方法Response. ClearResponse. Write VariantResponse. Redirect URL End方法Response. End Flush方法Response. Flush (1) 写入的内容可以包含任何有效的HTML标记,但不能包括字符组合%,如果需要写入这个字符组合,可以使用转义序列%来代替。 (2) 由于VBScript的静态字符串常量的长度不能大于1022个字节,所以,若要使用Write方法来输出长度超过1022个字符的内容,先把输出内容放入字符串变量,然后使用该变量来引用该内容。 (3) 在编写脚本时,Response.Write可以用”=“来代替。例如,也可以写成。5.2 RESPONSE对象 3 Response对象的数据集合对象的数据集合Response对象只有一个数据集合CookiesResponse.Cookies(cookie)(key)|.attribute = value其中,attribute 参数可以是下列之一。Expires:cookie的过期日期。HasKeys:cookie是否包含关键字。Path:若被指定,则cookie将只发送到对该路径的请求中。如果未设置该属性,则使用应用程序的路径。Secure:只允许写。指定cookie是否安全。Request对象用于在Web服务器端收集用户通过HTTP请求所传送的所有信息,如HTML表单用POST或GET方式所提交的数据、存储在客户端的Cookie数据等。5.2 Request对象 Request对象的语法格式:Request.属性|.方法|.集合(variable)variable参数是一些字符串,这些字符串指定要从集合中检索的项目或作为方法或属性的输入。5.2.1 Request对象的属性对象的属性5.2 Request对象 5.2.2 Request对象的方法对象的方法Request对象只有一个属性,即TotalBytes。Request对象只有一个方法,即BinaryRead。该方法以二进制的方式读取客户端用POST方式所传递的数据。5.2 Request对象 5.2.3 Request对象的集合对象的集合集合说明ClientCertificate 检索存储在发送的HTTP请求中客户端证书中的字段值Cookies检索HTTP请求中发送的Cookie的值Form检索HTTP请求正文中表单元素的值QueryString检索HTTP查询字符串中变量的值ServerVariables检索预定的环境变量的值5.2 Request对象 5.2.3 Request对象的集合对象的集合Form如果同名的变量出现在多个集合中, Web服务器按照下面的顺序搜索集合,返回遇到的第一个实例。QueryStringCookiesServerVariablesClientCertificate5.2 Request对象 1 Form数据集合数据集合使用Form集合可以检索在HTTP请求中通过POST方式提交的表单元素的值。Request.Form( element) (index) | .CountElement为表单元素的名称。当有同名元素时,用index来检索不同的值。Count用来检索表单元素的个数。5.2.3 Request对象的集合对象的集合5.2 Request对象 例:例:用户id: 密 码: 在服务端的form.asp用以下脚本来检索。MYID=REQUEST.FORM(ID)MYPW=REQUEST.FORM(PW)1 Form数据集合数据集合5.2.3 Request对象的集合对象的集合5. 2 Request对象 使用ForEachNext语句遍历表单中的所有数据值。% For Each E In Request.Form Response.Write E & = & Request.Form(E) & Next% 1 Form数据集合数据集合5.2.3 Request对象的集合对象的集合5.2 Request对象 2 QueryString数据集合数据集合其中variable指定要检索的变量名;Count给出QueryString集合中变量的个数,如果没有查询字符串被发送,则Count属性值为0。Request.QueryString(variable)(index)|.Count使用Request对象的QueryString集合,服务端可以获取客户端提交的HTTP查询字符串中变量的值或变量的个数。5.2.3 Request对象的集合对象的集合5.2 Request对象 客户端生成HTTP查询字符串常用的方法有3种。 在浏览器地址栏中键入请求网页的URL时,可以在URL后面键入问号“?”和查询字符串。例:http:/locahost/querystring.asp?id=123456在服务端的querystring.asp用以下脚本来检索。MYID=REQUEST.QUERYSTRING(“ID”)2 QueryString数据集合数据集合5.2.3 Request对象的集合对象的集合5.2 Request对象 当通过HTML表单提交数据时,如果将表单的METHOD属性设置为GET,则表单数据将附在查询字符串中被发送到服务器端。例:例:用户id: 密码: 2 QueryString数据集合数据集合5.2.3 Request对象的集合对象的集合5.2 Request对象 使用A标记创建超链接时,可以将查询字符串放在URL后面,并使用问号“?”来分隔URL与查询字符串。例:例:进入2 QueryString数据集合数据集合5.2.3 Request对象的集合对象的集合5.2 Request对象 当将多个值指定给一个变量时,服务器端用index来分别取值。例:http:/localhost/querystring_m.asp?id=3&id=5在服务端的querystring_m.asp用以下脚本来检索。MYID1=REQUEST.QUERYSTRING(“ID”)(1)MYID2=REQUEST.QUERYSTRING(“ID”)(2)2 QueryString数据集合数据集合5.2.3 Request对象的集合对象的集合5.2 Request对象 服务端使用for next或for eachnext循环可检索集合中的所有值。Dim x()n= Request.QueryString.CountRedim x(n)For i =1 To n x(i)=Request.QueryString(i)Next2 QueryString数据集合数据集合5.2.3 Request对象的集合对象的集合5.2 Request对象 3 Cookies集合集合使用Request对象的Cookies集合可以检索在HTTP请求中发送的Cookie的值。Request.Cookies(name)(key)|. attributename指定要检索其值的Cookie的名称。key可选,用于指定同一个name的几个关键字。attribute参数仅支持HasKeys属性,用于确定Cookie是否包含关键字。5.2.3 Request对象的集合对象的集合5.2 Request对象 例:例:COOKIE的写与读的写与读 3 Cookies集合集合5.2.3 Request对象的集合对象的集合5.2 Request对象 Request.ServerVariables(Environment Variable)4 ServerVariables数据集合数据集合使用使用ServerVariables数据集合可以获得服务器端数据集合可以获得服务器端环境变量的取值。环境变量的取值。LOCAL_ADDR返回接受请求的服务器地址。返回接受请求的服务器地址。PATH_INFO客户端提供的路径信息。客户端提供的路径信息。REMOTE_ADDR发出请求的远程主机的发出请求的远程主机的IP地址。地址。SCRIPT_NAME执行脚本的名称。执行脚本的名称。SERVER_NAME服务器的主机名、服务器的主机名、DNS地址或地址或IP地址。地址。SERVER_PORT接受请求的服务器端口号。接受请求的服务器端口号。SERVER_SOFTWARE应答请求并运行网关的服务器软件的名称和版本。应答请求并运行网关的服务器软件的名称和版本。5.2.3 Request对象的集合对象的集合5.3 Session对象对象Session对象用于存储每个用户会话所需的信息。当用户登录网站时,系统为其分配一个Session,用户在应用程序的各个页面间跳转时,存储在Session对象中的变量不会被清除,而用户在应用程序中访问页面时,这些变量始终存在。只有当用户退出或Session生命周期结束时,信息才会被清除。Session对象中的信息,是存储在服务器上属于客户程序的信息。5.3 Session对象对象5.3.1 Session对象的数据集合对象的数据集合Session对象有Contents和StaticObject数据集合。 Contents数据集合或Session (key) 例:Session.Contents(username)=zhangsanSession.Contents(userlogintime)=nowName=Session.Contents(username)Logintime=Session.Contents(userlogintime)Session.Contents(key)5.3 Session对象对象5.3.1 Session对象的数据集合对象的数据集合遍历Session对象的Contents数据集合。For each I in Session.contents Response.write I & :“ & Session(i) & Next遍历Session对象的Contents数据集合。Session对象的Contents数据集合中可保存数组。Dim a(3)a(1)=1:a(2)=2:a(3)=3Session.contents(m)=aB=Session.contents(m)5.3 Session对象对象5.3.1 Session对象的数据集合对象的数据集合 StaticObject数据集合Session. StaticObjects(Key)该集合存储以标记建立的Session对象。5.3 Session对象对象5.3.2 Session对象的属性对象的属性 Timeout属性 指定Session对象的超时时限Session.Timeout=分钟数 SessionID属性 用户会话标识MYID=Session.SessionID LCID属性 动态文本显示格式Session.LCID=2052 Codepage属性字符编码Session.Codepage=9365.3 Session对象对象5.3.3 Session对象的方法对象的方法 Abandon方法结束会话Session. Abandon Remove方法删除Contents集合中的元素Session.Contents. Remove(key) RemoveAll方法删除Contents集合中的所有元素Session.Contents. RemoveAll5.5 Session对象对象5.3.4 Session对象的事件对象的事件 OnStart事件启动每个会话时发生。 OnEnd事件每个会话结束时发生。Abandon方法会触发该事件,会话超时的时候发生。5.4 Application对象对象Application对象所包含的数据可被应用程序的所有用户使用,并且在Web应用程序运行期间持久保存,因此,Application对象特别适合在应用程序的不同用户之间传递数据。例如可利用Application对象统计在线人数、创建多用户游戏及多用户聊天室,其功能类似于一般程序设计语言的“全局变量”。5.4 Application对象对象5.4.1 Application对象的数据集合对象的数据集合Application对象有Contents和StaticObject数据集合。 Contents数据集合或Application (key) 例:Application.Contents(msg)=欢迎Application.Contents(online)=1Infomation=Application.Contents(msg)Number=Application.Contents(online)Application.Contents(key)5.4 Application对象对象5.4.1 Application对象的数据集合对象的数据集合遍历Application对象的Contents数据集合。For each I in Application.contents Response.write I & :“ & Application(i) Next遍历Application对象的Contents数据集合。Application对象的Contents数据集合同Session对象的Contents数据集合一样,可保存数组。5.4 Application对象对象5.4.1 Application对象的数据集合对象的数据集合 StaticObject数据集合Application. StaticObjects(Key)该集合存储以标记建立的Application对象。5.4 Application对象对象5.4.2 Application对象的方法对象的方法 Lock方法锁定Application对象的变量Application. Lock UnLock方法解除锁定Application.UnLock用于Application对象变量的值修改之前。用于Application对象变量的值修改之后。5.4 Application对象对象5.4.2 Application对象的方法对象的方法 Remove方法删除Application对象中Contents集合的元素Application. Contents.Remove(key) RemoveAll方法删除Application对象中Contents集合的所有元素Application.Contents.RemoveAll5.4 Application对象对象5.4.3 Application对象的事件对象的事件 OnStart事件第一个用户访问站点时发生。 OnEnd事件结束应用程序时发生。5.5.1 Server对象的属性对象的属性5.5 Server对象 Server对象只有一个属性,即ScriptTimeOut。系统默认值为90秒。设置时间的语句必须出现在ASP其它脚本之前。如果将其设置为-1,则脚本将永远不会超时。例例:Server.ScriptTimeOut=1005.5 Server对象 5.5.2 Request对象的方法对象的方法方法说明CreateObject创建服务器组件的实例Execute执行一个.asp文件GetLastError返回一个描述错误条件的ASPError对象HTMLEncode将HTML编码MapPath将相对路径或虚拟路径,映射为物理路径Transfer将当前所有的状态信息发送给另一个.asp文件进行处理URLEncode将URL编码5.5 Server对象 5.5.2 Server对象的方法对象的方法 Execute方法方法执行指定的执行指定的ASP文件文件Server.Execute(pFile)当调用Execute方法时,停止当前页面的执行,并将控制转到pFile指定的页面。在该页面执行完成后,控制传递回原先的页面,并继续执行Execute方法后面的语句。参数pFile指定要执行的.asp文件,包括文件所在的路径,可以使用绝对路径或相对路径。5.5 Server对象 5.5.2 Server对象的方法对象的方法 Transfer方法方法将控制权转移到指定将控制权转移到指定ASP文件文件Server.Transfer(pFile)当调用Transfer方法时,停止当前页面的执行,并将控制转到pFile指定的页面。在该页面执行完成后,控制传递不回原先的页面。参数pFile指定要执行的.asp文件,包括文件所在的路径,可以使用绝对路径或相对路径。5.5 Server对象 5.5.2 Server对象的方法对象的方法 MapPath方法方法将相对或虚拟路径映射为物理路径将相对或虚拟路径映射为物理路径Server.MapPath( pFile )例:返回当前站点的主目录(物理路径)。 Server.MapPath( “ ” ) Server.MapPath( “” ) Server.MapPath( “/” )参数pFile指定要映射物理目录的相对或虚拟路径。在相对或虚拟路径中,用“.”表示当前目录,使用“.”表示父目录。5.5 Server对象 5.5.2 Server对象的方法对象的方法 HTMLEncode方法方法HTML编码编码Server.HTMLEncode(string)参数string指定要编码的HTML字符串。 URLEncode方法方法URL编码编码Server.URLEncode(URL)参数URL指定要编码的URL字符串。5.5 Server对象 5.5.2 Server对象的方法对象的方法 CreateObject方法方法创建服务器组件的实例创建服务器组件的实例Server.CreateObject(progID)或Server.CreateObject(ClassName)参数可以是服务器组件ID或类名。例:Set ad=Server.CreateObject(mswc.adrotartor)5.6 Global.asa文件和文件和INC文件文件5.6.1 Global.asa文件文件在一个基于ASP的应用程序中,global.asa文件是一个可选文件,其文件扩展名ASA实际上是Active Server Application的缩写。该文件是存放于Web应用程序根目录中的一个文本文件。每个应用程序只能有一个Global.asa文件。该文件包含初始化变量的语句,Session对象和Application对象的事件过程。5.6.1 Global.asa文件文件 Sub Application_OnStart End Sub Sub Application_OnEnd End Sub Sub Session_OnStart End Sub Sub Session _OnEnd End Sub不能包含任何输出语句5.6 Global.asa文件和文件和INC文件文件5.6 Global.asa文件和文件和INC文件文件5.6.2 INC文件文件在Web应用程序中,要在多个应用程序中共享过程,可在单独的文件中声明这些过程,然后使用服务器端的包含 (SSI) 语句将该文件包含在调用该过程的ASP页中。通常,包含文件的扩展名为.INC。实际上,文件的后缀对于文件包含是无所谓的。被包含的文件可以有两种路径:虚拟路径和物理路径,分别用关键词Virtual和File表示,具体方法如下所示。例例 简单聊天程序设计简单聊天程序设计初始化代码(初始化代码(index.asp)登录界面(登录界面(login.htm)Userinfo.aspInputmsg.htmuserlist.aspgetchat.aspchatlist.asp聊天室主框架聊天室主框架 chatroom.asp5.7 ASP内置对象综合应用案例内置对象综合应用案例初始化代码(初始化代码(index.asp) window.location=login.htm5.7 ASP对象综合应用对象综合应用登录界面登录界面5.7 ASP对象综合应用对象综合应用登录界面代码(登录界面代码(login.htm)5.7 ASP对象综合应用对象综合应用聊天室界面聊天室界面5.7 ASP对象综合应用对象综合应用聊天室框架代码(聊天室框架代码(chatroom.asp)5.7 ASP对象综合应用对象综合应用聊天室框架上端代码(聊天室框架上端代码(userinfo.asp)5.7 ASP对象综合应用对象综合应用聊天室框架底端代码(聊天室框架底端代码(inputmsg.htm)5.7 ASP对象综合应用对象综合应用获取聊天信息代码(获取聊天信息代码(Getchat.asp)5.7 ASP对象综合应用对象综合应用显示聊天信息代码(显示聊天信息代码(Chatlist.asp)5.7 ASP对象综合应用对象综合应用显示用户列表代码(显示用户列表代码(userlist.asp)5.7 ASP对象综合应用对象综合应用第第6章章 ActiveX组件组件 第第6章章ActiveX组件组件程程序序设设计计追追求求代代码码的的模模块块化化与与可可重重用用性性,ActiveX组组件件就就是是将将执执行行某某项项或或一一组组任任务务的的代代码码集集成成为为一一个个独独立立的的可可调调用用的的模模块块,从从而而能能够够容容易易完完成成一一些些较较复复杂杂的的功功能能,提提高高程程序序开开发发的的效效率率。ASP支支持持组组件件技技术术,IIS自带了许多内置的自带了许多内置的ActiveX组件。组件。v6.1 ActiveX组件概述组件概述v6.2 广告轮显组件广告轮显组件v6.3 内容链接组件内容链接组件v6.4 计数器组件计数器组件v6.5文件系统组件文件系统组件 v6.6 ActiveX组件开发与使用组件开发与使用第第6章章ActiveX组件组件1 使用Server.CreateObject方法创建服务器组件对象Set Pgn=Server.CreateObject(MSWC.PageCounter)6.1ActiveX组件概述组件概述ActiveX组件在服务器端运行,不要求客户端也支持ActiveX。ASP中使用的ActiveX组件,是存在于Web服务器上的文件。当安装IIS时,其自带的ActiveX组件自动安装注册到Web服务器,在ASP文档中可以直接使用这些组件。另外,大量的ActiveX组件来自第三方开发者,用户或程序员也可以自己编写组件。在ASP文档中使用ActiveX组件有以下两个步骤。第一:创建组件所提供对象的一个实例,并将实例赋予一个第一:创建组件所提供对象的一个实例,并将实例赋予一个变量。创建组件对象实例有两种方法。变量。创建组件对象实例有两种方法。2 使用OBJECT标记创建服务器组件对象 在ASP文件中创建:此时所创建的对象只在当前页面中使用。 在Global.asa文件中创建:此时所创建的对象可以在当前会话中使用。6.1ActiveX组件概述组件概述第二:使用第二:使用ActiveX组件对象的属性和方法,从而实现相应组件对象的属性和方法,从而实现相应的功能。的功能。6.2 广告轮显组件广告轮显组件6.2.1 Ad Rotator组件的属性组件的属性(2) Clickable属性:指定是否将广告作为超链接显示。如果将该属性设置为True(默认值),则将广告作为超链接显示。如果将该属性设置为False,则广告不作为超链接显示。(1) Border属性:指定显示的广告四周的边框宽度。该属性在轮显列表文件的文件头中设置。(3) TargetFrame属性:指定链接被装入的目标。取值为_TOP、_NEW、_CHILD、_SELF、_PARENT或_BLANK。该属性的默认值是NO FRAME。6.2 广告轮显组件广告轮显组件6.2.2 Ad Rotator组件的方法组件的方法GetAdvertisement方法:该方法从轮显列表文件中获取一个广告。 例:例:当前位置显示adrot.txt文件中的一个广告。6.2广告轮显组件广告轮显组件6.2.3 Ad Rotator组件的相关文件组件的相关文件1. 调度文件调度文件REDIRECT URL 重定向的应用程序文件路径WIDTH WidthNum 图像宽度HEIGHT HeightNum 图像高度BORDER BorderNum 图像边框*AdvertisementURL 广告图像文件文件名AdvertisementHomePageURL 广告的链接位置Text 图像的替代文字Impressions 限定广告图像的显示频率6.2广告轮显组件广告轮显组件调度文件示例:调度文件示例:6.2.3 Ad Rotator组件的相关文件组件的相关文件6.2广告轮显组件广告轮显组件2. 重定向文件重定向文件 重定向文件是用户创建的文件,用来解析由广告轮显对象发送的查询字符串,并将用户重定向到与用户所单击的广告相关的URL。 6.2.3 Ad Rotator组件的相关文件组件的相关文件6.2广告轮显组件广告轮显组件adrot示例 6.2.4 Ad Rotator组件的使用组件的使用6.3内容链接组件内容链接组件6.3.1链接列表文件链接列表文件内容链接列表文件是一个文本文件,其中包含Web页的列表,这些Web页按所列的顺序显示。该文件必须存储在Web服务器上,而且必须在Web服务器的虚拟路径上可用。内容链接列表文件中的每个URL占一行,每行以回车换行结束,行中的每一项以Tab制表符分隔。语法格式如下:Web-page-URLtext-description comment6.3内容链接组件内容链接组件 GetListCount方法:返回内容链接列表文件中所列的Web页总数。语法格式如下:GetListCount(ListURL ) GetListIndex方法:返回当前页在内容链接列表文件中项目的索引号。如果当前页不在内容链接列表文件中,该方法将返回0。语法格式如下:GetListIndex(Listurl ) 6.3.2 内容链接组件的方法内容链接组件的方法6.3内容链接组件内容链接组件 GetNextDescription方法:返回内容链接列表文件中下一个项目的描述文字。语法格式为:GetNextDescription(ListURL ) GetNextURL方法:返回内容链接列表文件中下一项的URL。语法格式如下:GetNextURL(ListURL )6.3.2 内容链接组件的方法内容链接组件的方法6.3内容链接组件内容链接组件 GetNthDescription方法:返回内容链接列表文件中某项的描述文字。语法格式如下:GetNthDescription( ListURL, i ) GetNthURL方法:返回内容链接列表文件中某项的URL。语法格式如下:GetNthURL(ListURL, i )6.3.2 内容链接组件的方法内容链接组件的方法6.3内容链接组件内容链接组件 GetPreviousDescription方法:返回内容链接列表文件中前一项的描述文字。语法格式如下:GetPreviousDescription( ListURL ) GetPreviousURL方法:返回内容链接列表文件中前一项的URL。语法格式如下:GetPreviousURL( ListURL )6.3.2 内容链接组件的方法内容链接组件的方法6.3内容链接组件内容链接组件6.3.3 使用内容链接组件使用内容链接组件 创建内容链接列表文件创建内容链接列表文件c1.asp第一章 绪论c2.asp第二章 HTML标记c3.asp第三章 VBScript语言c4.asp第四章 使用ASP对象c5.asp第五章 使用ActiveX组件c6.asp第六章 Web数据库使用c7.asp第七章 实用WEB程序设计6.3内容链接组件内容链接组件 创建显示目录的文件创建显示目录的文件6.3.3 使用内容链接组件使用内容链接组件6.3内容链接组件内容链接组件创建章节文件。如:c5.asp6.3.3 使用内容链接组件使用内容链接组件6.4计数器组件计数器组件IIS内置的计数器组件(Counters)用于在Web站点上创建计数器对象,通过该对象创建任意数量的独立计数器,分别记录不同的数据。计数器是一个包含整数的持续值,它不受作用域限制,一旦被创建,便可以在Web站点的任何页面中使用计数器对象的方法检索和控制它的值。6.4计数器组件计数器组件6.4.1 计数器组件的方法计数器组件的方法 Increment方法:用于将指定的计数器的值加1并返回计数器的新值。 Get方法:根据计数器的名称返回其当前值。 Remove方法:用于删除指定的计数器。 Set方法:用于重置计数器的值。6.4计数器组件计数器组件6.4.2 计数器组件的使用计数器组件的使用【例6.3】 页面浏览次数统计本页面已经被浏览了次在此例中,记录本页面浏览次数的计数器为“MYCount”,每次进入此页面,“MYCount”都会加1。若是第一次进入,则自动创建“MYCount”。6.5文件系统组件 该组件包括下面的对象和集合。 FileSystemObject主对象。提供对文件系统的访问,包含用来创建、删除和获得有关信息及用来操作驱动器、文件夹和文件的方法和属性。文件系统组件(FileSystemObject)用于访问Web服务器的文件系统。 Drive对象。提供对特定的磁盘驱动器或共享网络设备的属性的访问,如驱动器的共享名和它有多少可用空间。Drive可以是硬盘,也可以是CD-ROM驱动器、RAM磁盘和共享网络设备等。6.5文件系统组件(5) Files集合。提供包含在文件夹内的所有文件的列表。(3) Drives集合。所有可用驱动器的只读集合。用于提供驱动器的列表,这些驱动器以物理或逻辑的方式与系统相连接。(4) File对象。提供对文件的所有属性的访问,包含创建、删除或移动文件的方法和属性,也用来向系统询问文件名、路径和多种其他属性。6.5文件系统组件(7) Folders集合。提供在Folder内的所有文件夹的列表。(6) Folder对象。包含用来创建、删除或移动文件夹的方法和属性,也用来向系统询问文件夹名、路径和多种其他属性。(8) TextStream对象。用来读、写文本文件。 6.5文件系统组件1. 创建FileSystemObject对象实例Set fso=Server.CreateObject(“Scripting.FileSystemObject”)6.5.1 创建文本文件创建文本文件 2. 创建TextStream对象实例 FileSystemObject对象的CreateTextFile方法创建指定的文本文件并返回TextStream(简称ts)对象实例,该对象可以用于读或写创建的文件。Set ts=fso.CreateTextFile(filename ,overwrite ,Unicode)Filename:必选参数,是一个字符串表达式,用于指明要创建的文件。Overwrite:可选参数,取Boolean值,指明是否可以履盖现有文件,如果该值为True,可以履盖文件。Unicode:可选参数,取Boolean值,指明是否以Unicode或ASCII文件格式创建文件,如果该值为True,则以Unicode文件格式创建文件。6.5文件系统组件3. 使用TextStream对象的方法对文件进行写操作 6.5.1 创建文本文件创建文本文件 4. 关闭文件 ts.Close ts.Write(string) 写入一个字符串 ts.WriteLine(string) 写入一个字符串并写入换行符 ts.WriteBlandLines(lines) 写入若干个空行6.5文件系统组件例1 创建一个简单的HTML(文本)文件6.5.1 创建文本文件创建文本文件 6.5文件系统组件1. 打开文件 FileSystemObject对象的OpenTextFile方法打开指定的文件并返回一个TextStream对象,该对象可以用于对文件进行读、写操作。6.5.2 读取文本文件读取文本文件 Set ts=fso.OpenTextFile(filename,iomode,create,format)1:以只读模式打开文件。这是默认值。2:以只写方式打开文件。8:打开文件并在文件末尾进行写操作。True:允许创建新文件;False或省略:不允许创建新文件。0或省略:以ASCII格式打开文件。-1:以Unicode格式打开文件。-2:以系统默认格式打开文件。6.5文件系统组件2. 使用TextStream对象的方法对文件进行读操作 6.5.2 读取文本文件读取文本文件 ts.Read(n) 读取指定数目(n)的字符并返回结果字符串 ts.ReadLine 读取一整行字符,并返回结果字符串 ts.ReadAll 读取全部TextStream文件并返回结果字符串 ts.Skip(n) 读取TextStream文件时跳过指定数目的字符 ts.SkipLine 读取TextStream文件时跳过一行6.5文件系统组件例2 读取文本文件内容6.5.2 读取文本文件读取文本文件 6.5文件系统组件1 使用FileSystemObject对象的方法操作文件6.5.3 文件操作文件操作 文件移动fso.MoveFile 原文件, 目标位置 文件复制fso.CopyFile 原文件, 目标位置 ,覆盖否 文件删除fso.DeleteFile 文件名 ,删只读文件否 检查文件的存在性fso.FileExists(文件名)6.5文件系统组件1 使用FileSystemObject对象的方法操作文件6.5.3 文件操作文件操作 例例3 复制文件并将原文件删除6.5文件系统组件2 使用File对象的方法操作文件6.5.3 文件操作文件操作 文件移动fo.Move 目标位置 文件复制fo.Copy 目标位置 ,覆盖否 文件删除fo.Delete ,删只读文件否 先使用FileSystemObject对象的GetFile方法得到File对象。Set fo=fso.GetFile(文件名)6.5文件系统组件2 使用File对象的方法操作文件6.5.3 文件操作文件操作 例例4 复制文件并将原文件删除 6.5文件系统组件3 获取文件特征6.5.3 文件操作文件操作 使用File对象的属性获取文件的一些特征。 Attributes属性:设置或返回文件的属性。 DateCreated属性:返回指定的文件的创建日期和时间。 Path属性:返回指定文件的路径。 Size属性。返回文件的字节数。 Type属性。返回文件的类型信息。6.5文件系统组件3 获取文件特征6.5.3 文件操作文件操作 使用File对象的属性获取文件一些特征。 6.5文件系统组件1 使用FileSystemObject对象的方法操作文件夹6.5.4 文件夹操作文件夹操作 复制文件夹fso.CopyFolder 原文件夹, 目标位置 ,覆盖否 创建文件夹fso.CreateFolder(文件夹) 文件夹移动fso.MoveFolder 原文件夹, 目标位置 文件夹删除fso.DeleteFolder 文件夹 ,删只读否6.5文件系统组件1 使用FileSystemObject对象的方法操作文件夹6.5.4 文件夹操作文件夹操作 返回指定文件夹相应的Folder对象Set flo=fso.GetFolder (文件夹) 检查指定的文件夹是否存在fso.FolderExists(文件夹) 返回父文件夹fso.GetParentFolderName (文件或文件夹) 6.5文件系统组件1 使用FileSystemObject对象的方法操作文件夹6.5.4 文件夹操作文件夹操作 例例5 文件夹操作6.5文件系统组件2 使用Folder对象的方法操作文件夹6.5.4 文件夹操作文件夹操作 文件夹移动flo.Move 目标位置 文件夹复制flo.Copy ,覆盖否 文件夹删除flo.Delete ,删只读否6.5文件系统组件2 使用Folder对象的方法操作文件夹6.5.4 文件夹操作文件夹操作 例6 文件夹操作 6.5文件系统组件3 Folder对象的属性6.5.4 文件夹操作文件夹操作 Files属性:返回指定文件夹中所有File对象组成的Files集合。 SubFolders属性:返回指定文件夹中所有子文件夹组成的Folders集合。 ParentFolder属性:返回指定文件夹的父文件夹。6.5文件系统组件3 Folder对象的属性6.5.4 文件夹操作文件夹操作 IsRootFolder属性:检查指定的文件夹是不是根文件夹。 Name属性:设置或返回指定的文件夹的名称。 Size属性:返回指定文件夹中所有文件和子文件夹的字节数。6.5文件系统组件3 Folder对象的属性6.5.4 文件夹操作文件夹操作 例例7 Folder属性示例6.5文件系统组件1 使用FileSystemObject对象获取驱动器信息6.5.5 驱动器操作驱动器操作 Drives属性:返回由本地机器上所有Drive对象组成的Drives集合。 DriveExists方法:检查指定的驱动器是否存在。 GetDriveName方法:返回指定路径中驱动器名的字符串。6.5文件系统组件2 使用Drive对象获取驱动器信息6.5.5 驱动器操作驱动器操作 AvailableSpace属性:返回指定驱动器的可用空间大小。 DriveLetter属性:返回本地驱动器或网络共享的驱动器号。 DriveType属性:返回一个描述指定驱动器的类型的值。使用FileSystemObject对象的GetDrive方法获得Drive对象。Set drv=fso.GetDrive (驱动器字符串)0表示未知类型1表示可移动磁盘2表示固定磁盘3表示网络共享4表示CD-ROM5表示RAM磁盘。6.5文件系统组件2 使用Drive对象获取驱动器信息6.5.5 驱动器操作驱动器操作 FileSystem属性:返回指定的驱动器使用的文件系统的类型,可能的文件系统类型为FAT、FAT32、NTFS和CDFS。 FreeSpace属性:返回指定的驱动器或网络共享对于用户的可用空间大小。 IsReady属性:检查指定的驱动器就绪,如果已就绪。 6.5文件系统组件2 使用Drive对象获取驱动器信息6.5.5 驱动器操作驱动器操作 SerialNumber属性:返回十进制的磁盘序列号。 ShareName属性:返回指定的驱动器的网络共享名。 TotalSize属性:返回驱动器的总字节数。 VolumeName属性:设置或返回指定驱动器的卷标。6.5文件系统组件2 使用Drive对象获取驱动器信息6.5.5 驱动器操作驱动器操作 例例8 Drive对象属性示例6.6ActiveX组件的开发与使用使用ActiveX组件,可以极大的增强ASP技术的Web程序设计功能,另外还有保护代码、加快应用程序执行速度的作用。我们可以使用Visual C+、Visual Basic和Delphi等程序设计语言自己开发ActiveX组件或使用由第三方开发的ActiveX组件。6.6ActiveX组件的开发与使用使用Visual Basic 6.0,新建“ActiveX DLL”工程,为新建的类增加属性和方法,并为这些属性和方法编写相应的代码,最后使用“文件”菜单中的“生成Test.dll(K)”,完成组件创建。6.6.1 组件开发的方法组件开发的方法 使用Regsvr32对生成的组件进行注册,组件注册成功后,即可在ASP代码中使用。使用方法同ASP内置组件。第三方组件的注册使用与此相同。6.6.2 组件的注册和使用组件的注册和使用 第第7章章 ActiveX数据对象数据对象 第第7章章 ActiveX数据对象数据对象7.1 ActiveX数据对象概述数据对象概述 7.2 Connection 对象对象7.3 RecordSet 对象对象 7.4 Command 对象对象 7.1.1 ActiveX数据对象的七个独立对象数据对象的七个独立对象 7.1 ActiveX数据对象概述数据对象概述 Recordset对象:用于管理查询返回的记录集。 Connection对象:用于建立与数据源的连接。 Field对象:代表一个记录集中的一个列。 Command对象:用于定义将对数据源执行的命令。 Property对象:由数据提供者定义的ADO动态属性。 Parameter对象:代表存储过程或有参数查询中的一个参数。 Error对象代表对ADO对象操作时所发生的错误信息。7.1.2 ActiveX数据对象的四个集合数据对象的四个集合 7.1 ActiveX数据对象概述数据对象概述 Parameters集合 :所有Parameter对象的集合。Command对象中包含有一个Parameters集合。 Properties集合:用来保存与Connection、Command、Recordset和Field对象有关的各个Property对象。 Fields集合:所有Field对象的集合。该集合关联着一个Recordset对象的所有列。 Errors集合:所有Error对象的集合。对ADO对象的操作可能产生一个或多个错误,每当错误发生时,就将一个或多个Error对象放置到Errors集合中。7.1.3 使用使用ADO访问数据库访问数据库 7.1 ActiveX数据对象概述数据对象概述 创建数据源提供者支持的SQL命令语句。 首先创建Connection对象实例,然后使用Connection.Open方法建立与数据库的连接。 执行命令,完成数据库操作或返回Recordset对象。 若返回Recordset对象,对Recordset对象进行定位、添加、删除和更新等操作。7.1.4 常用常用SQL语句语句SQL(Structured Query Language)是关系数据库操作的标准语言,它由4部分组成。7.1 ActiveX数据对象概述数据对象概述 数据操纵语言(DML):用于操纵数据库中各种对象。 数据定义语言(DDL):定义数据库及其中的各种对象。 数据控制语言(DCL):用于安全管理,确定用户权限。 数据查询语言(DQL):用于从数据库表中检索数据。SQL语言用9个动词完成数据定义、数据操纵、数据控制和数据查询功能。这9个动词是Create,drop,alter,insert,update,delete,grant、revoke和select。1. CREATE DATABASECREATE DATABASE DBNameDBName要符合标识符的命名规则。2. CREATE TABLECREATE TABLE TABName (colname datatype, )TABName必须符合标识符命名规则,datatype可以是系统数据类型或用户定义数据类型。7.1 ActiveX数据对象概述数据对象概述 7.1.4 常用常用SQL语句语句示例数据库示例数据库STUDENT.MDB中,中,SCORE表的结构表的结构3. INSERTInsert Into Tabname(colnamelist) Values (valuelist)4. DELETEDELETE FROM TABName WHERE Condition例:给表score增加一条记录。例:删除表score姓名为张三的记录。Insert Into scroe Values (20060356,张三,5,88)DELETE FROM score WHERE name=张三7.1 ActiveX数据对象概述数据对象概述 7.1.4 常用常用SQL语句语句5. UPDATEupdate tabname set filedname=value where condition6. SELECTSelect distinct predicate table.field1expressionas alias From table alias, Where condition Group by. Having. Order by.例:修改张伟的CLASS为5。Update scroe Set Where name= 张伟7.1 ActiveX数据对象概述数据对象概述 7.1.4 常用常用SQL语句语句例:查询张伟的同班同学。Select name from score where ()Select class from score where name =“张伟”例:查询各班成绩最高的前三名同学。select name,grade from scoretop 3group by classorder by 2 desc7.1 ActiveX数据对象概述数据对象概述 7.1.4 常用常用SQL语句语句7.2 Connection 对象对象 Connection对象代表一个打开的与数据源的连接。如果是客户端/服务器数据库系统,Connection对象等价于到数据库服务器的实际网络连接。使用Connection对象可以实现与Oracle、Microsoft SQL Server、DB2和Access等数据库的连接,也可以通过SQL语句对所连接的数据库进行多种操作。7.2.1 创建创建 Connection Object1. ConnectionString设置或返回建立数据库连接的信息。cn.ConnectionString=”参数1=值; 参数2=值; ”2. ConnectionTimeout 设置或返回建立数据库连接等待时间(s)。默认值为15。 7.2.2 Connection对象的属性对象的属性Set cn=server.createobject(”adodb.connection”)7.2 Connection 对象对象 7.2.2 Connection对象的属性对象的属性3. State 返回连接状态信息。返回值是一个长整型数字,返回下列常量之一:AdStateClosed:表示该对象是关闭的。AdStateOpen:表示该对象是打开的。上述符号常量包含在文件adovbs.inc中。7.2 Connection 对象对象 7.2.3 Connection对象的方法对象的方法1. OpenCn.Open ConnectionString, UserID, Password , OpenOptoins2. CloseCn.CloseSet Cn=Nothing7.2 Connection 对象对象 7.2.3 Connection对象的方法对象的方法3. Execute Cn.Execute CommandText, RecordsAffected, Options Set objrs=Cn.Execute(CommandText, RecordsAffected, Options)字符串,可以是SQL语句、表名、存储过程或特定提供程序的文本。可选参数,返回操作所影响的记录数。指定CommandText参数类型:adCmdText:CommandText为命令文本,如SQL。adCmdTable:CommandText为表名。adCmdStoredProc:CommandText为存储过程。adCmdUnknown:CommandText命令类型未知。7.2 Connection 对象对象 7.2.4 使用使用Connection对象对象 使用ADO访问数据库,有两种途径。一是通过ODBC,一是通过OLE DB 。1 通过OLEDB连接SQL Server数据库Connection.ConnectionString = & _ Provider=SQLOLEDB; & _ Data Source=ServerName; & _ UID=UserName;PWD=Password; & _ DATABASE=DatabaseName7.2 Connection 对象对象 2 通过OLEDB连接Access数据库Connection.ConnectionString = & _ Provider=Microsoft.Jet.OLEDB.4.0; & _ Data Source=dbname; & _ Jet OLEDB:Database Password=pw7.2 Connection 对象对象 7.2.4 使用使用Connection对象对象2 通过OLEDB连接Access数据库例例:建立到数据库student.mdb的连接。7.2 Connection 对象对象 7.2.4 使用使用Connection对象对象7.2.4 使用使用Connection对象对象例例:删除数据库student.mdb表score中grade小于60的记录,并给出删除的记录数。7.2 Connection 对象对象 7.2.4 使用使用Connection对象对象例例:编写站点注册程序,注册用户数据存放在system.mdb数据库的userinfo表中,表结构如下图。7.2 Connection 对象对象 7.2.4 使用使用Connection对象对象注册程序注册程序-接收客户端数据,并写入数据库中接收客户端数据,并写入数据库中。7.2 Connection 对象对象 7.3 RecordSet对象Recordset对象表示来自基本表或命令执行结果的记录集。在任何情况下,该对象所指的当前记录均为集合内的单个记录。使用Recordset对象可以操作来自不同数据库提供程序的数据,并可完成所有的数据操作。所有Recordset对象中的数据在逻辑上由记录(行)和字段(列)组成。在创建并打开Recordset对象之前,必须存在一个到数据库的有效连接(即一个打开的连接对象Connection)。打开Recordset对象后,即可使用Recordset对象对数据进行操作。7.3 RecordSet对象7.3.1 创建创建RecordSet对象对象1 通过通过Connection对象的对象的Execute方法得到记录集方法得到记录集例:将表例:将表SCORE中的中的CLASS为为“1”的记录返回给记录的记录返回给记录集集RS。strSQL=select * from SCROE where CLASS=1Set RS =Cn.Execute(strSQL)其中,其中,Cn为到数据库为到数据库Student.mdb的有效连接。的有效连接。使使用用该该方方法法打打开开的的记记录录集集是是向向前前移移动动的的记记录录集集,并并且且不不论论记记录录集集有有无无记记录录,记记录录集集的的RecordCount属属性性均均返返回回-1。7.3 RecordSet对象2 用用Recordset对象的对象的Open方法打开记录集方法打开记录集格式:Recordset.Open Source, ActiveConnection, CursorType, LockType, Options记录集对象名记录集对象名.OPEN SQL的的SELECT语句或表名语句或表名, 连接名连接名, 游标类型游标类型 , 锁类型锁类型 , 选选项项例:将表例:将表SCORE中的中的CLASS为为“1”的记录返回给记录的记录返回给记录集集RS。Set Rs = Server.CreateObject(Adodb.Recordset)strSQL=select * from SCORE where CLASS=1RS.Open strSQL,Cn 7.3.1 创建创建RecordSet对象对象7.3 RecordSet对象7.3.2 RecordSet对象的属性对象的属性1 与打开与打开RecordSet对象相关的属性对象相关的属性 Source属性指定Recordset对象中记录的来源,可以是Command对象变量名、SQL语句、表名和存储过程等。=80%其中其中objRecordset为为Recordset对象变量名。对象变量名。7.3 RecordSet对象7.3.2 RecordSet对象的属性对象的属性1 与打开与打开RecordSet对象相关的属性对象相关的属性 ActiveConnection属性指定一个到数据库的有效连接,可以是Connection对象变量名。在打Recordset对象之前或打开Recordset对象时,指定该属性。其中其中ObjCn为到数据库的有效连接,为到数据库的有效连接,objRecordset为为Recordset对象对象变量名。变量名。7.3 RecordSet对象7.3.2 RecordSet对象的属性对象的属性1 与打开与打开RecordSet对象相关的属性对象相关的属性 CursorType属性指定打开Recordset对象时使用的游标类型,取值为:abOpenForwarOnly:仅向前游标。只能在记录中向前滚动(默认值)。:仅向前游标。只能在记录中向前滚动(默认值)。adOpenKeyset:键集游标。允许各种类型的移动。其它用户更新的记录:键集游标。允许各种类型的移动。其它用户更新的记录能体现出来,但插入和删除的记录不能体现出来。能体现出来,但插入和删除的记录不能体现出来。adOpenDynamic:动态游标。用于不依赖书签的各种类型的移动。其它:动态游标。用于不依赖书签的各种类型的移动。其它用户所做的更新、插入和删除都能体现出来。用户所做的更新、插入和删除都能体现出来。adOpenStatic:静态游标。允许各种类型的移动,支持书签,也称为快照:静态游标。允许各种类型的移动,支持书签,也称为快照游标。只反映打开时的状态,不能反映对其的更新、插入和删除效果。游标。只反映打开时的状态,不能反映对其的更新、插入和删除效果。7.3 RecordSet对象7.3.2 RecordSet对象的属性对象的属性1 与打开与打开RecordSet对象相关的属性对象相关的属性 LockType属性指定打开Recordset对象时使用的锁定类型,取值为:adLockReadOnly:只读锁定。默认值,无法更改数据。:只读锁定。默认值,无法更改数据。adLockPessimistic:保守式锁定。编辑记录时立即锁定数据源的:保守式锁定。编辑记录时立即锁定数据源的该记录。该记录。adLockOptimistic:开放式记录锁定,只在调用记录集的:开放式记录锁定,只在调用记录集的Update方法时才锁定记录。方法时才锁定记录。adLockBatchOptimistic:批量开放式锁定。用于批更新。:批量开放式锁定。用于批更新。ADO符号常量:参数符号常量数值游标类型 adOpenForwardOnly0(默认值)adOpenKeyset1adOpenDynamic2adOpenStatic3锁定类型adLockReadOnly1(默认值)adLockPessimistic2adLockOptimistic3adLockBatchOptimistic47.3 RecordSet对象7.3 RecordSet对象7.3.2 RecordSet对象的属性对象的属性2 与与RecordSet对象中记录定位相关的属性对象中记录定位相关的属性 AbsolutePosition属性设置或返回当前记录在Recordset对象中的序号。例 将当前记录的序号赋值给变量X。X=RS. AbsolutePosition例 将记录指针定为到序号为8的记录。RS. AbsolutePosition=87.3 RecordSet对象7.3.2 RecordSet对象的属性对象的属性2 与与RecordSet对象中记录定位相关的属性对象中记录定位相关的属性(2) Bookmark属性设置或返回在Recordset中唯一标识当前记录的书签。例 将当前记录处的书签赋给变量BM。BM=RS. Bookmark例 使有书签BM的记录成为当前记录。RS. AbsolutePosition=BM7.3 RecordSet对象7.3.2 RecordSet对象的属性对象的属性2 与与RecordSet对象中记录定位相关的属性对象中记录定位相关的属性(3) BOF和EOF属性仅当当前记录在第一条记录之前时,BOF属性值才为True。仅当当前记录在最后一条记录之后时,EOF属性值为True。该属性一般用来遍历整个记录集。当打开一个空记录集时,这两个属性均为True。7.3 RecordSet对象7.3.2 RecordSet对象的属性对象的属性3 RecordCount属性属性返回Recordset中记录的数目。仅向前游标不支持 RecordCount属 性 , 动 态 游 标 是 否 支 持RecordCount属性,与数据提供者有关。当ADO无法确定记录数时,该属性返回-1。7.3 RecordSet对象7.3.3 RecordSet对象的集合对象的集合Recordset对象有且只有一个Fields集合,该集合由一些Field对象组成,Field对象的个数由Fields集合的count属性确定。每个Field对象对应于Recordset对象中的一列,也就是数据库表中的一个字段。使用Field对象的Value属性(默认属性,可省略)可以设置或返回当前记录的字段值,使用Field对象的Name属性可以返回字段名。7.3 RecordSet对象7.3.4 RecordSet对象的方法对象的方法1 OPEN方法方法Open方法用于打开一个记录集。语法格式为:RS.Open Source,ActiveConnection,CursorType,LockType,Options其其中中RS为为Recordset对对象象变变量量名名,Source, ActiveConnection, CursorType, LockType和和Options是是打打开开Recordset对对象象时时所所需需的的参参数数。当当给给Recordset对对象象指指定定这这些些参参数数所所 要要 求求 的的 属属 性性 Source, ActiveConnection, CursorType和和LockType后后,可可不不加加任任何何参参数数打打开开Recordset对对象象。Options参参数数指指定定提提供供者者Source参参数数的的类类型型,如如表表、SQL语语句句等等,取取值值可可以以为为adCmdTable/adCmdText等。等。7.3 RecordSet对象7.3.4 RecordSet对象的方法对象的方法2 CLOSE方法方法使用Close方法关闭Recordset对象 。语法格式为:RS.Close关闭Recordset对象的同时释放相关联的数据和可能已经通过该特定Recordset对象对数据进行的独立访问。关闭Recordset对象后,该对象变量并没有从内存中删除。使用下面的语句将该对象完全从内存中删除。Set RS=nothing7.3 RecordSet对象7.3.4 RecordSet对象的方法对象的方法3 改变改变RecordSet对象当前记录的方法对象当前记录的方法 Move方法用于将Recordset对象中指向当前记录的指针向前(或向后)移动一定的数目,使之成为新的当前记录。 MoveFirst方法使Recordset中的第一条记录成为当前记录。7.3 RecordSet对象7.3.4 RecordSet对象的方法对象的方法3 改变改变RecordSet对象当前记录的方法对象当前记录的方法 MoveLast方法使Recordset中的最后一条记录成为当前记录。 MoveNext方法使Recordset中当前记录的下一条记录成为当前记录。 MovePrevious方法使Recordset中当前记录的上一条记录成为当前记录。7.3 RecordSet对象7.3.4 RecordSet对象的方法对象的方法3 改变改变RecordSet对象当前记录的方法对象当前记录的方法 Find方法用于在Recordset中搜索满足指定条件的记录。可选择指定搜索方向、起始记录和从起始记录的偏移量。如果搜索到满足条件的记录,则该记录成为当前记录;否则将把当前记录的位置设置为Recordset的结尾(或开始)处,即EOF(或BOF)属性为True。语法格式为:ObjRecordset.Find Criteria, SkipRows,SearchDirection, Start 7.3 RecordSet对象7.3.4 RecordSet对象的方法对象的方法4 更新、删除和增加记录的方法更新、删除和增加记录的方法 AddNew方法用于在Recordse中添加记录。有两种使用格式:第一种格式为:ObjRecordset.AddNew第二种格式为:ObjRecordset.AddNew Array(字段名1,字段名2,) , Array(字段值1,字段值2,)7.3 RecordSet对象7.3.4 RecordSet对象的方法对象的方法4 更新、删除和增加记录的方法更新、删除和增加记录的方法RS.AddNew RS.FIELDS(“SN)=200601023456RS.FIELDS(“NAME)=张三RS.FIELDS(“CLASS)=5RS.FIELDS(“GRADE)=88RS.UpdateRS.AddNew Array(“sn”,“name”,“class”,“grade”) _ ,Array(200601023456,张三张三,5,88)方法一方法二7.3 RecordSet对象7.3.4 RecordSet对象的方法对象的方法4 更新、删除和增加记录的方法更新、删除和增加记录的方法 Update方法用于保存对当前记录所做的所有更改,移向其他记录时自动调用该方法。 CancelUpdate方法用于取消对当前记录或新记录所做的任何更改,必须在调用Update方法或移向其他记录前调用。RS.FIELDS(“grade”)=90RS.Update7.3 RecordSet对象7.3.4 RecordSet对象的方法对象的方法4 更新、删除和增加记录的方法更新、删除和增加记录的方法 UpdateBatch方法UpdateBatch方法将所有挂起的批更新写入磁盘。 Delete方法用于删除打开的Recordset对象中的当前记录。例 删除记录集RS中的当前记录RS.Delete7.3 RecordSet对象7.3.4 RecordSet对象的方法对象的方法4 SAVE方法方法用于将Recordset中的记录保存成其它格式的文件。语法格式为:ObjRecordset. Save Filename , Format其中ObjRecordset为Recordset对象变量名。Filename指定保存记录集的完整文件名 。Format指定保存Recordset对象中记录的格式(XML或ADTG)。保存到其它文件格式中的内容可使用RrecordSet对象的Open方法恢复到RrecordSet对象变量中。分页显示用到的属性:7.3 RecordSet对象7.3.5 RecordSet对象的分页显示对象的分页显示 PageSize:返回或设置每页的记录数。默认值为10。 PageCount:返回Recordset中所包含的页数。 AbsolutePage:返回或设置当前记录所在的页码。7.4 Command 对象对象Command对象封装了对数据源所执行的命令,包括SQL命令、存储过程等。虽然使用Connection对象和Recordset对象也可以执行一些对数据源的操作,但功能上要比Command对象弱。使用command对象可以预先把命令和参数存储在它的属性和集合中,最后再执行command对象的execute方法,它特别适用于参数化查询和存储过程。在使用Command对象之前,必须先调用Server对象的CreateObject方法创建Command对象,语法格式为:Set ObjCommand= Server.CreateObject(ADODB.Command)7.4.1 Command对象的属性对象的属性7.4 Command 对象对象1. ActiveConnection属性指定Command对象当前所属的Connection对象。该属性确定相关的数据库连接,设置或返回在其上将执行指定Command对象的Connection对象字符串。2. CommandText属性用于定义命令的可执行文本,即要发送给提供程序的命令文本。该属性可设置或返回包含提供程序命令的字符串,如SQL语句、表名称或存储过程名等。7.4.1 Command对象的属性对象的属性7.4 Command 对象对象3. CommandType属性指定命令类型以优化性能。该属性可以设置或返回以下某个值。adCmdText:1,指定的类型为SQL命令。adCmdTable:2,指定的类型为表的名称。adCmdStoredProc:4,指定的类型为存储过程名称。 adCmdUnknown:8,默认值,指定类型为未知。7.4.1 Command对象的属性对象的属性7.4 Command 对象对象4. CommandTimeout属性设置在终止尝试和产生错误之前执行命令期间需等待的时间,即提供程序等待命令执行的秒数,是一个长整型值,默认值为30秒。5. Name属性设置Command对象的名称,设置名称的格式为:ObjCommand.Name=CmdName7.4.2 Command对象的方法对象的方法7.4 Command 对象对象1. Execute方法执行在CommandText属性中指定的查询、SQL语句或存储过程。Execute方法的语法格式有两种形式。 返回Recordset对象:Set objRecordset = objCommand.Execute(RecordsAffected,Parameters,Options) 无返回值:objCommand.Execute RecordsAffected,Parameters,Options7.4.2 Command对象的方法对象的方法7.4 Command 对象对象2. CreateParameter方法Command对象有一个由Parameter对象组成的Parameters集合,Parameter对象代表基于参数化查询或存储过程的Command对象相关联的参数或自变量。通过创建Parameter对象并添加到Parameters集合中,可以向参数化查询和存储过程传递参数。CreateParameter方法用于创建新的Parameter对象,语法格式为:Set objparameter=objcommand.CreateParameter(Name, Type, Direction, Size, Value)参数Direction指定Parameter对象类型,值为下列之一:adParamInput:1,说明参数为输入参数(默认值)。adParamOutput:2,说明参数为输出参数。adParamInputOutput:3,说明参数为输入参数和输出参数。adParamReturnValue:4,说明参数为返回值。7.4.3 Command对象的对象的Parameters集合集合7.4 Command 对象对象Parameters集合由Parameter对象组成,它是Command对象拥有的所有Parameter对象的集合。它只有一个count属性,表示集合已经定义的Parameter对象的个数。使用Command对象的CreateParameter方法创建一个Parameter对象后,该对象并不会自动加入到Parameters集合。利用Parameters集合的方法管理Parameters集合中的Parameter对象。7.4.3 Command对象的对象的Parameters集合集合7.4 Command 对象对象 Append方法方法Append方法用于将Command对象的CreateParameter方法创建的Parameter对象加入到Parameters集合,语法格式为:objcommand.Parameters.Append objparm2. Delete方法方法Delete方法将Parameter对象从Parameters集合中删除,语法格式为:objcommand.Parameters.Delete Index7.4.3 Command对象的对象的Parameters集合集合7.4 Command 对象对象3.Refresh方法方法Refresh方法用来重新取得Parameters集合中的所有参数。使用Refresh方法,ADO可以在运行时自动填入命令所需要的所有参数信息。但该技术可能会降低性能,因为ADO必须查询数据源以获得关于参数的信息。7.4.4 Command对象的对象的Parameter对象对象7.4 Command 对象对象Parameter对象代表与参数化查询关联的参数,或输入/输出参数以及存储过程的返回值。用Name属性可设置或返回参数名称,使用Value属性可设置或返回参数值。使用Attributes和Direction、Precision、NumericScale、Size以及Type属性可设置或返回参数特性。使用AppendChunk方法可将长整型二进制或字符数据传递给参数。7.4.5 使用使用Command对象对象7.4 Command 对象对象 设置Command对象的ActiveConnection属性 设置Command对象的CommandText属性 设置Command对象的CommandType属性adCmdTextCommandText为命令文本,如SQL。1adCmdTableCommandText为表名。2adCmdStoredProcCommandText为存储过程。4adCmdUnknownCommandText命令类型未知。8按以下的步骤使用Command对象: 设置Command对象的CommandTimeout属性 使用Command对象的Execute方法执行命令7.4.5 使用使用Command对象对象7.4 Command 对象对象例例:Student.mdb数数据据库库中中有有一一个个score表表,将将该该表表中中CLASS为为1的的同同学学的的GRADE加加5分分,并并将将结结果果以以表表格的形式显示出来。格的形式显示出来。例例: 使使用用参参数数化化查查询询的的方方法法,查查询询student.mdb数数据据库中库中score表中表中class为为1的记录并显示。的记录并显示。7.4.5 使用使用Command对象对象7.4 Command 对象对象例:使用参数化查询的方法,编写登录程序。例:使用参数化查询的方法,编写登录程序。7.4.5 使用使用Command对象对象7.4 Command 对象对象例例:在在rsgl数数据据库库中中建建立立存存储储过过程程upda,并并使使用用参参数数执行该存储过程,完成不同人员住址的更新。执行该存储过程,完成不同人员住址的更新。7.4.5 使用使用Command对象对象7.4 Command 对象对象第第8章章 电子文档管理系统的开发电子文档管理系统的开发v8.1 web应用程序的开发流程应用程序的开发流程v8.2 电子文档管理系统需求分析概述电子文档管理系统需求分析概述v8.3 电子文档管理系统系统设计电子文档管理系统系统设计v8.4 系统发布与测试系统发布与测试第第8章章 电子文档管理系统的开发电子文档管理系统的开发8.1 web应用程序的开发流程应用程序的开发流程 web应用程序开发的一般过程,包括软件可行性分析、需求分析、概要设计、详细设计、编码、测试以及发布7个阶段。 8.2 电子文档管理系统需求分析概述电子文档管理系统需求分析概述需求分析是指项目开发者深入理解用户软件开发的各种需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成完整开发计划的一个复杂过程。 8.2 电子文档管理系统需求分析概述电子文档管理系统需求分析概述通过对电子文档管理系统的调查研究,要求系统前台用户主要具备以下功能。显示用户信息功能 上传文件功能修改个人资料功能 创建目录功能查看目录功能 共享目录功能查询用户功能 使用帮助功能会员等级 退出登陆通过对电子文档管理系统的调查研究,要求系统管理员主要具备以下功能。用户等级管理功能 用户管理功能修改密码功能 退出登陆8.2.1 系统功能需求系统功能需求8.2 电子文档管理系统需求分析概述电子文档管理系统需求分析概述8.2.2 系统数据流分析系统数据流分析 根据用户对软件项目的各项功能需求,对系统整体和各个功能所需要的各种原始数据,以及该数据在本系统中可能的流动和变化过程,进行深入的分析。并将该过程以数据流程图的形式表现出来。8.2 电子文档管理系统需求分析概述电子文档管理系统需求分析概述8.2.3 数据项和数据结构数据项和数据结构 数据流图表达了数据与处理的管理,数据字典则是对系统中数据的详尽描述,它提供对数据库数据描述的集中管理。对数据库设计来说,数据字典是进行详细的数据收集和数据分析所获得的主要成果。 管理员信息管理员信息,包括的数据项有:用户名,用户密码。用户信息用户信息,包括的数据项有:ID,用户名,密码,年龄,性别,地址,邮箱,等级,IP地址,上传文件个数。8.2 电子文档管理系统需求分析概述电子文档管理系统需求分析概述8.2.4系统数据库分析系统数据库分析 数据库分析主要使用E-R图对系统中所有实体及实体之间的关系,进行描述,从而为设计数据库表做好准备工作。 8.3 电子文档管理系统系统设计电子文档管理系统系统设计 电子文档管理系统是一个典型的基于B/S架构的数据库应用程序,根据需求分析我们将系统分成前台功能模块和后台管理模块。8.3 电子文档管理系统系统设计电子文档管理系统系统设计8.3.1系统功能模块划分系统功能模块划分1. 系统前台模块系统前台模块8.3 电子文档管理系统系统设计电子文档管理系统系统设计8.3.1系统功能模块划分系统功能模块划分2. 系统后台模块系统后台模块8.3 电子文档管理系统系统设计电子文档管理系统系统设计8.3.2 数据库设计数据库设计 数据库概要设计是要根据需求分析的E-R关系图以及参考数据流图中的数据存储的要求,设计数据库的表名称以及表结构。必须对每个字段的类型以及功能提供详细说明,因为不同数据库管理系统提供的数据类型有些差异,所以应该指出这些数据类型对应的数据库管理系统。8.3 电子文档管理系统系统设计电子文档管理系统系统设计8.3.3 系统页面设计系统页面设计1. 前台用户界面设计前台用户界面设计8.3 电子文档管理系统系统设计电子文档管理系统系统设计8.3.4 系统详细设计系统详细设计 系统详细设计的目的是依据概要设计和需求分析文档,对系统各个模块的实现算法进行设计和描述,以便编码阶段的程序员能够快速的编写出程序代码。下面系统注册模块为例说明,系统详细设计方法和过程。1.模块名称:前台用户注册模块2. 网页文件名:reg.asp3. 文件路径:/reg.asp4. 功能描述:8.4 系统发布与测试系统发布与测试系统开发完成后,可按照第一章1.3.4 Web应用程序部署环境中所述的方法,将系统部署在WINDOWS+IIS的服务器或LINUX+APACHE服务器上。正式系统需发布在硬件配置较高的服务器,并且要求软件环境和网络带宽能够满足大量用户并发访问的需要。系统在正式发布之前需要进行大量的测试工作,并在发布之后再根据设计意图的变化和用户的反映不断地完善系统的结构并更新内容。系统测试可以及时地发现存在的问题。按照软件业通行的做法,系统在正式发布前进行两个不同的测试:Alpha测试和Beta测试。8.4 系统发布与测试系统发布与测试由于Web应用系统的特殊性,系统测试除检查网站的结构与设计方案是否吻合外,还要进行以下几方面的测试。v用户界面测试v功能测试v接口测试v兼容测试v负载测试v安全性测试
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号