




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
互动网页的动态效果的设计毕业论文目 录第一章 概述5第二章 需求分析7一、可行性需求分析7二、网站环境需求7三、网站的技术需求8第三章 ASP技术综述9一、ASP的产生9二、ASP与IIS10三、ASP的内部特点11四、ASP与CGI的比较12第四章 互动网页的动态效果设计的实现14一、站点的建立14二、数据库的建立16三、与数据库的链接17四、用户注册/登录系统20五、新闻 公告管理系统22六、文学交流的互动24七、互动网页Dreamweaver的综合运用26第五章 网站的管理维护及安全考虑31一、网站的管理维护31二、安全性考虑32第六章 系统调试与测试35一、调试35二、系统测试35三、体会38结束语43致 谢45参考文献46附录 源代码47第一章 概述近年来,Internet技术得到迅速的发展,已经成为计算机产业的技术热点。促进Internet高速发展的因素就是WEB技术由最初的静态HTML,发展到动态网页技术的DHTML,CGL(COMMAND GATEWAY INTERFACE)真正完全动态,脚本语言与ASP(ACTIVE SEVER PAGES)后来居上并且大有取代CGI的趋势。WEB已经不再局限于仅仅提供大量的信息服务(虽然这是最初的意图),WEB技术的的发展,使得那些具有交互动态页面, 有条理的数据库的查询 ,丰富信息内容的页面成为吸引人的网页。浏览WEB有着执行WINDOWS程序一样的感觉和操作性。随着INTERNET技术的发展,它已经成为一种操作平台,为用户提供强大的服务,例如网上购物,网上电子商务,社会信息数据库等。作为计算机发展最迅速的领域之一的数据库技术,已经形成了一整套多有的理论,并广泛的应用于人们的生产和生活中。数据库技术的一个热点。有了数据库的支持,可以扩展网页的功能,可以方便的设计出交互式网页,可以构造功能强大的后台管理系统,可以为网站的更新 维护提供极大的方便。在互联网技术的发展的初期,网站开发者利用超文本文档标记语言(HTML),在网页中插入图片文字等元素,形成最初的网页。这种开发方式虽然易学易用,可操作性强,但随着WEB的飞速发展,他的局限性也逐渐暴露出来:1 互联网的应用越来越广泛单纯的提供信息只是其中的一部分。未来的web将是一整套虚拟的信息平台,其中包括在线购物、远程教学、实时点播、语音聊天等功能。功能的扩展意味着数据量的增加,如果仍然用静态页面生成模式,则会产生过多的超文本文档,不仅降低了数据在网络上的传输速度,也会给网站的维护造成不便。2但前的网页正在向两个方向发展,一个是多媒体,一个是交互式。交互式的实现意味着用户将有权决定要看那些内容。简之而言,网站必须提供给用户一个界面,让用户对内容进行分类筛选,最后得到用户真正想要的内容。而这一点,传统的静态网页模式很难实现。3从网站的安全性角度考虑出发,网站的内部必然有一些数据要进行加密,只给指定的用户察看,没有权限的用户见无法访问。用网页中的cookies技术可以实现这一功能,但过程较为繁琐,而且由于脚本在客户端运行,安全性也较差。4 在传统的静态网页中,数据是分散在一个个独立的,只有地址连接而没有数据上的逻辑联系的HTML文档之中,要修改网页就要逐个修改HTML页面,工作量大的同时也容易造成数据混乱,不符合信息集中处理,分布显示的要求。为此,我们迫切需要一种新的网站设计思想来解决上述问题,跟上信息化时代的要求,近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,互动Web站点向用户提供的动态效果将越来越丰富,数据库与网页的结合,正好使上述问题迎刃而解。要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户点击信息,主题层次信息,大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了Microsoft Access数据库作为ODBC(Open DataBase Connectivity )数据源,并以先进的ADO(ActiveX Data Objects)技术进行数据库存取等操作,使Web与数据库紧密联系起来。用户整个互动网页主要由使用利用IIS+ASP技术实现动态生成用户互动Web页面。二者通过数据库服务器和Web服务器连接。整个系统结构如图1.1所示Web服务器记录点击页面生成Database服务器数据准备图1.1 系统结构本设计主要完成Web服务器端的用户注册/登录系统、新闻 公告管理系统、文学交流系统 动态生成、页面回显等功能模块的设计、实现与完善以及整个“我们的网站“的组织建立和测试工作。整个服务器端Web页面数为60页,其中包括个ASP功能页面35页。第二章 需求分析一、可行性需求分析传统的软件工程方法学使用结构化分析技术,完成分析用户需求工作。需求分析要了解用户的情况,接下来通过与用户交流,对用户的基本要求反复细化,以得出对目标系统的完整、准确和具体的需求。需求分析是为了发现用户的真正需求,首先应从宏观角度调查、分析用户所面临的问题,也就是说,需求分析的第一步是尽可能准确地了解用户当前的情况和需要解决的问题。在本设计中,所做网站就是为学校与学生、学生与学生之间增加一个沟通的桥梁,学生通过此网站可以了解最新的校园动态,丰富学生的课余生活。二、网站环境需求1、 开发环境:为了保证系统运行的效率和可靠性,系统服务器端应具有较高硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互连网即INTERNET,也可适应于局域网。其运行的要求如下:软件环境:Windows XP TCP/IP 协议Microsoft access2000 flashplayer6.0,IE 6.0 平台硬件环境:CPU:SII 1G 以上,内存:256M 以上 20G(7200)硬盘网络环境:Internet接入2、运行环境:服务器端:软件环境:Windows XP iis5.1Microsoft Access2000 硬件环境:CPU:SII 1G 以上,内存:128M 以上网络环境:Internet接入客户端:最低配置: PIII550 内存:64M 以上 IE:5.0版本以上 3、开发工具 Microsoft Access Macromedia FlashMX Macromedia Dreamweaver MX Microsoft Visual InterDev 6.0 Adobe Photoshop 7.0三、网站的技术需求我们已经提到,用户互动页面是在用户登录后浏览网页的过程中由服务器即时生成再返回给用户浏览器的,它事先并不存在于服务器。显然单纯的HTML无法提供这种页面,必须使用具有运算功能的Web技术来实现。在比较了现今几种动态页面开发技术后,我们选择了比较成熟和先进的WinNT+IIS+ASP技术。它提供了强大的Web Computing功能和数据库操作功能。在设计实现过程当中,还遇到一些特殊的技术困难,如何处理它们直接影响到生成页面的质量和服务器端的效率。现将主要的技术困难及其解决思路介绍如下:(1) 采集用户信息。用户访问的信息,即用户在站上的点击行为和输入,是我们生成用户动态页面的根据。如何在不影响用户浏览的情况下记录下用户的每一点击呢,这里,我们使生成页面上的每一链点都链接到一个名为Record.asp的功能页面,并将该链点名称(亦即主题名)作为参数传递,Record.asp只进行记录而不返回给用户浏览器任何内容,随即指向生成页面的程序,并同时传递。第4部分将对此过程进行详细的叙述。(2) 链接数据库各功能模块中需要频繁的进行数据库操作,每遇到要使用数据库便建立一次链接,我们这里有效利用了ASP的文件,使服务器事先建立数据库链接对象,所有的数据操作都使用该链接,从而提高了服务器效率。具体做法请参阅2.3部分内容。(3)可变的SQL语句一个访问数据库的程序段,对于不同的用户以及一个用户的不同行为,要其执行的SQL语句是不同的,其不同主要表现在查询、插入或更新时的参数不同,于是我们将SQL语句定义为含变量的字符串,通过赋予变量不同的值便产生出适合的SQL语句串,再通过数据对象的相应方法来执行它,完成所需的数据操作。第三章 ASP技术综述一、ASP的产生近年来随着Internet技术的飞速发展及用户需求的不断升级,Web页面技术也不断的推陈出新,使得Web站点的功能越来越强大,能够提供的服务种类越来越繁多。从HTML、Client Script 到CGI,从JAVA的诞生到ActiveX, Web页面设计人员不断受到冲击,微软公司在总结了以往技术,重新思考Web页面设计的真正需要后,推出了Active Server Pages (ASP),一种用以取代CGI(Common Gateway Interface),通用网关接口)的技术。目前,Internet上的许多基于Windows平台的Web站点已开始应用ASP来替换CGI。 简单地讲,ASP是一个位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互式动态网页,包括使用HTML表单收集和处理信息,上传与下载等等。通常情况下,用户通过浏览器看到的网页大多是静态的,目前Internet 上的许多站点,仍然提供静态(static)的主页内容。 所谓静态,指的就是站点的主页内容是固定不变的。 当浏览器通过Internet 的HTTP (Hypertext Transport Protocol)协议,向站点服务器(Web Server)要求提供主页的内容时,站点服务器收到要求后,就传送原已设计好的静态的HTML 的文件数据给浏览器。 一个静态的站点,若要更新主页的内容,必须手动的来更新其HTML的文件数据。而随着Web应用的发展,用户希望能够看到根据要求而动态生成的主页,例如响应用户查询数据库的要求、生成报表等。当在浏览器上填好表单(form)的输入数据,以提供HTTP要求时,可以在站点服务器中执行的应用程序,而不只是一个HTML 文件。站点服务器收到要求执行的应用程序,分析表单(form)的输入数据,将执行的结果以HTML的格式传送给浏览器。 根据用户请求生成动态主页的传统方法有CGI、ISAPI等。CGI是根据浏览器端的http请求激活响应进程,每一个请求对应一个进程。当同时有很多请求时,程序挤占系统资源,造成效率低下;ISAPI针对这一缺点进行改进,利用dll(动态链接库)技术,以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤烦琐。这两种技术和另一普遍使用的开发动态网页的技术Java都还存在着另外一个问题,那就是开发困难,程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。而较简单的开发技术如javascript和IDC(Internet Database Connector)等功能有限,不敷使用。 ASP使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。ASP与常见的在Client端实现动态主页的技术如Java applet、ActiveX Control、VBScript、javascript等不同,ASP中的命令和Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器;而Client端技术的Script命令则是由浏览器来解释执行。由于ASP是在服务器端解释执行,开发者可以不必考虑浏览器是否支持ASP;同时由于它在服务器端执行,开发者也不必担心别人下载程序从而窃取编程逻辑。 ASP通过后缀名为.asp的ASP文件来实现,一个.asp文件相当于一个可执行文件,因此必须放在Web服务器上有可执行权限的目录下。当用户从浏览器输入了.asp文件的地址后,浏览器就将这个URL请求发给Web Server,如果Web Server上装了ASP,就调用ASP。ASP读出相应.asp文件,解释并执行命令,动态生成一个HTML页面回传Web Server,然后Web Server再把结果发送给浏览器。ASP文件的制作和HTML类似,且和HTML开发集成,可以在同一个过程完成,利用ASP将可以执行的脚本嵌入到HTML文件中(将HTML文件的后缀名改为.asp),这使得HTML文件的编写与脚本的开发融合在一起。通过ASP内置的对象、服务器组件(Server Component)可以完成非常复杂的任务,而且用户还可以自己开发或利用别人开发的服务器组件完成专门的任务。ASP比较网关及服务器扩展模式有着以下优点:(1)完全与HTML文件融合在一起;(2)容易创建,不需要其它编译、链接程序;(3)面向对象的并通过ActiveX Server对象可扩展使用ASP还有个好处,就在于ASP可利用ADO(Active Data Object,微软的一种新的数据访问模型)方便快捷地访问数据库,从而使得开发基于WWW的应用系统成为可能,这也是本文选择ASP作为开发工具最重要的原因之一。二、 ASP与IIS(一)IIS简介Web服务器是Web应用程序的心脏。IIS(Internet Information Server)是微软推出的Windows NT Option Pack的主要成员,作为WindowsNT的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。新推出的IIS5.0版本增强了系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP等强大功能。IIS是扮演所有用户端服务要求的接口,和一般结构不同的是对ASP文件的处理方式,当IIS收到ASP文件的服务要求时,它会调用必须的ISAPI或DLL程序,对ASP程序进行解释执行,经过处理后,IIS再将结果转为HTML格式传回给使用者的Web浏览器。为了能正确的为用户端提供服务,必须要具备以下的元件:1、经过正确设置的IIS及其附属相关的目录;2、Windows NT的账户;3、DLL元件;4、Windows NT的安全设置;除此之外,根据Web服务器所需要提供功能的不同,可能还需要数据库系统或者电子邮件系统。(二)IIS与ASP的结合在过去,客户机/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。现在我们利用IIS+ASP构成三层式Web结构(如图3.1所示)的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。利用IIS+ASP技术来集成Web前后端所带来的强大效益可归结为以下几个方面:(1) 减少构建和维护成本(2) 加快联机过程(3) 应用软件集中在服务器端开发管理(4) 前端可使用任何浏览器(IE、Netscape.)(5) 后端可存取任何数据库 (SQL、Access.)(6) 可使用任何脚本语言开发 (VBScript、JavaScript、PERL.) 后端数据库数据库服务器ActiveX Server元件 Microsoft IIS + ASP程序和计算逻辑ActiveX Server元件浏览器 前端浏览器 图3.1 三层式Web结构示意图三、 ASP的内部特点(一)ASP内部6大对象ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。这6个对象及其功能描述如表3.1所示。对象名称功能描述Request从客户端取得信息Response将信息送给客户端Server提供一些Web服务器工具Session储存在一个Session内的用户信息,该信息仅可被该用户访问Application在一个ASP-Application中让不同的客户端共享信息ObjectContext配合Microsoft Transaction服务器进行分布式事务处理表3.1 ASP 内部6大对象及其功能合理地运用这些对象可以使原本复杂,烦琐的工作变得简捷而条理清晰。我们可以用以下的语法直接使用这些对象 对象.属性 方法 数据集合(二)Global 文件每一个以Active Server Pages为基础的应用程序都拥有一个Global.asa文件(ASA后缀名其实是Active Server Application的缩写),它位于每一个应用程序的基点目录之下。当Active Server Pages做下面两个动作时,Server便会去读Global.asa文件:(1) Web Server启动之后,一个应用程序目录中任一个ASP文件被提出第一个HTTP请求(Request)时。 (2)不具有任何Session的客户端向Server请求一个ASP文件时。前面已经提到Application和Session这两个ASP的内部对象。Application对象内的信息供所有正在执行该应用程序的用户分享,它创建于Web Server启动后一个应用程序中任一ASP文件被提出第一个HTTP请求时,结束于Server端停止运行。而Session对象仅属于一位用户,维持一个用户端的信息,其他用户无法访问,它创建于一个不具有Session的用户向Server请求一个ASP文件时,结束于该Session到期(即用户端超过某时间段没有向Server提出要求或刷新Web页面)或Abandon语句的调用。可见,Global.asa文件的调用与Application与Session这两个对象密切相关。事实上我们通常在Global。asa文件中写入以下内容:(1) Application或Session的开始事件(Start-event)。(2) Application或Session的结束事件 (End-event)。这样,在一个Application或Session对象被创建或结束时,系统会自动完成Global.asa文件中写入的相应事件。值得注意的是,如果一个Application与一个Session同时开始,Active Server Pages会先处理Application的开始事件,而如果一个Application与一个Session同时结束,Active Server Pages则会先处理Session的结束事件。四、ASP与CGI的比较CGI(Common Gateway Interface,通用网关接口)也是Internet上一种功能强大的Web页面技术,其工作方式有别于ASP。我们现对二者进行比较。Active Server Pages开发Web应用程序的特点:1 完全嵌入HTML,与HTML、Script语言完美结合。2 无须手动编译和链接程序。3 面向对象,并可扩展ActiveX Server组件功能。4 使用脚本语言(JavaScript、VBScript或PERL)编写。5 存取数据库轻松容易(使用ADO组件)。6 可使用任何语言编写自己的ActiveX Server组件。7 无浏览器兼容问题。8 程序代码隐藏,客户端仅能看到ASP输出的HTML文件。9 缩短Web开发时间。相比之下,使用CGI开发Web应用程序具有以下缺点:1 不易与HTML文件集成。2 须使用其他较复杂的语言来开发CGI程序。3 程序开发时间较长。4 存取数据库不容易。5 每个CGI程序被不同用户执行时都得重新执行一次,并占去Server的一个端口(Port),降低Server效率。可见,ASP在数据库访问、与HTML的集成、提高服务器的效率等诸多方面都优于CGI,更适应Web应用程序开发的需要,因此本设计选择了ASP作为互动页面生成器的开发工具。 第四章 互动网页的动态效果设计的实现在PC机上,WindowsNT环境下,利用IIS+ASP技术实现了互动页面的Web服务器端各功能模块。具体ASP开发工具为Microsoft Visual InterDev 6.0,数据库采用Microsoft Access数据库。主要包括以下工作:1、站点的建立2、网站的数据库建立3、与数据库的链接4、用户注册/登录5、新闻 公告的管理6、文学交流的互动7、Dreamweaver的综合运用一、站点的建立教学论坛我们的网站 设计了本站首页、网业工厂、教学论坛、下载快讯、新闻动态、动态图标、文学交流、学生社团等8个一级栏目,再在注册会员中、设计写日记、上传照片、写文章等几个模块。为了实现整个互动页面地动态效果,我们以dreamwear为主要工具建立了一个完整的站点“我们的网站”。该站点总体上为树型结构,如图4.1所示:登陆注册网页工厂新闻动态首 页学生社团下载快讯文学交流动画欣赏 图4.1 “我们的网站”结构图在我们的网站中我们主要实现8个一级自栏目的以下功能:1 注册登录:为新用户提供注册功能,使其成为我们的会员。对于已经注册的会员我们提供登录界面。在登录成功后我们为用户设计了写日记、发表文章、上传照片、资料修改退出登录等功能。2新闻动态:为用户提供及时的新闻和网站管理者的公告,为管理员提供发布新闻 公告的平台。方便我们的网站在实际中的应用。3下载快讯:为了方便我们应用到新的软件,我们在互连网上对下栽地址进行了连接,用户可以下栽管理员验证了的软件。4学生社团:这是一个介绍学生社团工作的栏目,设计记录学校优秀社团的活动情况,我们用框架暂时设计了9个板块,为以后实际内容的填充提供平台。5 动画欣赏:我们从网上搜索了许多有趣的素材粘贴于我们的网站,既丰富网页,同时可以为用户提供制作网页的素材。6网页工厂:在这个板块我们收集了常用的网页制作工具的教程。对于我们自己也是一个学习过程,同时为用户提供学习资料。7文学交流:这是我们的网站中一个非常重要的半块,他为我们的网站提供最广泛的互动,用户在文学交流区可以自由的发表文章。8 教学论坛:为我们教学和学生建立了一个广泛的交流的平台,同时实现了无纸化教学节约了教学资源方便教与学。这是我同组同学的主要工作.根据我们的网站功能模块的需要我们用dreamwear建立了jju站点 站点地图4.2图4.2 jju站点图我们的网站站点完成后,在IIS的Internet服务管理器中将其发布到网络,IP地址为本机IP,这里为6端口号为8080,首页设为index.asp。这样,在IE地址栏中输入6:8080便能进入;我们的网站的欢迎界面图4.3(即首页)。图4.3二、数据库的建立我们的网站使用中文Access 2000可以从单一的数据库文件中组织用户信息。在此文件中,可将数据分开放在名为“表”,也就是前面所说的“数据表”的容器中,然后可使用联机窗体让网络用户查看、添加并更新表中的数据、“查询”查找并检索数据、使用“报表”按特定的布局分析或打印的数据。此外,通过创建数据访问页还能从Internet上查看与更新或分析数据。了存储与使用数据,可对每一类信息创建一张表,此后就能在窗体、报表、或数据访问页中将多个表中的数据组织到一起,以及定义表之间的关系,以便于查找和检索仅满足指定条件的数据。在我们的网站中需要广泛的数据库支持,所以在站点中我们采用了access2000建立数据库kq.mdb,其数据库文件界面如图4.4 图4.4并在数据库中根据网页的不同需要建立:diary,记录注册会员日记本 down 记录网站下载信息,guan记录管理员信息 ,news 记录新闻,notice记录公告, user记录注册会员信息, web网页信息, webtype网页类型, wx文学文本信息, wxlb文学类别管理。三、与数据库的链接在我们建立好数据库之后,如何为网页与数据库建立了链接实现我们的网站的互动页面。通过第三章综述技术ASP其中ADO是ASP访问数据源的应用级接口,简单易用,便于多种编程方式实现。其实现过程是用户通过调用ASP文件,在服务器端得到执行,从相关数据库中取出数据,再向浏览端发出超文本表示的查询结果。综合考虑瘦客户端访问需要,我们决定在网站中采用ASP和ADO技术构造Web页面和数据库交互的Web数据库中间件是一种理想的方法。利用ADO访问数据库:ADO(ActiveX Data Objects)是一种操作Microsoft所支持的数据库的新技术。在ASP中,ADO可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中互动页面的实现便大量地用到了ADO技术。具体的操作步骤可以归纳为以下几步:(1)创建数据库源名(DSN)(2)创建数据库链接(Connection)(3)创建数据对象(4)操作数据库(5)关闭数据对象和链接每一步的作法如下:(1)、创建数据源名DSN(Date Source Name)即数据源名称。我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可以通过ODBC操纵驱动程序的数据库。比如我们系统中有Access的ODBC驱动程序,那么即使我们没有Access软件,也可以在我们的程序中对一个Access的MDB数据库加、删、改记录。而且我们根本不用知道这个数据库是放在哪里的。我们只要写出SQL语句,ODBC驱动程序就会帮我们做一切事情。我们在给ODBC驱动程序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。如果数据库的平台变了,比如我们改用了SQL Server的数据库,只要其中表的结构没变,我们就不用改写我们的程序,只要重新在系统中配置DSN就行了。由此可见,DSN是应用程序和数据库之间的桥梁。(2)、创建数据库链接(Connection)链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:setConn=Server createObject(“ADOBDCONNECTION”)这条语句创建了链接对象Conn,接下来:Conn.Open “connstr”,“uername”,“password”这条语句打开链接,用到了DSN,我们的网站中为“connstr”。其后的两个参数分别是访问数据库的用户名和口令,为可选参数。以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用。(3)、创建数据对象(Record Set)ADO中的数据对象通常保存的是查询结果。Record Set是ADO中最复杂的对象,有许多属性和方法。Record Set保存的是一行行的记录,并标有一个当前记录。以下是创建方法:Set Record Set=Conn.Execute(sqtStr)这条语句创建并打开了对象Record Set,其中Conn是先前创建的链接对象,sqtStr是一个字串,代表一条标准的SQL语句。例如:sqlStr=“SELECT * FROM user”Set Record Set=mConn.Execute(sqlStr)这条语句执行后,对象Record Set中就保存了表user中的所有记录。(4)、操作数据库我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入、删除等操作。例如:sqlStr=“INSERT INTO tab1 VALUES(1,2)”mConn.Execute(sqlStr)/执行插入操作(5)、关闭数据对象和链接对象在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它。Record Set.closeSet Record Set=Nothing关闭创建的数据对象Conn.closeSet Conn=Nothing关闭创建的链接对象由于各模块频繁地与数据库打交道,如何与数据库链接就显得十分重要。前面我们已经提到,ASP采用ADO技术访问数据库,ADO允许多个访问共享一个链接,即仅需要一个Connection对象与数据库链接,就可重复不断地利用它访问一个数据库。本文仅用到一个数据库,名为kq.mdb,而且在第一个用户登录时就要进行数据库操作,因此我们希望服务器开始便和数据库链接,所有对数据库的访问都使用这一链接,这样有利于提高服务器的效率。我们采用如下方法,首先在WinNT的控制面板的ODBC数据源选项中将kq.mdb库设置为系统ODBC数据源,再在每页调用conn.asp建立与KQ。MDB库的链接,即加入以下语句:其中,rs.open sql,conn,1,1表示的开始事件,rs.close表示的结束事件。这样,在服务器被提出第一个ASP请求而建立对象时,就会去执行,从而建立链接对象set conn=server.createobject(ADODB.CONNECTION),并打开与kq.mdb库的链接。以后对kq.mdb库的所有操作都是基于此链接。该链接关闭于服务器停止运行。(由conn.asp程序段决定。)四、用户注册/登录系统要实现用户互动页面的动态效果,首先要做的显然是弄清登录的用户是谁。作者原先的构想是根据用户计算机的Cookie信息判断用户身份,这样,只要用户打开该站点首页,无须填入身份验证信息,服务器便能得知其身份。但是,现在有的用户并不是在固定的计算机上上网,而且有的用户经常删除Cookie信息,这样,利用Cookie信息来识别用户的可靠性并不高。所以我们还是采用注册/登录的方式来识别用户。新用户注册时需要填入的是User (用户名),Password(密码),ConfirmPassword(效验密码)三个主要信息还有许多个性化的信息。当用户点击“OK”按钮或按回车后,服务器将判断用户填入信息是否完整、该UserName是否有人使用以及Password与ConfirmPassword是否相同,若输入无误则将新用户资料加入UserInfo表,生成。整个处理注册的过程由名为jju_web_reg.asp中的的ASP程序实现。如图4.5图 4.5UserInfo表是系统事先生成的用于保存各用户资料的表。它的格式如下所示:UserUserIDPasswordZhang1123Lee2asdf图4.6useinfo其中,UserID字段设置为系统自动生成的递增的整数,用于标识一个用户。因为以后将频繁地用到它,所以将UserID保存在用户的Session中,命名为session(g_UserID)。用户的user表中还记录一个用户的其他信息,其字段形式为sex, bir , phone , addr, qq, ,e, mail , x , b, web, hit, addtime , picture, ”,例如:图4.7:sexxhit111212231330143022图4.7其中,先定义 SQL语句字符串sql,再通过数据库链接对象conn=server.createobject(ADODB.CONNECTION)的execute方法执行该SQL语句。本文中均采用此方法进行数据库操作。已经注册的用户登录时只须输入User和Password,系统根据UserName查找UserInfo数据库,将查找到的Password与用户输入Password比较,若相同则做相关初始化操作,允许用户进入网站,否则给出提示信息。这些过程由ASP程序Login.asp实现。如图4.8 图4.8当查找到user表后 通过 调用user表中的字段可以回显如图图4.9 图4.9注册和登录过程中所进行的数据库操作都利用了 (g_dbConnection)链接对象,通过型如Set RSet= (g_dbConnection).Execute(sql) 的语句建立数据记录集对象,(其中RSet为数据对象名称)存放sql查询的结果数据集,供程序使用。数据操作结束后,使用型如RecordSet.close的语句关闭数据对象。五、新闻 公告管理系统我们的网站的新闻 公告管理系统设置权限为管理员,采用管理员界面进行添加 修改 。怎样才能让服务器得知用户点击了哪一个链接呢,普通的链接只能直接引导用户浏览器至另一Web页面,不能对管理员输入进行记录,本文采用的方法是jju_news_add.asp新闻添加界面来实现(界面如图4.10),,同时所有链接都指向一个名为jju_news_save.asp的ASP程序,并传递参数title content由jju_.news_.save.asp对title content进行记录。用于存放title content的表在数据库生成时已经建立,图4.10 jju_news_add.asp 的界面jju.news.save.asp中记录asp程序描述如下: %set rs=server.CreateObject(adodb.recordset)rs.Open news,conn,3,3rs.AddNewrs(title)=titlers(content)=contentrs.Update rs.closeResponse.Write (alert(成功)%其含义为:首先,从链接传递的参数中取回从Session中取回UserID 、title和content。其中UserID、在登录时得到并存入Session, 将jju_new_save.asp中的title 和content写入rs(recerd set)电子记录集;然后利用set conn=server.createobject(ADODB.CONNECTION)链接对象,执行SQL语句,将用管理员击信息写入数据库;news表的记录完成(如图4.11)图4.11生成互动页面jju_news.asp(图4.11),并传递参数。而在我们的首页中新闻栏显示用到如下语句:图4.12这样,一个recordest的电子纪录集通过conn建立,从而实现数据都区和新闻栏动态页面的生成。如图4.4.3六、文学交流的互动文学交流是一个互动的栏目, 除了管理员能进行管理,普通注册用户能自由的发表文章 并能根据自己的喜好选择不同的栏目。再ADD页面我们充分考虑到用户个性化页面的动态需求。再add页面设置了文章类别以及ubb标签 首先我们必须对用户进行识别防止非法用户的进入%if session(user)= or session(password)= or session(id)= thenResponse.Write (请登录或者返回首页!)Response.End()end if%其中记录user password id 用户信息表在用户注册时已经生成我们只需要对它进行匹配当我们的用户通过注册之后用jju_wx _add.asp对用户的文章添加如下图4.13界面图4.13当用户输入了他想要的内容后点击“添加”按页面调用下面的jju_wx_save.asp ASP程序对文章实现记录. %set rs=server.CreateObject(adodb.recordset)rs.Open wx,conn,3,3rs.AddNewrs(name)=namers(user)=userrs(content)=contentrs(lb)=lbrs(dengji)=0rs.Update rs.closeResponse.Write (alert(成功)%其原理是,查找事先生成的用户,若有关于当前得到需要显示的相关链接,利用它们组织生成一新的页面,该页面上的链接同样要具有记录用户点击和输入并触发生成新的互动页面的功能。如果关没有当前可用信息,则返回事先存储于服务器上的缺省页面。通过对数据库的操作我们的如下图(图4.14)的数据库表单 图4.14在WX表中的字段分别表示文学栏目的不同信息;id文章的自动编号 name文章的标题 lb文章的类别 content文章的文本 user添加者的用户名 addtime添加时间 hit 点击次数当我们点击主页中的文学交流栏目是就会调转到jju_wx_asp页面 如图4.15图4.15由于我们的网站的文学栏目分为四个主题所以刚开始我们准备分别建立四个表但后来我们采用了where字句。在实际查询中我们没有必要用到全部数据,因而我们可以使用where字句线制读取记录条件。具体的代码如下%Set rs = Server.CreateObject(ADODB.Recordset) sql =S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论