网上在线投票系统的设计与实现毕业设计论文

网上在线投票系统的设计与实现毕业设计论文
网上在线投票系统的设计与实现毕业设计论文

目录

摘要 (1)

ABSTRACT (2)

前言 (3)

第1章绪论 (4)

课题背景 (4)

课题目的和意义 (4)

系统结构 (5)

课题主要工作 (5)

第2章系统的需求分析 (6)

系统总体分析 (7)

系统的功能分析 (7)

数据库需求分析 (7)

系统可行性分析 (7)

系统安全性分析 (8)

第3章系统概要设计 (8)

软件运行环境设计 (9)

系统设计目标 (9)

系统模块设计 (9)

系统数据库设计 (10)

3.4.1 管理员信息表 (10)

3.4.2投票主题表 (11)

3.4.3投票选项表 (11)

3.4.4投票者信息表 (12)

3.4.5系统配置表 (12)

3.4.6创建触发器 (13)

系统文件说明 (13)

第4章系统详细设计与实现 (13)

系统设计的相关技术 (14)

4.1.1 A动态网页技术 (14)

4.1.2 A对象概述 (14)

4.1.3 A常用对象 (15)

4.1.4 A概述 (19)

4.1.5 SQL Server 2000 (20)

系统设计总体思路 (22)

系统总流程图 (23)

系统主页面 (24)

系统管理模块 (25)

投票管理模块 (26)

4.6.1投票信息管理界面的实现 (26)

4.6.2投票主题的添加 (27)

4.6.3投票主题的修改 (27)

4.6.4投票主题的删除 (28)

4.6.5投票选项的管理 (29)

4.6.6投票选项的添加 (30)

4.6.8投票选项的删除 (31)

4.6.9投票系统的配置 (31)

4.6.10管理员密码的修改 (32)

投票结果显示页面 (32)

第5章系统调试与扩充 (33)

测试环境 (33)

调试中遇到的问题和解决方法 (33)

系统扩充 (34)

结束语 (34)

参考文献 (36)

致谢 (37)

部分程序的核心源代码 (38)

网上在线投票系统的设计与实现

摘要:网上在线投票系统在我们的日常生活中应用得十分广泛,特别是在21世纪作为internet和web的世界。网络上很多的评选活动都是通过网上投票系统来实现的,如娱乐网站投票评选用户最喜欢的明星、音乐网站投票评选出歌曲排行榜等等。网上投票系统让用户投票方便,也让投票统计结果变得迅速,还能及时了解用户的意见及建议。这对于传统纸质的调查节省了人力物力,正因为如此,在线投票系统能得以如此广泛的使用。

对网上在线投票系统的实现,网络安全是我们首要解决的问题,比如说用户权限的限制、防止用户修改投票数据、防止用户任意的重复投票等。下文将介绍一个在IIS服务器上用设计的功能相对简单的网上在线投票系统。

关键词:在线投票系统;网络安全;

The Design and Implementation of network

online voting system

Abstract:Online voting system is applied in a broad in our daily life, especially when 21 century is considered as the world of internet and web. On the Internet,many of the activities are selected by online voting system to achieve the results, Such as the vote selection of the most like star in the entertainment site, the vote selection of song list in the music site, etc. It is convenience for users to vote by online voting system, and users can acquire the rapid results. What’ s more,users’s views and suggestion can gathered rapidly .Comparing with the traditional paper-based survey,it saves personnel and resource, That is why the online voting system can be so widely used.

But the biggest problem of the online voting system we must solve is the network security, For example, the user privileges must be limitted, you must prevent users modify the voting data and prevent any repeated voting of following Papers will introduce a relatively simple on-line voting system on an IIS server designing by the

Keywords:Online voting system;network security;

前言

随着Internet的高速发展,基于网络B/S(Browser/Server)结构的应用程序得到越来越广泛的应用。B/S结构应用程序的客户端只需要一个浏览器,而将所有的业务规则、数据处理等工作放在服务器端进行,这是一种非常适合Internet的结构。

