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

上传人:夺命阿水 文档编号:1047242 上传时间:2024-03-04 格式:DOCX 页数:50 大小:288.32KB
返回 下载 相关 举报
网上在线投票系统的设计与实现_kaic.docx_第1页
第1页 / 共50页
网上在线投票系统的设计与实现_kaic.docx_第2页
第2页 / 共50页
网上在线投票系统的设计与实现_kaic.docx_第3页
第3页 / 共50页
网上在线投票系统的设计与实现_kaic.docx_第4页
第4页 / 共50页
网上在线投票系统的设计与实现_kaic.docx_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《网上在线投票系统的设计与实现_kaic.docx》由会员分享,可在线阅读,更多相关《网上在线投票系统的设计与实现_kaic.docx(50页珍藏版)》请在课桌文档上搜索。

1、摘要1ABSTRACT2前言3第1章绪论41.1 课题背景41.2 课题目的和意义41.3 系统结构51.4 课题主要工作51.5 论文结构5第2章系统的需求分析72.1 系统总体分析72.2 系统的功能分析72.3 数据库需求分析72.4 系统可行性分析72.5 系统安全性分析8第3章系统概要设计93.1 软件运行环境设计93.2 系统设计目标93.3 系统模块设计93.4 系统数据库设计103.4.1 管理员信息表103.4.2 投票主题表113.4.3 投票选项表113.4.4 投票者信息表123.4.5 系统配置表123.4.6 创建触发器133.5 系统文件说明134.1 系统设计的

2、相关技术144.1.1 ASRNET动态网页技术144.1.2 ASP.NET对象概述144.1.3 ASP.NET常用对象154.1.4 ADO.NET概述194.1.5 SQLServer2000204.2 系统设计总体思路224.3 系统总流程图244.4 系统主页面254.5 系统管理模块254.6 投票管理模块264.6.1 投票信息管理界面的实现274.6.2 投票主题的添加274.6.3 投票主题的修改284.6.4 投票主题的删除294.6.5 投票选项的管理294.6.6 投票选项的添加304.6.7 投票选项的修改314.6.8 投票选项的删除324.6.9 投票系统的配置

3、324.6.10 管理员密码的修改324.7 投票结果显示页面33第5章系统调试与扩充345.1 测试环境345.2 调试中遇到的问题和解决方法345.3 系统扩充34结束语35参考文献36致谢37网上在线投票系统的设计与实现摘要:网上在线投票系统在我们的日常生活中应用得十分广泛,特别是在21世纪作为internet和web的世界。网络上很多的评选活动都是通过网上投票系统来实现的,如娱乐网站投票评选用户最喜欢的明星、音乐网站投票评选出歌曲排行榜等等。网上投票系统让用户投票方便,也让投票统计结果变得迅速,还能及时了解用户的意见及建议。这对于传统纸质的调查节省了人力物力,正因为如此,在线投票系统能

4、得以如此广泛的使用。对网上在线投票系统的实现,网络安全是我们首要解决的问题,比如说用户权限的限制、防止用户修改投票数据、防止用户任意的重复投票等。下文将介绍一个在11S服务器上用ASRNET设计的功能相对简单的网上在线投票系统。关键词:在线投票系统;网络安全;ASP.NETTheDesignandImplementationofnetworkonlinevotingsystemAbstract:Onlinevotingsystemisappliedinabroadinourdailylife,especiallywhen21centuryisconsideredastheworldofinte

5、rnetandweb.OntheInternet,manyoftheactivitiesareselectedbyonlinevotingsystemtoachievetheresults,Suchasthevoteselectionofthemostlikestarintheentertainmentsite,thevoteselectionofsonglistinthemusicsite,etc.Itisconvenienceforuserstovotebyonlinevotingsystem,anduserscanacquiretherapidresults.What,smore,use

6、rs,sviewsandsuggestioncangatheredrapidly.Comparingwiththetraditionalpaper-basedsurvey,itsavespersonnelandresource,Thatiswhytheonlinevotingsystemcanbesowidelyused.ButthebiggestproblemoftheonlinevotingsystemWemustsolveisthenetworksecurity,Forexample,theuserprivilegesmustbeIimitted,youmustpreventusersm

