1、本科毕业论文(设计)题目: 基于WEB的自行车租赁管理系统设计与实现 24目 录摘 要互联网发展速度迅猛,电子商务成为21世纪商务发展道路上发展的一大热点。随着宽带网络的普及以及网络互联网络应用方式的发展,电子商务正以前所未有的速度对传统商务方式以理论造成冲击,并对以往传统商务方式占主导的领域进行渗透。该基于WEB自行车租赁系统架构是基于ASP和SQL Server 2000数据库,以IIS为Web服务器,采用了使用B/S结构,综合使用了VBscript、html和JavaScript语言编成的系统。本文论述了基于WEB自行车租赁系统的设计思想和设计过程。主要包括系统前台显示,分为数据浏览,自
2、行车预订,客户相关的一些租赁信息查看。系统的后台操作,分为用户管理,系统管理。关键词:租赁管理系统,数据库,ASP,IIS ABSTRACTWith the rapid devdlopment of Internet,the E-business has become a hot in business development road in 21th century.With the popularity of broadband Internet network and application forms of development, electronic commerce is at
3、an unprecedented speed of traditional business approach to the theory of an impact, and traditional business methods-dominated areas of infiltration.The system is based on ASP to configure bicycle lease system based on WEB with the database of MS SQL Server2000, with IIS for Web server and have adop
4、ted structure of B/S, synthesize the system that has used VBscript, html and JavaScript language volume. This paper has discussed design thought and the design course based on WEB bicycle lease system. This paper include mainly systematic proscenium show that divide into data to glance over, booked
5、bicycle management , look over tenancy information that customer are related to rent. The systematic operation of backstage supporter divides into user management, system management.Key words: Lease management systems, Databases, ASP ,IIS第一章 绪论1.1技术简介1.1.1 IIS简介 IIS是Internet Information Server的缩写,它是
6、微软公司主推的服务器, IIS与WindowNT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。 IIS支持HTTP,FTP以及SMTP协议,通过使用CGI和ISAPI,IIS可以得到高度的扩展。IIS还支持与语言无关的脚本编写和组件,通过IIS,开发人员就可以开发新一代动态的,富有魅力的Web站点。IIS不需要开发人员学习新的脚本语言或者编译应用程序,IIS完全支持ASP,VBScript,JScript开发软件以及Java,它也支持CGI和WinCGI,以及ISAPI扩展
7、和过滤器。1.1.2 ASP简介ASP是Active Server Page的缩写,意为“活动服务器网页”。其功能在于可以使用它来开发运行在Windows服务器平台上的动态网页和网站。网页是使用HTML定义的文档。建立好信息网页后,文本文件和图像可通过Web服务器传送给用户,Web服务器从磁盘中读取它们并且把输出转换成在网路中传送的HTML。在客户端,浏览器解释传送到的信息流,并将其转换成为显示的页面。ASP技术通过在静态HTML内容中嵌入服务器端脚本,实现页面的动态改变。Web服务器从磁盘上读取含有服务端脚本的网页,将网页发送给客户端浏览器之前 ,先对其中的服务器端脚本进行解释,输出用户定制
8、的信息内容,从而产生动态网页。ASP赖以运行的基础是Windows Web服务器IIS或者PWS。ASP使用的编程语言是脚本语言,可以使用VBScript和JScript。1.1.3 SQL Server 2000简介数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个部门的重要财富和资源。建立满足各级部门信息处理要求的行之有效的信息系统也成为一个企业或组织生存和发展的重要条件。因此,作为信息系统核心和数据库得到越来越广泛的应用,从小型单项事务处理系统到大型信息系统,从联机事务到联机分析原理,从一般企业管理到计算机辅助设计与制造,计算机集成制造系统,办公信息系统,地理信
9、息系统等,越来越多新的应用领域采用数据库存存储和处理他们的信息资源。SQL Server 2000 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2000 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2000 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2000 结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的 BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services
10、 和移动设备将数据应用推向业务的各个领域。1.1.4 HTML语言简介HTML是Hypertext Markup Language(超文本标记语言)的缩写,它是构成Web页面(Page)的主要工具,是用来表示网上信息的符号标记语言。HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。它是用于创建可从一个平台移植到另一平台的超文本文档的一种简单标记语言,经常用来创建Web页面。HTML文件是带有格式标识符和超文本链接的内嵌代码的ASCII 文本文件。1.1.5 VBScri
11、pt简介VBScript是Visual Basic Script的简称,即 Visual Basic 描述语言。VBScript是微软开发的一种脚本语言。它具有原语言容易学习的特性。目前这种语言广泛应用于网页和ASP程序制作,同时还可以直接作为一个可执行程序。由于VBScript可以通过Windows脚本宿主调用COM,因而可以使用Windows操作系统中可以被使用的程序库,当然它也可以使用其它程序和操作系统本身的库。Windows操作系统,VBScript可以被用来自动地完成重复性的Windows操作系统任务。在Windows操作系统中,VBScript可以在Windows Script H
12、ost的范围内运行。Windows操作系统可以自动辨认和执行*.VBS和*.WSF两种文件格式。1.1.6 JavaScript简介Javascript是一种由Netscape的LiveScript发展而来的脚本语言,主要目的是为了解决服务器终端语言,比如Perl,遗留的速度问题。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。Javacript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言。你可以利用Jav
13、acript轻易的做出亲切的欢迎讯息、漂亮的数字钟、有广告效果的跑马灯及简易的选举,还可以显示浏览器停留的时间。让这些特殊效果提高网页的互动性、提供亲切的服务。JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由 CGI 验证。1.1.7配置IISIIS的安装与配置 a.安装IIS 可打开“控制面板”,然后单击启动 “添加/删除程序”, 在弹出的对话框中选择 “添加/删除Windows组件”,在Windows组件向导对话框中选中“Internet信息服务
14、(IIS)”,然后单击“下一步”,按向导指示,完成对IIS的安装。b.启动Internet信息服务(IIS) Internet信息服务简称为IIS,单击Windows开始菜单-所有程序-管理工具-Internet信息服务(IIS)管理器,即可启动“Internet信息服务”管理工具c.配置IIS IIS安装后,系统自动创建了一个默认的Web站点,该站点的主目录默认为C:Inetpubwww.root。用鼠标右键单击“默认Web站点”,在弹出的快捷菜单中选择“属性”,此时就可以打开站点属性设置对话框,可完成对站点的全部配置。 主目录与启用父路径 单击“主目录”标签,切换到主目录设置页面,该页面可
15、实现对主目录的更改或设置。注意检查启用父路径选项是否勾选,如未勾选将对以后的程序运行有部分影响。主目录配置-选项。 设置主页文档 单击“文档”标签,可切换到对主页文档的设置页面,主页文档是在浏览器中键入网站域名,而未制定所要访问的网页文件时,系统默认访问的页面文件。常见的主页文件名有index.htm、index.html、index.asp、index.php、index.jap、default.htm、default.html、default.asp等 IIS默认的主页文档只有default.htm和default.asp,根据需要,利用“添加”和“删除”按钮,可为站点设置所能解析的主页文
16、档。 启动与停止IIS服务 在Internet信息服务的工具栏中提供有启动与停止服务的功能。单击 可启动IIS服务器;单击 则停止IIS服务器。1.2系统概述1.2.1项目背景互联网发展速度迅猛,电子商务成为21世纪商务发展道路上发展的一大热点。随着宽带网络的普及以及网络互联网络应用方式的发展,电子商务正以前所未有的速度对传统商务方式以理论造成冲击,并对以往传统商务方式占主导的领域进行渗透。 电子商务以其低廉的成本、相对方便的应用,以及互联网络所带来的前所未有的宣传效应,正成为商务活动开展的一个至关重要的平台。电子商务作为一个新兴的事物,虽然发展速度迅猛,但仍处于发展的初期阶段,还存在许多不完
17、善之处。 基于Web的自行车租赁管理系统是一个电子商务系统,在该系统中我们以服务为宗旨,在该系统中使用B/S结构.前台使用了javascript, css, html,为用户展示数据;后台使用VBscript 实现数据逻辑,操作系统的文件组件实现服务器的文件读取,获得文件有关信息。1.2.2系统功能 在该系统中实现以下功能:系统前台显示,分为数据浏览,用户注册,用户登陆,自行车预订,本人信息修改及本人相关的一些租凭信息查看。系统的后台操作分为,系统管理,用户管理,自行车管理,租凭管理,系统管理。1.2.3系统特点系统具有以下特点:(1)模块化设计:本系统在界面与功能的设计上,都采用了模块化的设
18、计思想。把一些常用的页面和功能,都设计成了一个单一的asp文件或者子程序、函数,例如页面的头、尾,系统返回的错误、系统返回的操作信息等。这样在开发时遇到使用这些模块的地方,只要使用即可调用这些功能模块文件,大大地提高了开发的效率以及系统的可维护性。同时为以后的复用打下了基础。(2)安全性设计:本系统在业务处理的过程中,及其注重系统的安全性。无论是用户的误操作、系统和数据库错误,还是恶意的攻击,都能及时分辨并加以纠正或阻止,提高了系统的稳定性及维护性。(3)人性化设计:用户操作简便,可以通过多种手段查找所需要的自行车,预订自行车方式简单易用。后台管理功能强大,带有租赁分析功能,可以帮助寻找潜在的
19、客户以及对自行车的采购提供指导性数据。第二章 系统设计2.1系统设计思想2.1.1页面模块化设计该系统时把一些常用的功能集成到了单一的文件中去,需要调用时只需要引用这个文件或者文件中的子程序、函数即可实现一些通用的功能。2.1.2注重安全性安全性威胁,大致可分为外部入侵、系统错误及人为操作失误三部分。其中外部入侵及系统错误绝大多数都是由于程序设计的漏洞造成,这两点造成的损失也是最大的;而人为操作绝大多数都是由使用者的疏忽造成,损失也相对较小。2.1.3代码的复用代码的复用包含了程序功能的模块化处理,在同一程序中代码复用。比如此例的head.asp和bottom.asp作为页面头和尾,可以在开发
20、过程中反复调用以统一页面外观。2.2系统功能模块划分根据前面的系统功能分析,可以画出系统功能模块的组织结构图,本例从客户界面和管理界面入手,对系统功能模块的划分加以图形化的描述。客户界面的组织结构图如图2-1自行车租赁系统客户界面库存管理界面租赁管理界面租赁分析界面客户浏览自行车客户预订自行车客户信息修改库存浏览库存修改租赁查询租赁分析起租结算图2-1客户界面的组织结构图管理界面的组织结构图如图2-2自行车租赁系统自行车管理客户管理库存自行车管理自行车推荐用户修改用户锁定添加自行车修改自行车租赁分析受欢迎的类型受欢迎的自行车潜在客户自行车租赁理管自行车出租自行车归还自行车预订图2-2管理界面的
21、组织结构图2.3系统结构设计根据模块化的设计思想,可得出如图2-3所示的系统结构设计图。自行车租赁系统客户界面管理界面通用模块数据库自行车浏 览界 面预定解除预订界 面租赁信息界 面登陆注册界 面系统信息浏览与管理用户管理界 面自行车管理界 面租赁关系管理界 面取得显示错误信息模 块输出操作结果信息模 块页面头尾模 块翻页模 块检测管理权限模 块图2-3系统结构设计图2.4数据库设计用户的需求体现在对各种信息的浏览、查询、保存和更新,这就要求数据库结构能够满足用户的这些基本需求,并在效率和设计上做到高效与简洁。而系统的需求则体现在各系统功能对数据库提供的各种信息处理的要求上。用户的需求往往体现
22、在系统的易用程度和功能强大与否;而系统的需求往往体现在了系统运行的效率、稳定性与安全性等系统特性之上。本系统为了体现系统设计的模块化及关系型数据库的应用,按照关系型数据库的三个范式标准对数据库进行了关系化处理。自行车在线租赁系统的表项目与之间的关系,如图2-4所示。箭头端为父关系所在表,箭头尾是子关系所在表。PK为主键(Primary Key),FK为外键(Foreign Key),黑体为必填字段。图2-4自行车在线租赁系统表项目与关系第三章 客户界面设计客户界面的设计采用了界面模块化的思想,每个页面都具有一定的功能。还运用了CSS样式表,以达到美化页面的效果。故每个页面都内嵌了一个CSS样式
23、表的连接。3.1系统预览图3-1是用户未登录时以访客的身份所看到的主界面。从图中可以看出,客户在没有登录的时候,可以进行用户登录,浏览自行车的详细资料,可以根据自行车的名称查找自行车,还可以根据自行车的类别来浏览自行车。图3-1用户未登录时的主界面图3-2是用户登录以后的主界面从图中可以看出,普通用户登录后,可以查看自己预定的、已租的自行车,可以更改自己的用户信息。在已租的自行车当中又存在更详细的分类,使用户即时了解自己自行车租赁情况。如果用户是管理员,还可以通过链接跳转到管理页面。图3-2用户登录后的主界面3.2界面头、界面尾设计为了提高代码的复用率,使程序设计变得高效简洁,本文是把部分界面
24、的界面头和界面尾都使用了head.asp和bottom.asp文件。而在head.asp文件中,又内嵌了自行车类型的导航条Navbar.asp和用户信息UserLogin.asp。效果如图3-3图3-3界面头、尾效果演示3.3用户注册模块设计为了自行车和租赁管理,用户必须注册后才可以预定或者租赁自行车。在注册时,用户需要留下联系方式以便收到信息或通知。注册后用户可以根据注册的用户名和密码登陆系统,浏览和预定自行车。该模块所在的文件是Reg.asp文件。此文件采用了页面和代码分离技术。普通的用户注册模块,需要将用户注册信息的输入做成一个文件,再使用标单将数据传递到另一个处理注册信息的文件。使用此
25、技术,就可以在使用普通的网页编辑器来编辑页面风格的同时,页面也同时具备操作功能,不必再将一个功能做成两个独立的文件了。其实现的原理是通过在页面的标单中包含了一个名为IsReg的隐含域:。打开此页面后,IsReg并没有提交,Request(“IsReg”)的值为空,则显示页面;提交后,Request(“IsReg”)的值不为空,则执行代码。实现后的效果如图3-4所示。图3-4 用户注册模块效果3.4用户登录模块设计用户登录时,需要检测用户名和用户密码;用户名和密码通过检测后,需要判断用户是否被锁定。检测通过后,还需要遍历数据库中的数据,找出有没有用户的租赁超过了期限,如果超过了则在数据库中进行标
26、注。用户登录后,服务器端会创建一个用户的私有变量Session(“UserID”)来保存用户的ID。在本系统的其他模块,经常需要用到此私有变量判断用户状态是否失效、用户是否为管理员。最后,程序会使用Response.Redirect index.asp重定向网页到index.asp文件。例程3-1用户登录模块%Dim strSQL,objRSSet objRS=Server.CreateObject(ADODB.RecordSet)取得用户文件名、密码Dim UserName,UserPassword过滤SQL字符,防止SQL漏洞注入UserName=ChkSQL(Request(UserNa
27、me) 使用md5()函数加密密码UserPassword=md5(Request(UserPassword)在数据库中查找用户strSQL=SELECT * FROM UserInfo WHERE UI_Name_S=&UserName&objRS.Open strSQL,objConn,1,3判断用户是否存在若用户不存在则通过GetErr()函数提交并显示错误代码If objRS.BOF Or objrs.EOF ThenobjRS.Close Set objRS=NothingResponse.Write GetErr(3)Response.EndElse若用户存在,则检测用户密码的正误
28、If objRS(UI_Password_S)UserPassword ThenobjRS.CloseSet objRS=NothingResponse.Write GetErr(4)Response.EndEnd IF判断用户是否被锁定If objRS(UI_IsLocked_B)=True ThenobjRS.CloseSet objRS=NothingResponse.Write GetErr(5)Response.EndEnd If建立用户私有变量Session.Timeout =30Session(UserID)=objRS(UI_ID_N)objRS.Close每当有用户登录则刷新
29、数据库,判断是否有自行车的预订超时或超期未还strSQL=SELECT TAC_ReserveTime_D,TAC_StartTime_D FROM Tenancy”&_” WHERE TAC_StartTime_D IS NULLobjRS.Open strSQL,objConn,1,3For i=1 To objRS.RecordCount有超时的预订则删除If IsNull(objRS(TAC_StartTime_D)=True And&_ DateDiff(h,objRS(TAC_ReserveTime_D),Now()12 ThenobjRS.DeleteEnd IfobjRS.Mo
30、veNextNextobjRS.ClosestrSQL=SELECT * FROM Tenancy WHERE TAC_StartTime_D”&_” IS NOT NULL AND TAC_EndTime_D IS NULLobjRS.Open strSQL,objConn,1,3Dim MsgUserFor i=1 To objRS.RecordCount有超期租赁的则标注If DateDiff(d,DateAdd(d,objRS(TAC_Lease_N),&_objRS(TAC_StartTime_D),Now()=objRS(TAC_Lease_N) ThenstrSQL=UPDATE
31、 Tenancy SET TAC_TimeOut_B=True,”&_”TAC_MsgUser_B=True WHERE TAC_ID_N=&objRS(TAC_ID_N)objConn.Execute(strSQL)End IfobjRS.MoveNextNextobjRS.Close跳转回主页Response.Redirect index.aspEnd If%3.5自行车浏览模块设计自行车浏览模块的功能是让用户找到自己感兴趣的自行车,找到后可以进行预定。实现后的效果如图3-5所示。图3-5 自行车流量模块效果图3.6用户信息模块设计此模块是为了显示用户的预定、租赁关系与租赁关系提醒所设计的
32、。使用此模块,用户可以查看自己预定了哪些自行车,租了哪些自行车,哪些自行车将要到期、哪些自行车已超过了归还期限。点击这些自行车的名称后操作将交给disprent.asp用于显示详细的预定及租赁信息。此模块是嵌入在用户界面头head.asp当中的。在此模块中通过Select Case判断自行车的状态后,再使用If和DateDiff函数结合判断自行车的状态是将要到期还是已经超期。实现后的效果如图3-6所示图3-6 用户信息模块设计3.7用户资料管理模块设计此模块的设计也运用了页面与代码的分离技术。用户可以通过此功能模块察看和修改自己的资料。如果是管理员的话,则可以修改用户的状态。此模块的表单域中包
33、含三个隐含的域:uid、IsModify和ChangeBy。uid传递的是用户ID; ChangeBy是根据用户是否为管理员来判断是否要更新用户基本信息外的属性实现后的效果如图3-7。图3-7用户资料管理模块实现效果图3.8 查看用户租赁关系模块设计此模块的功能是让用户查看现存的租赁关系,包括预订和租赁。可以得到租期和租金的信息。如果是以管理员身份查看租赁关系,则可以连接到起租与结算的页面,执行相应的操作。在此模块中,会通过Session(“UserID”)来读取数据库中的用户信息,判断用户是否是管理员。那为什么不使用ChkAdmin.asp来判断用户是否是管理员呢?这是因为ChkAdmin.
34、asp的作用仅仅是判断用户是否是管理员,如果不是管理员则终止操作。而查看用户租赁关系模块是用户与管理员公用的模块,所以如果使用ChkAdmin.asp来判断用户是否是管理员,会使不是管理员的用户无法继续进行操作。此模块可以计算出用户所要支付的实际租金,便于管理员对租赁收费进行管理。实现后的效果如图3-8图3-8 查看用户租赁关系实现效果图3.9用户预订自行车模块设计此模块的功能是用户预订自行车。当用户预订自行车后,预定的状态会保存12小时。若12小时内用户没有去起租自行车,则预订会被删除。如果用户不是管理员且有超期未还的自行车,则不可以预订自行车,直到超期未还的自行车归还为止。此模块实现效果图
35、如图3-9和图3-10。图3-9 用户预定自行车图3-10 用户预定自行车成功3.10用户注销登录模块设计此模块的作用是注销用户的登录。其原理是结束用户的私有变量Session(“UserID”)。例程3-2用户注销登录Logout.asp第四章 系统通用功能模块和管理界面4.1系统通用模块 以下是本系统的一些通用文件。Head.asp 统一格式的页面头Bottom.asp 统一格式的页面尾ChangePage.asp 页面转换ChkAdmin.asp 检查用户是否具有管理权限ChkErr.asp 根据错误代码提取错误信息及解决对策Conn.asp 数据库联接Md5.asp 用户密码加密Nav
36、bar.asp 自行车类型导航条ResultMsg.asp 输出操作结果信息 UserLogin.asp 用户信息Style.css 页面风格INCInc.js 通用Javascript脚本(1)CONN.ASP4.2管理界面管理界面的设计采用了框架的结构,框架构建文件为admin_index.asp,可以根据Request(“Type”)获取用户需要显示的管理页面。这样的设计可以使用户使用清晰明了,能快速找出所要使用的功能。admin_menu.asp为管理项目列表,所在的框架名称为leftFrame。而mainFrame显示的是管理选项页面。在每个管理界面当中均采用方法引用了ChkAdmi
37、n.asp文件,这种设计是为了检测用户是否拥有管理权限,防止没有管理权限的用户非法篡改系统数据。在管理界面中包含这几个模块,系统信息的查看与修改,用户管理,自行车管理,起租与结租模块。第五章 系统要点、难点5.1系统安全性系统的安全性,在传统经典的C/S架构中就已经得到了充分的重视,自从电子商务诞生以来,新兴的B/S架构系统安全性也成为了一个新兴的问题。安全性问题的产生,可能很多读者认为多与网络系统与服务器有关,类似于DoS之类的名词耳熟能详。殊不知在系统开发的过程中,却隐藏着更多更具有破坏性的安全问题。SQL漏洞注入是一个很简单,同时又很复杂的问题。简单的说,SQL漏洞注入是通过浏览器提交特
38、殊的代码,从而收集服务器、程序或数据库信息。而获取数据库中的信息,又往往是实行SQL漏洞注入者的主要目的。在程序当中,很可能出现类似于显示用户这样的html代码。如果把“dispuser.asp?id=1”改成“dispuser.asp?id=1 and ui_isadmin_b=true”,并在浏览器地址栏里提交,如果程序中没有相应的措施,那么这个SQL漏洞注入就算是成功了。在SQL语言当中,单引号“”是格外需要注意的。利用好单引号,可以构造出极具攻击性漏洞注入,例如在程8-1的文本框中输入“1 or ui_name_s like %”,那么程序就会将所有用户都罗列出来。所以在此案例中,使用
39、Replace函数过滤单引号是非常常见的。5.2故意入侵的防范大多数故意入侵,都是针对程序漏洞进行的。前节的SQL漏洞注入。对于入侵的防范,大体可以依据以下几条消除:(1)在页面中传递数据时,尽量使用数值类型的数据传递,因为数值类型的数据比较好判断;(2)在程序设计时,判断出非法的数据类型后,要及时终止程序的运行并提交错误,最好还能够将错误记录进入数据库供用户判断;(3)如果程序运行不能被终端,则将此数据强制变更为系统合法格式的数据;(4)对用户提交数据中输入的空格的判别要格外注意。比如一个用户注册,输入的用户名是一排空格,那么使用IsEmpty或者Request(“UserName”)=”是
40、可以蒙混过关,但在将注册插入数据库或者显示出来时,这个用户的用户名便不可见了。遇到需要判别输入空格情况的。5.3安全防范对于敏感的数据,应确保数据库连接字符串,最好不要保存在文本文件中,比如,可以将其保存在Application对象中。一个安全性比较高的做法是将敏感数据编译进一个ActiveX组件中,其缺点在于数据改动时需要重新编译组件。如果保存包含文件,包含文件不要使用*.inc后缀名,建议使用*.asp后缀。为了保护ASP应用程序,要在应用程序的Global.asa文件上为适当的用户或用户组设置NTFS文件权限。如果Global.asa包含浏览器返回信息的命令而没有保护Global.asa
41、文件,则信息将被返回给浏览器,即便应用程序的其他文件被保护。5.4错误处理(1)ASP错误处理机制在我们调试ASP脚本时经常会出现一些错误信息,其实我们只要在做脚本时稍考虑一下错误处理,就会让编制出的应用程序更加合理。常见的ASP错误的类型大致包括编译错误、运行错误和逻辑错误三种。编译错误出现一般都是代码的语法问题。因为编译错误而导致ASP停止运行。运行错误多发生在准备运行ASP时的,例如,如果试图给一个变量赋值,但是却超出该变量允许的范围。逻辑错误是最难发现的,这种错误是一种结构错误,计算机发现不了,这就需要我们彻底检查代码。在页面中出现这样一种错误,错误类型:Microsoft OLE D
42、B Provider for SQL Server(0x80040E37)Invalid object name admini /aspspecial/error_handle/test.asp,第10行此错误页面实际是在IIS中存在的一个ASP页面500-100.asp,在出现错误时候IIS在后台使用Server.Tansfer()方法调用页面500-100.asp将错误返回给用户。修改该页面错误是,打开IIS默认web站点的属性页,选择自定义错误信息标签。在HTTP错误信息列表中找到500;100HTTP错误类型,单击“编辑属性”按钮可以修改处理ASP错误页面。(2)开发时错误处理开发程序
43、时如果出现错误,我就希望得到最详细,精确的错误信息。同时,如果将忽略错误后的运行结果同时也提示出来,是最好的。现在制定一个错误处理页面,制定好后可以对程序的错误进行处理。这样经过制定后,可以提供更多的错误信息,同时,即使在页面出错之后仍能看到页面的输出,这可以让开发将输出结果与期望结果比较,更快地找到更多错误信息。(3)防止错误为了在编写程序过程中尽量少出错误,养成良好的编程习惯非常必要。主要注意代码的格式和缩进编排;变量现实表明;变量转换为合适的数据类型;使用有意义的变量命名约定;封装脚本;注意潜在的错误情况;及时对程序进行测试。同时要给代码加注释,尽量对代码进行封装,可以封装为函数,子程序
44、或者包含页面,然后使用SSI或者Server.Execute调入。经过测试的共用代码是很可靠的。第六章总结与展望6.1总结自行车管理系统的开发用时近3个月,在设计和开发过程中遇到过很多问题,在解决这些问题的过程中,让我学会了如何去解决所遇到的问题,使我学会了怎样有效的学习;培养了我的自我学习能力和沟通能力;学会了如何充分利用图书馆和网络这无限的资源查找资料;更锻炼了我的意志。在这过程当中也令我认识到了做一个项目的难易程度和其中的艰辛,对我今后的工作也有莫大的帮助。在自行车在线出租管理系统完成时,还存在一些问题:一方面本系统基本上使用的大部分技术及分层开发开思想,如想要真正做到分层并受到它的好处
45、应大量使作组件技术;另一方面本系统存在一个的缺点,就是大部分数据都使用URL重写的方法来传输数据,安全性和稳定性不太好,这是比较危险的。这两点还有待于今后的继续改进和完善。6.2展望自行车出租管理系统只是众多在线管理系统当中的一个,自行车出租管理系统发展到如今,已经比较成熟。在今后,自行车出租管理系统的发展将更加的灵活与完备。在现今这交通拥挤的社会,自行车出租将会在很大程度上方便于市民出行,对于缓解城市交通拥堵有很大的帮组;而且减自行车出租将大大减少对环境污染,因为它没有噪声和废气污染。如果本系统能在防盗和租用方面更加智能化和人性化,使“前卫租车器”现身网络和现实生活,需要我们共同努力。就目前来说这种自行车自动租赁机是个不错的方案,在机器中投币,就可以租用一辆漂亮的自行车,旅行到目的地后,再把所租用的自行车存到附近的另一台机器中就可以了,既方便又保险。目前,世界上很多城市都提供自行车租赁服务,也有相关方面的租