网络技术的发展,网页的应用范围逐步扩大,Microsoft公司推出的(Active Server Pages,动态服务器网页)技术的网络应用平台,已经被广泛的编程人员采纳。可以开发出满足企业、组织和个人要求的各种网站,的主要特性是能够把脚本、HTML、组件和强大的Web数据库访问功能结合在一起,形式一个能在服务器上运行的应用程序,并按用户的要求专门制作的HTML页面传送给客户端浏览器。

互联网日益广泛的使用,各种互联网业务在国内的迅速普及,使得网上在线投票系统在许多网络应用中得到了十分广泛的使用。网上在线投票在网络活动中非常常见,网络上很多的评选活动都是通过网上在线投票系统来实现的。如新闻网站投票评选用户最感兴趣的新闻;音乐网站投票评选出歌曲排行榜;还有各种各样“最佳”的评选,都是通过投票来进行的。

网上在线投票比起传统的人工投票,优势是显而易见,网上在线投票方便,用户通过网络在家中就可以投出自己的一票,而统计者可以利用数据库,通过计算机很快地得出想要的结果。这样不仅节省很多时间,也节省了很多资源。

网上在线投票系统相对其他设计系统来说是一个小系统,它要实现的功能简单明了,但它所涉及的技术还是比较广泛的。只是它所需要的SQL Server、和IIS安装配置及它们在网络系统开发中结合使用的知识都相对简单,而这些知识都出现较早且得到了很广泛的应用,技术上相对成熟,因此在整个网上在线投票系统设计中遇到的很多问题都可以在网上找到解决方法,整个系统开发难度不是很大。

对于网上在线投票系统来说,整个系统关键的还是对投票各方面进行管理和信息处理的模块,如投票主题管理、同一个主题下的投票项管理、对用户投票信息进行分析处理等。实现此系统过程中需要解决的最大问题是网络安全问题,比如说用户权限的限制,防止用户修改投票数据、防止用户任意的重复投票等,只有解决了这个问题,才能得到有意义的投票结果。

本文将介绍一个功能简单的网络投票系统,该投票系统不限制的用户,只要登录到该网站即可参与投票和查看投票结果。

第1章绪论

课题背景

在现在的大部分网站中,都采用了网上投票的形式来获得用户对该网站的评价。不只是对于网站的评价,对一些热点事件、新闻,也采用了网上投票来了解大众的看法,网上投票是目前网上比较普遍的一个功能,用户可以在Internet上直接投票,并可以立刻查看投票结果。一方面,用户投票比较方便;另一方面,用户和管理员都可以通过查看投票结果分析投票结果。

近几年来,基于TCP/IP的技术以非同寻常的速度被广泛应用于处类企业,其中一个很重要的手段就是建立WEB站点发布信息。传统的的静态网页技术已越来越不能满足用户的需求,因此各种动态网页技术应运而生。ASP就是其中的一种,而是微软新一代的动态网页技术。与其它编程技术对比,它有如下的优势:

1.面向对象性

C#是一种面向对象语言,在很多方面来看,C#将成为微软与JA V A相似的语言。

C#是开发中一个最重要的开发工具,微软将C#发展成为JA V A的强劲对手。

这也是微软.NET框架的一个重要组成部分,C#是微软在编程市场上击败对手的主要工具。

2.大型站点应用

将对大型站点有更好的支持。可以让用户考虑到多服务器的场合,当用户需要更强大的功能时,仅仅需要增加一台服务器即可。整个.NET框架已经充分地提供了这个方法。另外,由于请求的各个组件相互间经过了充分的优化,所以速度很快。

还提供更多的其他方面的新特性,例如:

(1)内置的对象缓存和页面结果缓存。

(2)内置的XML支持,可用于XML数据集的简单处理。

(3)服务器控制提供了更充分的交互式控制。

课题目的和意义

目前的投票系统采用ASP、等技术的。基于ASP和脚本语言的是将动态网页和数据库结合,通过应用程序来处理。但是由于ASP本身的局限性使得系统有一些不可克服的缺陷,而采取了技术的系统性能上有了很大的改善,其主要表现在以下几方面:1.由于ASP页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开