7、odifythevotingdataandpreventanyrepeatedvotingofusers.ThefollowingPaperswillintroducearelativelysimpleon-linevotingsystemonanIISserverdesigningbytheASP.NETKeywords:Onlinevotingsystem;networksecurity;ASP.NET_,4-X刖百随着Intemet的高速发展,基于网络B/S(BrowserZServer)结构的应用程序得到越来越广泛的应用。B/S结构应用程序的客户端只需要一个浏览器,而将所有的业务规则、

8、数据处理等工作放在服务器端进行,这是一种非常适合Internet的结构。网络技术的发展,网页的应用范围逐步扩大,Microsoft公司推出的ASRNET(ActiveServerPages,动态服务器网页)技术的网络应用平台,已经被广泛的编程人员采纳。可以开发出满足企业、组织和个人要求的各种网站,ASP.NET的主要特性是能够把脚本、HTML、组件和强大的Web数据库访问功能结合在一起,形式一个能在服务器上运行的应用程序,并按用户的要求专门制作的HTML页面传送给客户端浏览器。互联网日益广泛的使用,各种互联网业务在国内的迅速普及,使得网上在线投票系统在许多网络应用中得到了十分广泛的使用。网上在

9、线投票在网络活动中非常常见,网络上很多的评选活动都是通过网上在线投票系统来实现的。如新闻网站投票评选用户最感兴趣的新闻;音乐网站投票评选出歌曲排行榜;还有各种各样“最佳”的评选,都是通过投票来进行的。网上在线投票比起传统的人工投票,优势是显而易见,网上在线投票方便,用户通过网络在家中就可以投出自己的一票,而统计者可以利用数据库,通过计算机很快地得出想要的结果。这样不仅节省很多时间,也节省了很多资源。网上在线投票系统相对其他设计系统来说是一个小系统,它要实现的功能简单明了,但它所涉及的技术还是比较广泛的。只是它所需要的SQLSerVer、ASRNETftIIS安装配置及它们在网络系统开发中结合使

10、用的知识都相对简单,而这些知识都出现较早且得到了很广泛的应用,技术上相对成熟,因此在整个网上在线投票系统设计中遇到的很多问题都可以在网上找到解决方法,整个系统开发难度不是很大。对于网上在线投票系统来说,整个系统关键的还是对投票各方面进行管理和信息处理的模块,如投票主题管理、同一个主题下的投票项管理、对用户投票信息进行分析处理等。实现此系统过程中需要解决的最大问题是网络安全问题,比如说用户权限的限制,防止用户修改投票数据、防止用户任意的重复投票等,只有解决了这个问题,才能得到有意义的投票结果。本文将介绍一个功能简单的网络投票系统,该投票系统不限制的用户,只要登录到该网站即可参与投票和查看投票结果

11、。第1章绪论1. 1课题背景在现在的大部分网站中,都采用了网上投票的形式来获得用户对该网站的评价。不只是对于网站的评价,对一些热点事件、新闻,也采用了网上投票来了解大众的看法,网上投票是目前网上比较普遍的一个功能,用户可以在Internet上直接投票,并可以立刻查看投票结果。一方面,用户投票比较方便;另一方面,用户和管理员都可以通过查看投票结果分析投票结果。近几年来,基于TCP/IP的技术以非同寻常的速度被广泛应用于处类企业,其中一个很重要的手段就是建立WEB站点发布信息。传统的的静态网页技术己越来越不能满足用户的需求,因此各种动态网页技术应运而生。ASP就是其中的一种,而ASP.NET是微软

12、新一代的动态网页技术。与其它编程技术对比,它有如下的优势:1 .面向对象性C#是一种面向对象语言,在很多方面来看,C#将成为微软与JAVA相似的语言。C#是ASP.NET开发中一个最重要的开发工具,微软将C#发展成为JAVA的强劲对手。这也是微软.NET框架的一个重要组成部分,C#是微软在编程市场上击败对手的主要工具。2 .大型站点应用ASP.NET将对大型站点有更好的支持。ASP.NET可以让用户考虑到多服务器的场合,当用户需要更强大的功能时,仅仅需要增加一台服务器即可。整个.NET框架已经充分地提供了这个方法。另外,由于请求的各个组件相互间经过了充分的优化,所以速度很快。ASPNET还提供

