您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 动态网站设计参考案例
《ASP动态网站设计》实训指导书训练目标一、能够根据需求创建所需的数据库(SQLSERVER)结构和表。二、能够实现带有数据库的用户登录(ASP+SQLSERVER),可以防止非法登录。三、对于合法用户能够通过页面对数据库中的对应表实现增加、删除、修改等操作。四、合法用户能够以分页显示方式查看数据库中的表的内容。五、合法用户能够根据多种条件实现对数据表的查询。第一章数据库的设计及实现数据库在一个数据库应用程序中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。注意,这里要求学生能根据老师的需求来创建数据库和表,也就是说数据库不用本例中的数据库结构。(1)数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典、为后面的具体设计打下基础。针对本系统的需求,通过对操作员案例保存过程和查询者数据查询过程的分析,设计如下的数据项和数据结构:①案例基本信息:包括案例的编号、管辖单位、消费类型、处理结果、受理情况、争议金额、挽回金额和登记日期等。②操作员基本信息:包括操作员的用户名和密码等。(2)数据库概念结构设计概念模型是按用户的观点来对数据建模,是用于进行信息世界建模的工具。它对整个数据库的设计具有深刻的影响。(3)逻辑结构设计逻辑结构是把概念结构转化为与所采用的数据库管理系统所支持的数据模型相符合的过程。将数据库概念结构转化为数据库系统所支持的实际数据模型,就是数据库的逻辑结构。(4)数据库的实施和维护1、创建数据库常用的数据库管理系统有Access、SQLServer、Oracle等。根据用户需求和业务流程,另外考虑到扩展等,本系统采用了SQLServer2000数据库管理系统。在SQLServer2000中创建数据库可以使用以下三种方法:(1)使用数据库向导创建数据库。(2)在SQLServer2000的企业管理器中,首先展开服务器组,然后展开服务器,单击“数据库”→“新建数据库”命令,在弹出的“数据库属性”对话框中,键入新建数据库的名称。(3)使用Transact-SQL的CREATEDATABASE命令。语法格式如下:CREATEDATABASEgongshang其中“gongshang”为数据库名称。2、创建表、索引(1)创建新表数据库创建完成后,在SQLServer2000的企业管理器中展开要创建表的数据库“gongshang”,选中“表”选项,单击鼠标右键,在出现的快捷菜单中选择“新建表”选项。在表设计器中,可按下面的步骤设计表:①输入字段名。在“列名”列表项中输入字段名。在SQLServer中,字段名不允许重复,而且必须符合SQLServer的标识符规范。②选择适当的数据类型,并设置长度。③在“允许空”列表项中,重要的字段不允许为空,其他字段可以为空。如果设置不允许空,那么插入记录或修复记录时,将不允许空值出现,否则将出现错误提示。④在“描述”文本框中,可以输入一些必要的说明。图1.1表设计器⑤以上输入完成后,单击【保存】按钮,将弹出输入表名的对话框。表名输入完成,表就设计成功了。3、数据表结构本系统主要用到三个数据表:(1)operator(操作员信息表),该表用于保存操作员的简单信息,如表1.1所示。(2)case_tbl(案例信息表),该表保存了投诉案例的基本信息,是本系统的重要信息表,如表1.2所示。表1.1operator操作员信息表字段名数据类型长度允许空功能描述useridchar10否操作员IDpasswordchar10否密码表1.2case_tbl案例信息表字段名数据类型长度允许空功能描述cidint4否案例编号precinctvarchar8是管辖单位consumestylevarchar20是消费类型dealresultvarchar30是处理结果acceptcasevarchar50是受理情况disputemoneyint4是争议金额redeemmoneyint4是挽回金额registerdatesmalldatetime4是登记日期memovarchar50是备注第二章结构设计清楚了系统的设计思想和功能后,接下来就是要把系统的大体结构设计出来(例如:把各个功能模块或按用户不同来组织文件夹),这样既可方便以后的开发工作,又可以规范系统工作流程。设计了如图2.1所示的结构图,这样系统的具体功能结构就更加明晰了,只需将文件保存到对应文件夹即可。图2.1系统结构图其中,Datebase文件夹用来保存系统的数据库;css文件夹用来保存系统的样式表;images文件夹用来保存系统中所需要的图片(在每个功能模块或每个用户有各自的图片);manager文件夹用来保存查询者相关的页面;operator文件夹用来保存操作员相关的页面;applet文件夹用来保存实现树形结构的JavaApplet小程序;选中的站点根目录下的adovbs.inc文件是从系统下拷贝至此的定义包含ADO常数的文件;cnOpen.asp文件和cnclose.asp文件则是完成数据库驱动连接和关闭数据库的文件。第三章主要功能模块设计及实现1、前台文件总体架构前台的使用者是操作员用户,前台的使用在Web应用中是比较普遍的。主要是完成数据的存储和对原有数据的修改等功能。前台主要包括以下功能模块:操作员身份验证:主要是操作员登录部分的处理;案例增加功能:主要是对新的案例进行登记并保存至相应的数据库的表中;实现数据列表功能:主要是实现分页列出数据表中的相应的案例信息,并能对其中的某些案例的修改和删除提供传值跟踪;实现数据修改功能:根据数据列表中的链接传值来对某些数据进行修改并重新入库;实现数据删除功能:根据数据列表中的链接传值来对某些案例数据进行删除;2、用户登录的实现前台的用户登录是对操作员用户身份进行验证的过程。操作员用户是系统中数据的管理者,拥有较高的权限。其身份(用户名和密码)作为验证的条件存储在系统相应的数据表中。所以在验证过程中一定要进行驱动、打开数据库的操作。考虑到系统内的很多文件都是和案例数据打交道,也就是进行数据库操作。在这首先把打开和关闭数据库的操作封装成单独的功能模块。(1)打开、关闭数据库模块。由于此功能是反复使用的,可以把该功能用两个ASP程序实现。在ASP程序中,使用#include指令把这两个ASP文件的内容加在需要的页面中,就可以实现打开、关闭数据库的功能了。使得修改和维护工作更容易了。这两个文件分别是cnOpen.asp和cnclose.asp。其中,cnOpen.asp的代码:%Setcn=Server.CreateObject(ADODB.Connection)cn.OpenDSN=chendsn;uid=sa;pwd=syric%为驱动打开数据库的代码,可以看出在连接数据库时选用的是DSN的方法,当然我们也可以使用其他连接方法,如得到数据库绝对路径的server.mappath方法。cnclose.asp的代码更简单:%cn.closesetcn=nothing%为关闭数据库的代码,关闭对象并且释放系统资源。这样在需要数据库的操作的页面使用以下代码就可以使用系统的数据库了,不过要注意文件的路径关系,这里是和两文件同一路径的写法。!--#includefile=cnOpen.asp--!--#includefile=cnclose.asp--(2)登录验证当操作员提交用户名和密码后,需要根据用户选择的单选按钮来判断当前登录用户是操作员还是查询者,并与对应的数据表中的数据进行比较。如果比较符合,操作员便可以成功登录;如果比较不符合,则显示给用户对应的提示信息,点击按钮后会跳转到网站的首页。这里需要注意的是,如果用户成功登录,则需要将当前用户名保存在会话中,用来判断用户是否在线时使用。登录处理的关键代码如下:elseifuserstyle=registerthenrsuser.openselect*fromoperatorwhereuserid='&username&'andpassword='&pwd&',cnifnotrsuser.eofthensession(operatorid)=rsuser(userid)response.redirectoperator/op.aspelseresponse.Writescriptalert('用户名或密码错误!');document.location='/';/scriptendif3、新案例登记案例登记模块有两个页面文件,一个是操作员用户使用的新案例登记窗口;另一个就是操作员看不到的把数据入库的文件。(1)案例登记窗口该窗口是操作员的工作的重要窗口,要力争做到页面简洁,美观,功能清晰。所以这里在使用表单时更多地使用了简单的下拉列表和单选按钮等。页面如图3.1所示。该窗口看似简单,因为主要是静态页面,但也需要动态功能完成。图3.1案例登记窗口页面图①验证身份首先这里要对用户的身份进行确认,这是考虑到防止用户是绕过登录窗口进入的情况。也就是说需要对该用户是否具有会话进行确认。主要代码如下:rsuser.openselect*fromoperatorwhereuserid='&session(operatorid)&',cnifrsuser.eofthenresponse.redirect/endif②动态日期显示在本系统中不但对案例的其它数据感兴趣,登记的日期对形成数据柱状是至关重要的。所以如果能够实现日期的动态显示对日期的采集来说是很方便的。动态日期即页面显示的日期和服务器端的系统时钟日期是一致的。为了实现该功能,设计了简单的代码,这里以月份为例:month1=cint(month(date))selectname=monthclass=s12id=month%fori=1to12ifi=month1thenresponse.Writeoptionselected&i&/optionelseresponse.Writeoption&i&/optionendifnext%/select③数据有效的判定在此页面中,只有争议金额和挽回金额两项不能由操作员选定,所以对操作员录入的数据进行相应的判定是有必要的。这里采用的是客户端脚本的判定功能,可由Dreamweaver自带的行为功能完成,然后再进行合理的修改就可以了。这里就是要求操作员录入的数据一定是数字。(2)案例的保存案例的保存处理是案例登记页面的处理页面,这里要做的工作依次有:①判断用户是否合法登录我们首先要验证用户是不是通过登录页面进入到案例保存页面的,判断的方法就是看用户是否被系统分配了会话信息,如果有则表示是合法登录,没有则反之。因为要驱动数据库,所以要把打开、关闭数据库的文件包含进来。部分主要代码如下:!--#includefile=../cnOpen.asp--setrsuser=Server.CreateObject(ADODB.RecordSet)rsuser.openselect*fromoperatorwhereuserid='&session(operatorid)&',cnifrsuser.eofthenresponse.redirect/endif②提取案例登记页面的表单信息这个过程很简单。只要我们使用ASP中的Request内建对象就可以了。部分代码:area=request(area)constyle=request(constyle)result=request(result)③处理表单信息传送过来的表单信息最终是要保存到数据库的表中。在保存之前我们要做简单的处理方可入库。我们先到打开对应案例表case_tbl,形成记录集对象,这里使用的不是AS
本文标题:动态网站设计参考案例
链接地址:https://www.777doc.com/doc-2614882 .html