时速度没有任何提升,而页面只需要一次编译后不需要重新编译,直到该页面被修改或WEB应用程序重新启动。这使得在多次访问时速度有了极大的提升。

2.由于ASP没有提供任何输出数据为内容的元件,所以在使用ASP撰写数据库页面时只能借助ADO的RecordSet对象逐笔读取记录,而通过提供的DataGrid等数据库元件可以直接和数据库联系。

3.支持应用程序的实时更新。管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。应用程序永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖。当文件更新后,系统会自动转换到新的版本。

4.采取code-behind的方式编写代码使得代码更易于编写,结构更清晰,降低了系统的开发与维护的复杂度和费用。

系统结构

系统设计中服务器端采用的操作系统为Windows XP、Web服务器为IIS 、数据库采用SQL Server 2000。采用+SQL Server 2000来进行系统开发。整个系统结构较简单,正确安装和配置IIS,建立好数据库,便可在浏览器中通过相应路径访问网页进入系统,进行投票管理、参与投票、查看投票结果,十分简便。

本投票系统包括5个主要模块:管理员登录模块、用户投票模块、投票主题管理模块、投票项管理模块和系统配置模块。

管理员登录及管理模块需要完成的功能是管理员身份验证。只有登录的管理员才能对投票主题等进行管理,修改密码。

投票模块完成的功能是显示投票项、更新数据库、显示投票结果。

投票管理模块完成的功能是能够增加、修改和删除投票主题和投票主题的各选项。课题主要工作

课题主要工作是如何通过+SQL Server建立起一个功能相对完善在线投票系统。投票系统主要是实现投票模块和投票管理模块,实现此系统最大的问题是解决相应的网络安全问题,如防止用户任意的重复投票等问题。以下将要进一步介绍的课题针对诸如此类的问题做的一定的探索和解决。

本文共分如下六部分:

第一章是绪论,介绍了本课题的研究背景及研究的目的和意义,概述了网上在线投票系统的架构,并提出了论文的研究内容。

第二章是在线投票系统的需求分析,包括系统总体分析、系统功能分析、系统数据库需求分析,系统可行性分析和系统的安全性分析。

第三章是系统概要设计,简述了系统设计目标、系统的组成、软件运行环境、各模块功能及其实现流程的简单概括、数据库设计与连接、系统文件说明。

在第四章是系统的详细设计,对系统进行了详细设计,详细阐述了开发项目相关技术,各个模块的功能与实现方法步骤。

第五章是系统的调试结果,对在系统设计中碰到的问题及解决办法做了一个说明。

最后,对全文进行了总结,提出在系统设计中值得思考的问题与收获,并附上参考文献和致谢。

第2章系统的需求分析

系统总体分析

在线投票功能是网站应用程序最常用的功能之一,也是网站应用程序开发常用的功能模块。当网站的管理员或用户提出一些新的想法与建议或者出现一种新产品时,他们可能需要通过用户或者客户的投票方式来确定这些新的想法、建议或者新的产品是否满足用户或者客户的需求,另外,网站还可以通过网上在线投票功能做一些实际性的调查工作。这里所设计的这个基于的网上在线投票系统主要分为5个主要模块:管理员登录模块、用户投票模块、投票主题管理模块、投票项管理模块和系统配置模块。

系统的功能分析

网上在线投票系统实现了用户在上直接投票的功能,并且还能够查看投票结果。系统实现的功能具体描述如下:

本系统实现的功能比较简单,主要包括以下几个功能:

1.禁止重复投票;

2.投票主题的管理;

3.投票选项的管理;

4.使用方形图显示投票结果;

5.用户在线投票;

6.配置投票参数。

数据库需求分析

本系统需要建立5张数据表,用于存放各个模块的数据,其中有:管理员表admin,投票者信息表voter,标题表votetitle,选项表voteitem,系统配置表voteconfig,还有一个触发器,用于当某个选项加一票时,该选项所属的投票主题加一。

系统可行性分析

1.技术可行性分析

在线投票系统使用简单的HTTP和TCP/IP协议,使用+SQL Server技术,这些技术都容易掌握,便于使用。