13、更多的其他方面的新特性,例如:(1)内置的对象缓存和页面结果缓存。(2)内置的XML支持,可用于XML数据集的简单处理。(3)服务器控制提供了更充分的交互式控制。1.2 课题目的和意义目前的投票系统采用ASP、ASP.NET等技术的。基于ASP和脚本语言的是将动态网页和数据库结合,通过应用程序来处理。但是由于ASP本身的局限性使得系统有一些不可克服的缺陷,而采取了ASRNET技术的系统性能上有了很大的改善,其主要表现在以下几方面:1 .由于ASP页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而ASRNET页面只需要一次编译后不需要重新编译,直到该页面被修改或W

14、EB应用程序重新启动。这使得在多次访问时速度有了极大的提升。2 .由于ASP没有提供任何输出数据为内容的元件,所以在使用ASP撰写数据库页面时只能借助ADO的RecordSet对象逐笔读取记录,而ASRNET通过AD0.NET提供的DataGrid等数据库元件可以直接和数据库联系。3 .ASRNET支持应用程序的实时更新。管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。应用程序永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖。当文件更新后,系统会自动转换到新的版本。4 .ASP.NET采取COde-behind的方式编写代码使得代码更易于编写,结构更清晰,降低了系

15、统的开发与维护的复杂度和费用。1.3 系统结构系统设计中服务器端采用的操作系统为WindowsXP、Web服务器为IIS5.0、数据库采用SQLServer2000o采用ASP.NET+SQLServer2000来进行系统开发。整个系统结构较简单,正确安装和配置IIS,建立好数据库,便可在浏览器中通过相应路径访问网页进入系统,进行投票管理、参与投票、查看投票结果,十分简便。本投票系统包括5个主要模块:管理员登录模块、用户投票模块、投票主题管理模块、投票项管理模块和系统配置模块。管理员登录及管理模块需要完成的功能是管理员身份验证。只有登录的管理员才能对投票主题等进行管理,修改密码。投票模块完成的

16、功能是显示投票项、更新数据库、显示投票结果。投票管理模块完成的功能是能够增加、修改和删除投票主题和投票主题的各选项。1.4 课题主要工作课题主要工作是如何通过ASP.NET+SQLSerVer建立起一个功能相对完善在线投票系统。投票系统主要是实现投票模块和投票管理模块,实现此系统最大的问题是解决相应的网络安全问题,如防止用户任意的重复投票等问题。以下将要进一步介绍的课题针对诸如此类的问题做的一定的探索和解决。1.5 论文结构本文共分如下六部分:第一章是绪论,介绍了本课题的研究背景及研究的目的和意义,概述了网上在线投票系统的架构,并提出了论文的研究内容。第二章是在线投票系统的需求分析,包括系统总

17、体分析、系统功能分析、系统数据库需求分析,系统可行性分析和系统的安全性分析。第三章是系统概要设计,简述了系统设计目标、系统的组成、软件运行环境、各模块功能及其实现流程的简单概括、数据库设计与连接、系统文件说明。在第四章是系统的详细设计,对系统进行了详细设计,详细阐述了开发项目相关技术,各个模块的功能与实现方法步骤。第五章是系统的调试结果,对在系统设计中碰到的问题及解决办法做了一个说明。最后,对全文进行了总结,提出在系统设计中值得思考的问题与收获,并附上参考文献和致谢。第2章系统的需求分析2.1系统总体分析在线投票功能是网站应用程序最常用的功能之一,也是网站应用程序开发常用的功能模块。当网站的管

18、理员或用户提出一些新的想法与建议或者出现一种新产品时,他们可能需要通过用户或者客户的投票方式来确定这些新的想法、建议或者新的产品是否满足用户或者客户的需求,另外,网站还可以通过网上在线投票功能做一些实际性的调查工作。这里所设计的这个基于ASP.NET的网上在线投票系统主要分为5个主要模块:管理员登录模块、用户投票模块、投票主题管理模块、投票项管理模块和系统配置模块。2. 2系统的功能分析网上在线投票系统实现了用户在上直接投票的功能,并且还能够查看投票结果。系统实现的功能具体描述如下:本系统实现的功能比较简单,主要包括以下几个功能:1 .禁止重复投票;2 .投票主题的管理;3 .投票选项的管理;

