




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息查询系统网站的实现与技术说明摘 要在基于微软IIS/PWS的网络平台上,通过服务器运行的ASP程序来访问后台数据库,是一种最常见的动态网页发布模式。而对于小型的数据库应用需求,微软的Access数据库应该是ASP程序配套的首选,由于access数据库的ODBC驱动程序支持的SQL指令全,执行效率高,所以Access后台数据库+ASP服务器端程序+客户端IE(Internet 浏览器),是一个精练、实用又高效的组合模式。在这种使用模式中,ASP程序就是沟通客户端和后台数据库之间的桥梁。在ASP程序中,通过VBScript,建立对Access数据库的连接,是客户能够访问后台数据库的前提。World Wide Web作为共享住处资源的媒体,已经成为信息发布的重要途径,而查询、浏览和编辑等行为构成了“上网”的主要内容。如何合理有效地组织、管理和发布住处是建设一个网站的核心问题。如果把需要发布的信息存储在数据库中,那么就可以以Web页为界面,通过数据库管理系统提供的丰富的手段来实现这些行为。总之,数据库加Web页就是这个问题的常规解决方案。对于网站而言,一个行为查询、浏览或编辑等的实现,就是一个Web应用。一个Web应用通常由一组相互关联的动态页面组成。常规的动态页面包括搜索页、结果页和编辑页(包括插入、更新和删除)。关键词:ASP 服务器器端程序、客户端IE、IIS、Access目 录一、 目录2二、 ASP 内建对象概述31. Application 对象32. Session 对象33. Server 对象44. Request 对象55. Response 对象56. 内建对象集合的使用77. 使用ASP内建对象7三、 网站结构设计71. 目标设计72. 设计思路73. 系统功能分析与设计8四、数据库结构设计81. 数据库需求分析82. 数据库逻辑设计93. 数据库连接说明9五、信息管理模块91. 管理员登录页112. 账号验证页113. 管理后台页134. 添加信息页175. 保存信息页196. 编辑息页207. 更新信息页218. 删除信息页22六、开发难点与解决技巧231. 用服务器端包含技术实现对文件的引用232. 用cookies保存用户信息24七、总结24八、参考文献24正文ASP 内建对象概述Active Server Pages 提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息。1 Application 对象可以使用Application对象得到给定应用程序所有用户的共享信息。1 集合Application对象提供了两个集合,可以用来访问存储于全局应用程序空间中的变量和对象,如表所示。Application对象的集合及说明集合说明Contents没有使用元素定义的存储于Application对象中的所有变量(及它们的值)的一个集合,包括Variant数组和Variant类型对象实例的引用StaticObjects使用元素定义存储于Application对象中的所有变量(及它们的值)一个集合2 方法Application对象的方法允许删除全局应用程序空间中的值,控制在该空间内对变量的并发访问,Application对象的方法及说明3 事件Application对象提供了在其启动和结束时触发的两个事件。2 Session 对象可以使用Session对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在Session对象中的变量不会清除;页用户在应用程序中访问页时,这些变量始终存在。也可以使用Session方法显式地结束一个会话和设置空闲会话的超时期限。1 集合Session对象提供了两个集合,可以用来访问存储于用户的局部会话空间中的变量和对象。2 特性Session对象提供了4个属性,如表所示Session对象的属性及说明:属性说明Codepage读/写。整型。定义用天在浏览器中显示页内容的代码页(Code paeg)。代码页是字符集的数字值,不同的语言和场所可能使用不同的代码页。例如ANSI代码页1252用于美国英语和大多数欧洲语言,代码页932用于日文字。LCID读/写。整型。定义发送给浏览器的页面地区标识(LCID)。LCID是惟一地标识地区的一个国际标准缩写。SessionID只读。长整型。返回这个会话标识符,创建会话时该标识符由服务器产生。只在父Application对象的生存期内是惟一的,因此当一个新的应用程序启动时可重新使用。Timeout读/写。整型。为这个会话定义以min(分钟)为单位的超时周期。如果用户在超时周期内没有进行刷新或请求一个网页,该会话结束。在各网页中根据需要可以修改。缺省值是10min。在使用率高的站点上时间更短。3 方法Session对象允许用户级的会话空间删除指定值,并根据需要终止会话4 Session对象的事件Session对象提供了在启动和结束时触发的两个事件,如表所示。Session对象的事件及说明事件说明OnStart当ASP用户会话启动时触发,在用户请求的网页执行之前。用于初始化变量、创建对象或运行其他代码OnEnd当ASP用户会话结束时触发。从用户应用程序的最后一个页面请求开始,如果已经超出预定的会话超时周期则触发该事件。当会话结束时,取消该会话中的所有变量。在代码中使用Abandon方法结束ASP用户会话时,也触发该事件3 Server 对象server 对象提供对服务器上的方法和属性进行访问。最常用的方法是创建ActiveX组件的实例(Server.CreateObject)。其他方法用于将URL或HTML编码成字符串,将虚拟机路径映射到物理路径以及设置脚本的超时期限。Server对象是专为处理服务器上的特定任务而设计的,特别是与服务器的环境和处理活动有关的任务,因此提供信息伯属性只有一个,却有7种方法用来以服务器特定的方法格式化数据、管理其他网页的执行、管理外部对象和组件的执行以及处理错误等。1 属性server对象的惟一一个属性用于访问一个正在执行的ASP网页的脚本超时值。2 方法server对象的方法用于格式化数据、管理网页执行和创建其他对象实例。4 Request 对象可以使用Request对象访问任何用HTTP请示传递的信息,包括从HTML表OST方法或GET方法传递的参数、cookie和用户认证。Request对象使能够访问发送给服务器的二进制数据,如上传的文件。1 集合Request对象提供了5个集合,可以用来访问客户端对Web服务器请求的各类信息,如下所示: Request对象的集合及说明集合名称说明ClientCertificate当客房客户端访问一个页面或其他资源时,用来向服务器表客户证书的所有字段或条目的数值集合,每个成员均是只读Cookie根据用户的请求,用户系统发出的所有Cookie的值的集合,这些Cookie仅对相应的域有效,每个成员均为只读FromMETHOD的属性值为POST时,所有作为请求提交的段中的HTML控件单元的值的集合,每个成员均为只读QueryString依附于用户请求的URL后面的名称/数值对或者作为请求提交的且METHOD属性为GET(或者省略其属性)的,或中所有HTML控件单元的值,每个成员均为只读ServerVariables随同客户端请求发出的HTTP报头值,以及Web服务器的几种环境变量的值的集合,每个成员均为只读2 属性Request对象提供用户请求的字节数量的信息,并很少用于ASP页,通常关注的是指定值而不是整个请求字符串。3 方法Request对象惟一的方法允许访问从一个段中传递给服务器的用户请求部分的完整内容。5 Response 对象可以使用Response 对象控制发送给用户的信息,包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置Cookies的值。1 集合Response 对象只有一个集合,该集合可以设置客户端的Cookies的值,直接等同于Request.Cookies集合。2 属性Response 对象也提供一系列的属性,可以读取(多数情况下)和修改,使响应能够适应请求。这些由服务器设置,用户不需要设置。需要注意的是,当设置某些属性时,使用的语法可能与通常所使用的有一定的差异,如下所示。属性说明CacheContrlo”setting”读/写,字符型,设置这个属性为“Public”允许代理服务器缓存页面,如为“Private”则禁止代理服务器缓存的发生Buuffer=True/False读/写,布尔型,表示ASP页所创建的输出的是否一直存放在IIS缓冲区,直到当前页面的所有服务器脚本处理完毕或FlushEnd方法被调用。在任何输出(包括HTTP报送信息)送住IIS之前这个属性必须设置。因此在.asp文件中,这个设置应该在语句后面的第一行。ASP 3.0缺省设置缓冲为开(ture),而在早期版本中缺省为关(False)Charset=”value”读/写,字符型,在由服务器为每个响应创建的HTTP Content-Type报头中附上所用的字符集名称ContentType=”MIME-type”读/写,字符型,指明响应的HTTP内容类型,标准的MIME类型。假如缺省,表示IME类型为“text/html”,告诉浏览器所期望的内容类型Expires minutes读/写,数值型,指明页面以分钟计算的有效的时间长度,假如用户请求在有效期满之前的相同页面,将直接读取显示缓冲中的内容,这个有效期间过后,页面将不再保留在私有(用户)或公用(代理服务器)缓冲中Expires Absolute #datetime#读/写,日期/时间型,当一个页面过期和不再有效时绝对日期和时间IsClientConnected只读,布尔型,返回用户是否仍然连接和下载页面的状态标志。在当前的页面已执行完毕之前,假如一个客户转移到另一个页面,这个标志可用来中止处理PICS(“PICS-Label-string”)只写,字符型,创建一个PICS报头定义页面内容中的词汇等级,如暴力、性和不良语言等Status=”Code message”读/写,字符型,指明发回客户的响应的HTTP报头中表,页面处理是否成功的状态值和信息。3 方法对象提供一系列的方法,允许直接处理为返回给客户端而创建的页面内容6内建对象集合的使用大多数ASP内建对象支持集合。集合是存储字符串、数字、对象和其他值的地方。除了在存储或取出项目时集合会自动扩展与搜索外,集合与数组非常相近。与数组不同的是,集合被修改后,项目的位置将会移动。可能通过集合中项目的名称、索引或者通过在集合的所有项目遍历访问项目。通过使用项目名称可以访问集合的具体项目。7 使用ASP内建对象方法是可以在对象上执行或使用对象执行的活动。调用方法的一般语法为Object.Method.parameters参数随着方法的不同而不同。三、 网站结构设计1 目标设计信息查询网站所要实现的功能如下。l 信息管理。n 信息添加。n 信息修改。n 信息删除。l 信息显示。n 显示全部信息。n 按类别显示信息。n 按关键字查询信息。l 按关键字进行站内查询。2 设计思路本站为一个简单的信息查询系统,该系统具有以下特点。l 实用:系统实现了一个完整的信息查询过程。l 简单易用:为使用户尽快掌握和使用整个系统,系统结构简单但功能齐全,简洁的页面设计使操作起来非常简便。l 代码规范:作为一个实例,文中的代码规范简洁、清晰易懂。系统中绝大多数ASP页都是直接访问Web服务器的文件系统或数据库服务器的数据库系统。系统结构如图3-1所示。ASP Web服务器 数据库服务器图1-1 系统结构3 系统功能分析与设计信息查询共分为3个模块:信息管理模块、信息显示模块和住处查询模块,其功能模块划分可图所示。信息添加信息管理模块信息删除信息修改、显示全部信息按类别显示信息按关键字站内查询信息管理模块信息管理模块按关键字查询信息图1-2功能模块图四、 数据库结构设计根据系统功能设计要求和模块划分,信息查询网站主要包含信息记录数据项和数据结构。1. 数据库需求分析信息记录包括以下内容。l 信息记录编号。l 信息名称、信息类别。l 信息描述。l 信息大小。l 信息时间和浏览次数。2. 数据库逻辑设计 信息记录表learning,如图3-3所示。Learning:表字段名称数据类型说明articleid自动编号type文本title文本url文本content备注hits数字big文本vote文本from文本fromurl文本dateandtime日期/时间图1-3 信息记录表3. 数据库连接说明 articleconn.asp文件的数据库连接程序如下。% dim conn dim cpmmstr on error resume next set conn=server.createobject(“ADODB.CONNECTION”) conn.open “DRIVER=Microsoft Access Driver (*.mdb); DBQ=”& DefaultDir &server.mappath(“downloadlu.mdb”)&”;”五、信息管理模块 网站信息管理模块包含以下几个子模块。l 信息管理登录n login.aspn chklogin.aspn manage.aspl 信息添加n add.aspn save.aspn art_class1_put.aspl 信息修改与删除n edit.aspn saveedit.aspn delete.asp各页面之间的关系如图1.4所示。Login.asp管理员登录ASPASPASPchkloginlasp审核账号edit.asp信息修改delete.asp信息删除Add.asp信息添加index.asp网站页面manage.asp管理员管理页面ASPASPASPASP 正确 错误图1-4 各页面间的关系51 管理员登录页1. login.asp页面示例图1.5为管理员登录时所看到的页面。(管理员名称和密码均为admin。)管理系统用户名称管理密码重填确定 图1-5 管理员登录 2. 页面中需要用户填写的HTML表单元素 该页面中仅有两个表单元素,如表1-1表示.Login.asp 页的表单元素名称表单元素类型含义最大长度usernametext管理员名称25passwordpassword管理员密码25表1-13. 页面所涉及的数据库表信息 此页仅向系统提交管理员用户名称和密码,并没有涉及到数据库表的操作。 4. 页面代码分析此处仅提供用户输入账号信息,在下一页将会判断用户提交的账号信息是否正确。 52 账号验证页1 Chklogin.asp 此页为验证管理员名称和密码的页面,无页面效果2 页面中需要用户填写的HTML表单元素此页无需填写HTML表单元素。3 页面所涉及的数据库信息管理员名称和密码存在文件中,并没有涉及到数据库的操作。4 页面代码分析53 管理后台页1. Manage.asp页面示例2. 页面中需要用户填写的HTML表单元素此页无需填写HTML表单元素。3. 页面所涉及的数据库表信息此页使用了系统中的信息记录表learning.4. 页面代码分析引用创建数据库连接对象函数文件Html 页面显示部分Html 页面显示部分%dim sqldim rs查找信息记录表中信息编号排序。Sql=”select * from learning order by articleid desc ”创建记录集对象Set rs =Server.CreateObject(“ADODB.RECORDSET”)打开记录集对象rs.open sql,conn,1,1查找信息记录表中信息如果没有提示否则取得信息记录数if rs.eof and rs.bof then response.write”还 没 有 任 何 信 息”else totaPut=rs.recordcount totaPut=rs.recordcount当前页不能小于1,如果小于1就默认为第一页if currentpagetotalput then如果信息记录数正好是20条记录倍数时,整初后行的数就是当前页码数,如果不是则当前页码数加1if(totalPut mod MaxPerPage)=0 then currentpage=totalPutMaxPerPageelse currentpaeg= totalPutMaxPerPage+1end if end if 如果当前页码数为1 if currentPage=1 then 调用分页程序 showpages 调用信息显示表格 showContent 调用分页程序 showpages如果不前页码数不为1else 如果当前信息页记录数小于数据库记录时,就显示这页if(currentPage-1)*MaxPerPagetrID 号类型信息名称修改删除a href=”viewarticle.asp?id=”/td)aHref=”edit.asp?id =”修改)ahref=”delete.asp?id =”删除)=MaxPerPage then exit dors.movenextloop%end sub调用分页代码,显示分页面码数sub showpages()dim n如果数据库记录总数正好是20的倍数时,分页数就是倍数,如果不是则加1if (totalPut mod MaxPerPage)=0n=totalPut MaxPerPageelsen=totalPut MaxPerPage+1end ifif n=1 thenresponse.write”添加信息”response.write”exit subend ifdim kresponse.write”>>信息分页“循环显示分页码数For k=1to nIf k=currentPageResponse.write”+Cste(k)+”elseResponse.write”+”+cste(k)+”end ifnextresponse.write”end sub%54添加信息页1add.asp 页面示例2页面中需要用户填写的HTML表单元素该页面共有8个表单元素,如表所示:名称表单元素类型含义最大长度txttitletext信息名称70txturltext链接地址70typenameList信息类型txtcontenttextarea信息说明350bigtext信息大小10voteradio信息评价fromtext相关主页10fromurltext相关地址703页面所涉及的数据库表信息 此页仅向系统提交信息记录,并没有涉及到数据库表的操作。4页面代码分析验证输入信息是否完整正确55 保存信息页Sava.asp页面示例页面中需要用户填写的HTML表单元素此页无需填写HTML表单元素。页面所涉及的数据库表信息此页使用了系统中的信息记录表learning页面代码分析%判断request.cookies(“adminok”)是否为空,如果为空则用户没有成功登录页面跳转到登录页login.aspif request.cookies(“adminok”)=” then response.redirect”login.asp”end if%引用创建数据库连接对象函数文件!-#include file =”inc/articlechar.inc”- 56 编辑信息页1 Edit.asp页面示例2 页面中需要用户填写的HTML表单元素该页面中共有6个表单元素,如下表所示名称表单元类型含义最大长度txttitletext信息名称70txturltext链接地址70txtcontenttextarea信息说明350bigtext信息大小10fromtext相关主页10fromurltext相关地址703 页面所涉及的数据库表信息此面使用了系统中的信息记录表learning4 页面代码分析略57 更新信息页1 页面示例略2 页面中需要用户填写的HTML表单元素此页无需填写HTML表单元素3 页面所涉及的数据库表信息此面使用了系统中的记录表learning4.页面代码分析略58 删除信息页1页面示例管理员删除信息成功后页面跳转到管理首页。2页面中需要用户填写的HTML表单元素 此页无需填写HTML表单元素3页面所涉及的数据库表信息此面使用了系统中的信息记录表learning4.页面代码分析略34信息显示模块信息显示模块包含index.asp1. 页面示例下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 孵化机安全培训教学课件
- 慢性应激反应分析-洞察及研究
- 2024山东济南市章丘区精神卫生中心招聘12人笔试备考试题及答案详解(夺冠系列)
- 中医健康教育项目实施计划
- 季羡林的“有为有不为”课件
- 2022届广东省深圳市高三下学期一模数学试题
- ERP系统实施项目管理实务指南
- 古诗文诵读课:意境美的鉴赏
- 增强现实技术优化服装设计流程-洞察及研究
- 家居用品采购平台协议
- 大学信息与网络安全保密管理办法
- 李中莹 亲子关系全面技巧
- 音乐《上学歌》课件
- PMC部门运作流程对下达的生产计划任务合理性负责
- 防止电力电力建设施工安全事故三十项重点要求考试题
- 绿色校园创建资料
- 污水处理池 (有限空间)作业安全告知牌及警示标志
- 六三制新青岛版四年级科学上册第一单元《动物王国》全部课件(一共5课时)
- OpenVPX标准和架构精选课件
- 历史八年级上册电子课件:第2课 第二次鸦片战争
- 消防安全培训及应急演练主题教育课件PPT模板宣传PPT动态PPT
评论
0/150
提交评论