其中应用技术,不需要进行复杂的编程,就可以开发出专业的动态Web网站。技术的出现给Web带来了全新的动态效果,使其具有更加灵活和方便的交互性,并且在Internet中实现信息的传递和检索也越来越容易。

2.系统经济可行性分析

目前的互联网上网站数量非常多,在线投票作为一个小模块非常实用,它能为各网站统计用户意见,收集用户信息,为网站带来效益非常明显,加上其实现和使用都不复杂,所以设计在线投票在理论上是可行的。

系统安全性分析

考虑到在线投票系统是一个很实用的模块,在网络上使用用户众多,并且存储了大量的数据资料,这些数据对投票结果的统计是否准确很重要,因此系统的安全具有十分重要的意义。以下从系统安全软件的应用和系统的开发两个方面来确保系统的安全。

在系统安全软件方面,我们使用Windows 2000 Server搭配瑞星防火墙。防火墙技术是一种较为安全有效的防范技术。它通过在网络边界上建立起来的相应网络安全监测系统来隔离内部和外部网络,以确定哪些内部服务允许外部访问,以及允许哪些外部服务访问内部服务。通过隐藏内部网络的技术隔离内外网,并对进出内外网的数据进行控制来达到阻挡外部网络的入侵。

在系统设计上,我们按照安全模式思想,做到以下几个方面:

1.设置多种角色,实现不同用户对系统的不同的访问操作;

2.对系统用户的访问时间、访问协议、访问IP、访问流量进行过滤限制;

3.使用Session在页面之间安全传递参数。

通过系统软件的安全防护功能和在应用系统的开发中应用安全模式的思想,网上在线投票系统从Web服务器、数据库服务器和应用程序级几个层次建立了较好的安全防护机制。

第3章系统概要设计

软件运行环境设计

服务器端:

操作系统:Windows XP/Windows 2000。

Web 服务器:IIS 。

数据库:Access 2000或SQL Server 2000。

浏览器:IE ,推荐使用IE 。

分辨率:最佳效果1024×768像素。

客户端:

浏览器:IE ,推荐使用IE 。

分辨率:最佳效果1024×768像素。

系统设计目标

1.管理员可以设置是否禁止重复投票。如果禁止重复投票,则同一个IP 地址在规定的时间间隔内不可以再次投票,这通过一个记录IP 地址和投票时间的数据表来实现。

2.用户投票前后都可以查看投票结果,在投票结果页面可以详细看到每项投票的票数。投票票数以图形形式显示。

系统模块设计

本投票系统包括5个主要模块:管理员登录模块、用户投票模块、投票主题管理模块、投票项管理模块和系统配置模块。

1.用户投票模块完成的功能是显示投票项、记录用户投票选项、更新数据库、显示投票结果。用户投票流程图如图所示。

图 用户投票流程图 2.投票管理模块完成的功能是能够增加、修改和删除投票主题和投票主题各选项,投票管理模块又分为以下几个子模块:投票信息管理模块、修改系统配置模块和修改密码模块。投票管理流程图如图所示。 主界面 查看投票结果 投票

从数据库中读取投票结果并显示页面 得到投票 累加选票结果并更新数据库

图投票管理流程图

系统数据库设计

系统使用Microsoft的SQL Server 2000数据库系统。本系统使用的数据库名称为vote,启动SQL Server 2000,打开SQL查询分析器,输入:

Create database vote

执行该语句,使用默认设置建立起vote数据库。为了实现本系统,在vote数据库中建立5个数据表,以下各节将说明如何设计这5个数据表。

3.4.1 管理员信息表

管理员信息表admin中存储了系统管理员的资料。其中id字段存储ID,adminname 字段存储管理员名称,pwd字段存储管理员密码。admin表的字段名和数据类型如表所示。

表SQL Server 2000数据库管理员信息表admin

其中管理员可以对投票进行管理,而一般用户则只能进行投票和查看结果。admin 数据表各字段说明如表所示。

表admin数据表

字段名称数据类型说明

id int 主键,自动编号

主界面

投票信息管理

系统配置

修改密码

投票主题管理投票选项管理

adminname varchar 管理员姓名

pwd varchar 管理员密码