19、4 .使用方形图显示投票结果;5 .用户在线投票;6 .配置投票参数。2. 3数据库需求分析本系统需要建立5张数据表,用于存放各个模块的数据,其中有:管理员表admin,投票者信息表Voter,标题表VotetiHe,选项表VOteitem,系统配置表VOteCOnfig,还有一个触发器,用于当某个选项加一票时,该选项所属的投票主题加一。2. 4系统可行性分析1 .技术可行性分析在线投票系统使用简单的HTTP和TCP/IP协议,使用ASP.NET+SQLServer技术,这些技术都容易掌握,便于使用。其中应用ASP.NET技术,不需要进行复杂的编程,就可以开发出专业的动态Web网站。ASP.N

20、ET技术的出现给Web带来了全新的动态效果,使其具有更加灵活和方便的交互性,并且在Internet中实现信息的传递和检索也越来越容易。2 .系统经济可行性分析目前的互联网上网站数量非常多,在线投票作为一个小模块非常实用,它能为各网站统计用户意见,收集用户信息,为网站带来效益非常明显,加上其实现和使用都不复杂,所以设计在线投票在理论上是可行的。2. 5系统安全性分析考虑到在线投票系统是一个很实用的模块,在网络上使用用户众多,并且存储了大量的数据资料,这些数据对投票结果的统计是否准确很重要,因此系统的安全具有十分重要的意义。以下从系统安全软件的应用和系统的开发两个方面来确保系统的安全。在系统安全软

21、件方面,我们使用WindoWS2000SerVer搭配瑞星防火墙。防火墙技术是一种较为安全有效的防范技术。它通过在网络边界上建立起来的相应网络安全监测系统来隔离内部和外部网络,以确定哪些内部服务允许外部访问,以及允许哪些外部服务访问内部服务。通过隐藏内部网络的技术隔离内外网,并对进出内外网的数据进行控制来达到阻挡外部网络的入侵。在系统设计上,我们按照安全模式思想,做到以下几个方面:1 .设置多种角色,实现不同用户对系统的不同的访问操作;2 .对系统用户的访问时间、访问协议、访问IP、访问流量进行过滤限制;3 .使用SeSSiOn在页面之间安全传递参数。通过系统软件的安全防护功能和在应用系统的开

22、发中应用安全模式的思想,网上在线投票系统从Web服务器、数据库服务器和应用程序级几个层次建立了较好的安全防护机制。第3章系统概要设计3.1 软件运行环境设计服务器端:操作系统:WindowsXPZWindows20000Web服务器:11S5.0。数据库:Access2000或SQLServer2(XM)。浏览器:IE5.0,推荐使用IE6.0。分辨率:最佳效果1024x768像素。客户端:浏览器:IE5.0,推荐使用IE6.0。分辨率:最佳效果1024x768像素。3.2 系统设计目标1 .管理员可以设置是否禁止重复投票。如果禁止重复投票,则同一个IP地址在规定的时间间隔内不可以再次投票,这

23、通过一个记录IP地址和投票时间的数据表来实现。2 .用户投票前后都可以查看投票结果,在投票结果页面可以详细看到每项投票的票数。投票票数以图形形式显示。3. 3系统模块设计本投票系统包括5个主要模块:管理员登录模块、用户投票模块、投票主题管理模块、投票项管理模块和系统配置模块。1 .用户投票模块完成的功能是显示投票项、记录用户投票选项、更新数据库、显示投票结果。用户投票流程图如图3.1所示。图3.1用户投票流程图2 .投票管理模块完成的功能是能够增加、修改和删除投票主题和投票主题各选项,投票管理模块又分为以下几个子模块:投票信息管理模块、修改系统配置模块和修改密码模块。投票管理流程图如图3.2所

24、示。登录图3.2投票管理流程图3. 4系统数据库设计系统使用Microsoft的SQLServer2000数据库系统。本系统使用的数据库名称为vote,启动SQLSerVer2000,打开SQL查询分析器,输入:Createdatabasevote执行该语句,使用默认设置建立起VOte数据库。为了实现本系统,在VOte数据库中建立5个数据表,以下各节将说明如何设计这5个数据表。3.1.1 管理员信息表管理员信息表admin中存储了系统管理员的资料。其中id字段存储ID,adminname字段存储管理员名称,pwd字段存储管理员密码。admin表的字段名和数据类型如表3.1所示。表3.1SQLS

25、erver2000数据库管理员信息表admin悯设计表“adain”,位置是vote中、“E-列名I数据类型度允许空idint4adfiuameVarChar20pwdvarchar20其中管理员可以对投票进行管理,而一般用户则只能进行投票和查看结果。admin数据表各字段说明如表3.2所示。表3.2admin数据表字段名称数据类型说明idint主键,自动编号adminnamevarchar管理员姓名pwdvarchar管理员密码3.1.2 投票主题表投票主题表votetitle中存储了投票主题内容等信息。其中titleid字段存储主题ID,title字段存储主题的名称,total存储主题的总

26、票数。votetitle表的字段名和数据类型如表3.3所示。表3.3SQLServer2000数据库投票主题表votetitle列名数据类型长度允许空titleidint4titlevarchar50totalint4votetitle数据表各字段说明如表3.4所示。表3.4votetitle数据表字段名称数据类型说明titleidint主键,自动编号titlevarchar投票主题内容totalint当前投票主题的票数3.1.3 投票选项表投票项目表Voteitem中存储了具体投票选项的信息。其中titleid存储所属投票主题的ID,itemid字段存储投票选项的ID,item字段存储投票选

27、项的内容,itemsum字段存储各投票选项的票数。voteitem表的字段名和数据类型如表3.5所示。表3.5SQLServer2000数据库投票选项表Voteitem列名数据类型长度允许空titleidint4itemidint4itemvarchar40itemsumint4voteitem数据表各字段说明如表3.6所示。表3.6voteitem数据表字段名称数据类型说明ilemidint主键,自动编号titleidint外键,所属投票主题的ID号itemvarchar投票选项的内容itemsumint各选项的票数3.4.4投票者信息表投票者信息表VOter中存储了投票者的信息。其中Htl

28、eid存储投票主题的ID,ip存储投票者的IP地址、votetime存储投票者最后一次的投票时间、votetimes存储投票者的投票次数。Voter表的字段名和数据类型如表3.7所示。表3.7SQLServer2000数据库投票项目表voter列名I数据类型I长度I允许空I9titleidint4ipvarchar30votetimedatetime8Vvotetimesint4Vvoter数据表各字段说明如表3.8所示。表3.8VOter数据表字段名称数据类型说明titleidint主键,投票主题的idipvarchar主键,投票者的IP地址votetimedatetime投票的时间vote

29、timesint该投票者投票的次数3.4.5系统配置表系统配置表voteconfig中存储系统的配置信息。其中id字段存储配置的ID,checkip字段存储配置表的是否限制IP,checktime字段存储系统的间隔时间等信息。voteconfig表的各字段名和数据类型如表3.9所示。表3.9SQLServer2000数据库投票配置表VOteCOnfig列名数据类型I长度I允许空idint4checkipint4checktimeint4voteconfig数据表各字段说明如表3.10所示:表3.10VoteConfig数据表字段名称数据类型说明idint主键,自动编号checkipint设置系

30、统是否限制1P,1为不限制,0为限制checktimeint时间间隔3.4.6创建触发器在voteitem表中创建触发器updatevotesum,创建语句如下:createtriggerupdatevotesumonvoteitemforupdateasbeginupdatevotetitlesettotal=total+1wheretitleid=(selecttitleidfrominserted)end该触发器的条件是更新,也就是当VOteitem表中的字段进行更新时触发。主要用于当选项增加一票时,该选项所属的投票主题的总票数加一。3.5系统文件说明在本系统中,用户登陆及管理模块包括以

31、下文件:login.as、showbypicture.asp、UPdatePWd.asp、VOte.asp、votetitle.aspvoteitem.aspadminstration.asp等文件,具体文件的作用如下:login.asp:管理员登录页面。vote.asp:投票主页面,显示投票主题和选项。showbypicture.asp:投票结果显示界面votetitle.asp:投票主题管理页面,管理员在此页面添加、修改、删除投票主题。config.asp:系统配置文件,设置系统的全局属性adminstration.asp:投票主题管理页面。管理员在此选择管理功能。voteitem.asp

32、:投票选项页面,管理员在此页面添加、修改、删除投票选项。updatepwd.asp:管理员密码修改页面,管理员在此修改密码。第4章系统详细设计与实现4.1 系统设计的相关技术4.1.1 ASP.NET动态网页技术ASP.NET是新的、功能强大的服务器端技术,用于创建动态WEB页。ASP.NET是MiCroSoft公司的动态服务器页面(即ASP)和.NET这两个主要技术的集合。ASRNET又叫ASP+,但并不仅仅是ASP的简单升级,而Microsoft推出的新一代ActiveServerPages脚本语言。ASRNET是微软发展的新型体系结构。ASRNET吸收了ASP以前版本的最大优点并参照JA