3.4.2 投票主题表

投票主题表votetitle中存储了投票主题内容等信息。其中titleid字段存储主题ID,title字段存储主题的名称,total 存储主题的总票数。votetitle表的字段名和数据类型如表所示。

表SQL Server 2000数据库投票主题表votetitle

votetitle数据表各字段说明如表所示。

表votetitle数据表

字段名称数据类型说明

titleid int 主键,自动编号

title varchar 投票主题内容

total int 当前投票主题的票数

3.4.3 投票选项表

投票项目表voteitem中存储了具体投票选项的信息。其中titleid存储所属投票主题的ID,itemid字段存储投票选项的ID,item字段存储投票选项的内容,itemsum字段存储各投票选项的票数。voteitem表的字段名和数据类型如表所示。

表SQL Server 2000数据库投票选项表voteitem

voteitem数据表各字段说明如表所示。

表voteitem数据表

字段名称数据类型说明

itemid int 主键,自动编号

titleid int 外键,所属投票主题的ID号

item varchar 投票选项的内容

itemsum int 各选项的票数

3.4.4 投票者信息表

投票者信息表voter中存储了投票者的信息。其中titleid存储投票主题的ID,ip存储投票者的IP地址、votetime存储投票者最后一次的投票时间、votetimes存储投票者的投票次数。voter表的字段名和数据类型如表所示。

表SQL Server 2000数据库投票项目表voter

voter数据表各字段说明如表所示。

表voter数据表

字段名称数据类型说明

titleid int 主键,投票主题的id

ip varchar 主键,投票者的IP地址

votetime datetime 投票的时间

votetimes int 该投票者投票的次数

3.4.5 系统配置表

系统配置表voteconfig中存储系统的配置信息。其中id字段存储配置的ID,checkip 字段存储配置表的是否限制IP,checktime字段存储系统的间隔时间等信息。voteconfig 表的各字段名和数据类型如表所示。

表SQL Server 2000数据库投票配置表voteconfig

voteconfig数据表各字段说明如表所示:

表voteconfig数据表

字段名称数据类型说明

id int 主键,自动编号

checkip int 设置系统是否限制IP,1为不限制,0为限制

checktime int 时间间隔

3.4.6创建触发器

在voteitem表中创建触发器updatevotesum,创建语句如下:

create trigger updatevotesum

on voteitem

for update

as

begin

update votetitle set total=total+1 where titleid=(select titleid from inserted )

end

该触发器的条件是更新,也就是当voteitem表中的字段进行更新时触发。主要用于当选项增加一票时,该选项所属的投票主题的总票数加一。

系统文件说明

在本系统中,用户登陆及管理模块包括以下文件:、、、、、、等文件,具体文件的作用如下:

:管理员登录页面。

:投票主页面,显示投票主题和选项。

:投票结果显示界面

:投票主题管理页面,管理员在此页面添加、修改、删除投票主题。

:系统配置文件,设置系统的全局属性

:投票主题管理页面。管理员在此选择管理功能。

:投票选项页面,管理员在此页面添加、修改、删除投票选项。

:管理员密码修改页面,管理员在此修改密码。

第4章系统详细设计与实现

系统设计的相关技术

4.1.1 A动态网页技术

是新的、功能强大的服务器端技术,用于创建动态WEB页。是Microsoft公司的动态服务器页面(即ASP)和.NET这两个主要技术的集合。又叫ASP+,但并不仅仅是ASP的简单升级,而Microsoft推出的新一代Active Server Pages脚本语言。是微软发展的新型体系结构。吸收了ASP以前版本的最大优点并参照JA V A、VB语言的开发优势加入了许多新的特色。

基于Browser/Server模式的体系结构简介。

C/S结构,即Client/Server(客户机/服务器)结构,是我们熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通信开销,也可充分利用两端硬件的优势。

B/S结构,即Browser/ Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全可以通过WWW 浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务项目端实现。B/S 结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言和ActiveX技术,利用通用浏览器就实现了原本需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 2000/Windows xp 将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。B/S 结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。

4.1.2 A对象概述