33、VA、VB语言的开发优势加入了许多新的特色。基于BrowserZServer模式的体系结构简介。C/S结构,即Client/Server(客户机/服务器)结构,是我们熟知的软件系统体系结构,通过将任务合理分配到CIient端和SerVer端,降低了系统的通信开销,也可充分利用两端硬件的优势。B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全可以通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务项目端实现。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏

34、览器的多种SCriPt语言和ActiveX技术,利用通用浏览器就实现了原本需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着WindOWS2000/Windowsxp将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。4.1.2 ASP.NET对象概述.NET中包含的都是对象。.NET的一个重要特性就是从内部变量到功能全面的应用程序的所有事物都定义为显式的对象。.NETFramework主体就是一个对象类库,包含了上百个类,这些类提供了强大的功能,可以帮助完成各种任务,比如

35、处理文件、监控网站性能,生成随机数等。在ASRNET中要完成的许多工作、实现的许多功能都要用到这些类定义的对象。下面将介绍.NET类的组织形式(即命名空间),以及ASP.NET内置的对象。1 .命名空间命名空间就是一组相似的类。为了便于用户方便查找类,.NETFramework使用了非常规范整齐的命名模式组织所有的类,即命名空间。用户使用的Web页面的类,包含在system.web命名空间中,而system.web命名空间被包含在system命名空间中。2 .ASP.NET的内置对象ASRNET的内置对象主要有PageResponseRequestsServer、ApplicationSess

36、ion和COOkieS这7个对象。每个对象有自己的属性、方法和事件。属性用来描述对象的特性,方法用来执行对象的动作,事件是在符合某些条件的时候或某些情况发生的时候对象执行的动作。下面简要介绍一下这7个对象的主要功能和用途,如表4.1所示。表4.1ASP.NET内置对象对象名称对象说明Page对象WebForm网页在执行的时候会被编译成Page对象,Page对象用来设置与网页有关的属性、方法和事件Response对象Response对象用来决定服务器端在什么时候或如何输出数据到客户端Request对象Request对象用来捕获由客户端返回服务器的数据Server对象Server对象提供服务器端最

37、基本的属性和方法Application对象Application对象用来记录不同客户端共享的变量Session对象Session对象用来记录各客户端的专用变量Cookies对象Cookies对象为Web应用程序保存访问者相关信息4.1.3 ASP.NET常用对象1 .页面对象当客户端浏览器访问WebForm网页的时候,ASRNET首先编译WebForm网页。WebForm网页编译后创建新的类,这个类是从ASPNET的Page类派生来的。新派生的Page类会变成一个能在服务器端执行的可执行文件。在运行阶段,Page类以动态方式创建HTML标记,并传送回浏览器,同时处理请求和响应,然后创建服务器控

38、件。因此,WebFOrm网页被编译成了Page对象,并可以使用Page对象对象的属性、方法和事件。Page对象的事件贯穿于WebFOrm网页执行的整个流程。因此,了解Page对象的属性、事件和方法并熟练运用,可以控制WebFOrm网页的执行过程,在WebForm执行过程中添加必要的事件处理程序以实现特定的功能。2 .输出对象ResponseReSPOnSe对象派生自HttReSPonSe类,用来决定何时或如何将输出由服务器端发送到客户端。以下是Response对象比较重要的属性和方法。(1)将输出发送到客户端ReSPOnSe.Write。方法是Response对象最简单也是最常用的方法,除了实

39、现向浏览器输出信息的功能以外,此方法经常用在调试程序时显示变量的值。(2)地址重定向利用Response对象的Redirect方法可以地址重定向,使浏览器在显示页面后跳转到指定页面。(3)直接输出文本文件当有大量数据需要发送到客户端的时候,使用Write()方法会造成代码太长,影响其他程序的阅读性,这时应使用WriteFile()方法,将保存在文本文件中的内容发送到客户端。3 .输入对象RequestReqUeSt对象派生自HtlPReqUeSt类。使用该对象,可以捕获由客户端返回服务器端的数据,如用户所输入的表单数据、保存在客户机上的CoOkie等。以下是ReqUeSt对象常用的属性和方法。

40、(1)读取表单数据由于客户端提交表单数据方式不同,Request对象读取表单数据的方式也不同。如果在HtmlForm控件中将Method属性设置为“Get”,表单数据将以字符串的形式附加在网址的后面并返回服务器端。此时,必须使用ReqUeSt对象的QUeryString属性来获取表单数据。如果在HtmlForm控件中将Method属性设置为“post”,表单数据将存放在HTTP报头(header)。此时,必须使用Request对象的Form属性来获取表单数据。(2)取得客户端浏览器的信息Request对象的Browser属性可以获取HttpBrowserCapabilites对象,Browse

41、r属性用来获取目前和服务器连接浏览器的信息。BroWSer属性是一个集合对象,属性很多。(3)将指定的虚拟路径转换为实际路径在实际应用中,经常需要将虚拟路径转化为实际路径。ReqUeSt对象的MaPPath方法可以解决该问题。4 .服务器对象ServerSerVer对象派生自HttPSerVerUtiIity类。它提供了服务器端基本的属性与方法,如可获取有关最新错误的信息、对HTML文本进行编码和解码、访问和读写服务器端文件。以下是SerVer对象常用属性和方法。(1)SerVer对象的常用属性和方法Page类也可以访问SerVer属性,此属性返回类型为HtIPSerVerUtility的对象

42、,它包含了一些非常有用的功能,如表4.2所示。表4.2SerVer常用属性和方法属性说明MachineName返回服务器端机器名ScriptTimeout返回请求超时的时间HtmlEncode对字符串参数编码,使其可以显示在浏览器中HtmlDecode此方法是HtmlEncode的逆过程,提前用HTML编码的字符MapPath将虚拟路径转换为实际路径UrlEncode使用此方法向Web地址传递字符串UrlDecode使用此方法可以通过URL传递参数,然后再解码为普通字符串(2)使用HtmlEncode和HtmlDecode方法实现特殊字符显示Server对象提供的SerVer.HtmlEnco

43、de(String)可以进行字符串编码,使参数string不会被浏览器解释为HTML语法。(3)使用UrIEnCOde和UrlDeCOde方法传递特殊字符在使用网址传递数据时,经常会遇到一些特殊字符,如“#”和这些数据直接传递时,容易造成数据丢失。所以传递时,先将要传递的内容以UrIEnCOde编码,这样才可以保证所传递的值可以被顺利读到。UrlDecode方法是UrlEncode方法的逆过程,是将编码过的内容译码还原。5 .应用程序对象ApplicationApplication对象可以生成一个Web应用程序能存取的变量。该变量可以供所有使用者调用。它可以用来记录整个网站的通用信息,如在线人

44、数、在线名单以及投票统计等。(I)Application对象的常用属性和方法AddoIame、value):新增一个名称为name、值为VaIUe的APPIiCation对象变量。All:返回全部的Application对象变量到一个ObjeCt类型数组。AllKeys:返回全部的Application对象变量名到一个字符串数组。Clear():清除全部的Application对象变量。Count:取得APPIiCatiOn对象变量的数量。Get():使用索引值或变量名称传回变量值。GetKey():使用索引值获取Application对象变量。Item:允许使用索引或APPliCation对

45、象名称传回内容值。1.ock():锁定所有的对象变量。UnLOCk():解除锁定Application对象变量。(2)存取APPliCatiOn对象变量值存取是Application对象的最基本操作。(3)锁定Application对象由于Application对象属于网站的全局变量,因此经常会出现多人同时访问和修改该对象的情况。为了避免两个会话同时修改Application对象,需要在修改前锁定Application对象。修改后再解锁Application对象。(4)删除Application对象由于Application对象长期占用服务器资源,因此应及时清理无用的Application变量

46、。6 .会话对象SessionSession对象派生自HttpSessionState类。它用来存储用户跨网页程序的变量或对象。与APPliCatiOn对象不同,SeSSion对象只针对单一用户,相当于用户的“局部”变量。(1) Session对象的常用事件和方法Abandon():结束Session对象并触发OnEnd事件。Add(namevalue):添加SeSSion变量。名字为name,值为valueoClear():删除所有SeSSiOn变量。Remove(name):删除名字为name的Session变量。RemoveAllO:删除所有SeSSion变量。RemoveAt(index):删除索引为index的Session变量。OnEnd:在TimeoUt属性设置的时间内没有再读取网页或调用AbandOn()方法会触发该事件,做清理工作。OnStart:第一次读取ASP

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号