.NET中包含的都是对象。.NET的一个重要特性就是从内部变量到功能全面的应用程序的所有事物都定义为显式的对象。.NET Framework主体就是一个对象类库,包含了上百个类,这些类提供了强大的功能,可以帮助完成各种任务,比如处理文件、监控网站性能,生成随机数等。在中要完成的许多工作、实现的许多功能都要用到这些类定义的对象。

下面将介绍.NET 类的组织形式(即命名空间),以及内置的对象。

1.命名空间

命名空间就是一组相似的类。为了便于用户方便查找类,.NET Framework使用了非常规范整齐的命名模式组织所有的类,即命名空间。用户使用的Web页面的类,包含在命名空间中,而命名空间被包含在system命名空间中。

的内置对象

的内置对象主要有Page、Response、Request、Server、Application、Session和Cookies 这7个对象。每个对象有自己的属性、方法和事件。属性用来描述对象的特性,方法用来执行对象的动作,事件是在符合某些条件的时候或某些情况发生的时候对象执行的动作。下面简要介绍一下这7个对象的主要功能和用途,如表所示。

表内置对象

对象名称对象说明

Page对象Web Form网页在执行的时候会被编译成Page对象,Page对象用来设置与网页有关的属性、方法和事件

Response对象Response对象用来决定服务器端在什么时候或如何输出数据到客户端Request对象Request对象用来捕获由客户端返回服务器的数据

Server对象Server对象提供服务器端最基本的属性和方法

Application对象Application对象用来记录不同客户端共享的变量

Session对象Session对象用来记录各客户端的专用变量

Cookies对象Cookies对象为Web应用程序保存访问者相关信息

4.1.3 A常用对象

1.页面对象

当客户端浏览器访问Web Form网页的时候,首先编译Web Form网页。Web Form 网页编译后创建新的类,这个类是从的Page类派生来的。新派生的Page类会变成一个能在服务器端执行的可执行文件。在运行阶段,Page类以动态方式创建HTML标记,并传送回浏览器,同时处理请求和响应,然后创建服务器控件。因此,Web Form网页被编译成了Page对象,并可以使用Page对象对象的属性、方法和事件。

Page对象的事件贯穿于Web Form网页执行的整个流程。因此,了解Page对象的属性、事件和方法并熟练运用,可以控制Web Form网页的执行过程,在Web Form执行过程中添加必要的事件处理程序以实现特定的功能。

2.输出对象Response

Response对象派生自HttResponse类,用来决定何时或如何将输出由服务器端发送到客户端。以下是Response对象比较重要的属性和方法。

(1)将输出发送到客户端

()方法是Response对象最简单也是最常用的方法,除了实现向浏览器输出信息的功能以外,此方法经常用在调试程序时显示变量的值。

(2)地址重定向

利用Response对象的Redirect方法可以地址重定向,使浏览器在显示页面后跳转到指定页面。

(3)直接输出文本文件

当有大量数据需要发送到客户端的时候,使用Write()方法会造成代码太长,影响其他程序的阅读性,这时应使用WriteFile()方法,将保存在文本文件中的内容发送到客户端。

3.输入对象Request

Request对象派生自HttpRequest类。使用该对象,可以捕获由客户端返回服务器端的数据,如用户所输入的表单数据、保存在客户机上的Cookie等。以下是Request对象常用的属性和方法。

(1)读取表单数据

由于客户端提交表单数据方式不同,Request对象读取表单数据的方式也不同。如果在HtmlForm控件中将Method属性设置为“Get”,表单数据将以字符串的形式附加在网址的后面并返回服务器端。此时,必须使用Request对象的QueryString属性来获取表单数据。

如果在HtmlForm控件中将Method属性设置为“post”,表单数据将存放在HTTP 报头(header)。此时,必须使用Request对象的Form属性来获取表单数据。

(2)取得客户端浏览器的信息

Request对象的Browser属性可以获取HttpBrowserCapabilites对象,Browser属性用来获取目前和服务器连接浏览器的信息。Browser属性是一个集合对象,属性很多。

(3)将指定的虚拟路径转换为实际路径

在实际应用中,经常需要将虚拟路径转化为实际路径。Request对象的MapPath方法可以解决该问题。

4.服务器对象Server

Server对象派生自HttpServerUtility类。它提供了服务器端基本的属性与方法,如可获取有关最新错误的信息、对HTML文本进行编码和解码、访问和读写服务器端文件。以下是Server对象常用属性和方法。

(1) Server对象的常用属性和方法

Page类也可以访问Server属性,此属性返回类型为HttpServerUtility的对象,它包含了一些非常有用的功能,如表所示。

表Server常用属性和方法

属性说明

MachineName 返回服务器端机器名

ScriptTimeout 返回请求超时的时间

HtmlEncode 对字符串参数编码,使其可以显示在浏览器中

HtmlDecode 此方法是HtmlEncode的逆过程,提前用HTML编码的字符MapPath 将虚拟路径转换为实际路径

UrlEncode 使用此方法向Web地址传递字符串

UrlDecode 使用此方法可以通过URL传递参数,然后再解码为普通字符串

(2)使用HtmlEncode和HtmlDecode方法实现特殊字符显示

Server对象提供的(string)可以进行字符串编码,使参数string不会被浏览器解释为HTML语法。

(3)使用UrlEncode和UrlDecode方法传递特殊字符

在使用网址传递数据时,经常会遇到一些特殊字符,如“#”和“&”。这些数据直接传递时,容易造成数据丢失。所以传递时,先将要传递的内容以UrlEncode编码,这样才可以保证所传递的值可以被顺利读到。UrlDecode方法是UrlEncode方法的逆过程,是将编码过的内容译码还原。

5.应用程序对象Application

Application对象可以生成一个Web应用程序能存取的变量。该变量可以供所有使用者调用。它可以用来记录整个网站的通用信息,如在线人数、在线名单以及投票统计等。

(1)Application对象的常用属性和方法

Add(name、value):新增一个名称为name、值为value的Application对象变量。

All:返回全部的Application对象变量到一个Object类型数组。

AllKeys:返回全部的Application对象变量名到一个字符串数组。

Clear():清除全部的Application对象变量。

Count:取得Application对象变量的数量。

Get():使用索引值或变量名称传回变量值。

GetKey():使用索引值获取Application对象变量。

Item:允许使用索引或Application对象名称传回内容值。

Lock():锁定所有的对象变量。

UnLock():解除锁定Application对象变量。

(2) 存取Application对象变量值

存取是Application对象的最基本操作。

(3)锁定Application对象

由于Application对象属于网站的全局变量,因此经常会出现多人同时访问和修改该对象的情况。为了避免两个会话同时修改Application对象,需要在修改前锁定Application对象。修改后再解锁Application对象。

(4)删除Application对象

由于Application对象长期占用服务器资源,因此应及时清理无用的Application变量。

6.会话对象Session

Session对象派生自HttpSessionState类。它用来存储用户跨网页程序的变量或对象。与Application对象不同,Session对象只针对单一用户,相当于用户的“局部”变量。

(1) Session对象的常用事件和方法

Abandon():结束Session对象并触发OnEnd事件。

Add(name、value):添加Session变量。名字为name,值为value。

Clear():删除所有Session变量。

Remove(name):删除名字为name的Session变量。

RemoveAll():删除所有Session变量。

RemoveAt(index):删除索引为index的Session变量。

OnEnd:在Timeout属性设置的时间内没有再读取网页或调用Abandon()方法会触发该事件,做清理工作。

OnStart :第一次读取网页的时候会创建Session对象,触发该事件。同一浏览器只会触发该事件一次。

(2)设定Session对象变量的有效期限

当浏览器第一次与服务器连接时,Session对象就被创建。当浏览器关闭或超过指定时间没有访问网页时,Session对象关闭。Session的Timeout属性可以设置该指定时间。

对象

与Session一样,Cookie也用来保存浏览者信息。不同之处是,Cookie的数据是保存在客户端上的。当用户再次访问某个站点时,Web程序就可以检索以前保存的信息。Cookie对象可以记录浏览者的个人信息、浏览器类型、何时访问该网站、从事过中些活

相关主题
相关文档
最新文档