基于jsp的汽车租赁系统的设计与实现(含源文件)_第1页
基于jsp的汽车租赁系统的设计与实现(含源文件)_第2页
基于jsp的汽车租赁系统的设计与实现(含源文件)_第3页
基于jsp的汽车租赁系统的设计与实现(含源文件)_第4页
基于jsp的汽车租赁系统的设计与实现(含源文件)_第5页
已阅读5页,还剩67页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

最新基于jsp的汽车租赁系统的设计与实现(含源文件)摘要随着汽车工业的发展和汽车在现实生活中的普及,汽车租赁成为近年来兴起的一个新行业。为规范管理和经营行为,减少经营成本,提高工作效率,开发汽车租赁管理系统变得十分有必要。该汽车租赁管理系统的设计目的是让繁杂的租赁操作变简单,变高效。对于汽车租赁公司特别是资金不充分的企业尤为适合,该系统带来的方便与效率化,必然为公司减少财务支出,提高工作效率。本系统使用MySQL数据库和Java语言实现了一个基于JSP的汽车租赁管理系统。其开发主要包括前端应用程序的开发以及后台数据库的建立和维护两个方面。前台操作包括:用户可以进行会员注册,浏览查询车辆信息,查看加盟商信息,给管理员留言,对车辆进行在线预定。后台操作包括:管理会员信息资料,管理新闻信息,管理会员的留言,管理车辆信息,管理加盟商信息,管理订单信息等。该系统以网络为平台,界面简洁,操作简单,易于掌握,简化租赁活动记录手续,提高了租赁周转时间。关键词:汽车租赁;管理系统;MySQL;JSPAbstractWiththedevelopmentoftheautomobileindustryandthepopularityofthevehiclesinreallife,thecarrentaltobecomeanewindustryfortheriseinrecentyears.Regulatethemanagementandconductofoperations,reduceoperatingcosts,improveefficiency,thedevelopmentofcarrentalmanagementsystemhasbecomeverynecessary.Thecarrentalmanagementsystemisdesignedtogivethecomplex'sleasingoperationsimpleandefficientchange.Particularlysuitableforthecarrentalcompanies,especiallythefundsarenotfullyenterprise,thesystembringsconvenienceandefficiency,willinevitablyreducefinancialexpendituresforthecompany,improveworkefficiency.ThesystemusesMySQLdatabaseandtheJavalanguagetoimplementaJSP-basedcarrentalmanagementsystem.Includesthedevelopmentoffront-endapplicationdevelopmentaswellastheestablishmentandmaintenanceoftwoaspectsoftheback-enddatabase.Thefrontdeskoperationsincluding:userscanRegister,browsetocheckvehicleinformation,viewfranchiseeinformation,amessagetotheadministrator,onlinebookingofthevehicle.Backgroundoperationinclude:managememberinformation,managenewsandinformation,management,membersofthemessage,tomanagevehicleinformation,managementfranchiseeinformation,manageorderinformation.Thesystemtothenetworkasaplatform,simpleinterface,simpleoperation,easytograsp,tosimplifytherecordformalitiesforleasingactivities,leaseturn-aroundtime.Keywords:Carrental;Managementsystem;MySQL;JSP目录1绪论 11.1系统背景 11.2系统目标 21.3系统开发环境和技术介绍 2技术介绍 2系统开发环境 51.4章节安排 52系统分析 62.1可行性分析 6操作可行性分析 6开发环境的选择 72.2需求分析 8功能模块需求 82.2.2系统数据流图 11数据字典 143系统设计 173.1概要设计 17设计原则 17系统结构分析与设计 17系统三层模式 183.2数据库设计 204系统实现 244.1用户注册 244.2前台功能模块 24前台默认界面 24车型报价 26在线订车 274.3后台功能模块 27后台默认界面 28用户管理 28租车管理 29订单管理 30留言管理 334.4问题解决 355系统测试 385.1系统测试 385.2系统测试方案 385.3系统检测过程 396总结 41参考文献 42致谢 431绪论1.1系统背景随着经济的发展和生活水平的提高,人们对汽车的需求越来越大,但中国现状是现有汽车难以充分满足需求,购买私家车还不能普及。从个人角度来说,租车是最好的,买车一次性投入大,购车的手续多,养车费用高,而私家车的利用率一般不高,闲置时间较长,出现交通事故后,处理手续太烦琐。而租车则有很大的灵活性,既不会占用大量资金,也不会出现闲置,车况有保证,出差到外地也可以驾驶车辆,租赁车型可选择,满足客户多样化的需求。从社会角度看,租赁车辆属于公共用车的范畴,它既缓解了现阶段财政控购与企业单位用车之间的矛盾,提高了资金利用率,同时也符合社会车辆总量控制原则,可在一定程度上缓解交通拥挤。从发展角度看,汽车租赁业的发展不仅可以带动中国的新车销售,同时还可以推动中国二手车的经营,为旧车交易注入新的资源。汽车租赁的特殊作用,可以带动多种相关行业的发展,融合产业间的联系,成为第二产业与第三产业间的联系纽带。得益于以上几个方面的原因,汽车租赁业在我国迅速崛起,业务量也是越来越多,对信息的处理要求也是越来越高,传统的汽车管理人员已不满足汽车租赁业务的需求发展。租赁管理就是对车辆信息和客户信息的管理,主要包括车辆的出租状态、车辆的基本信息、定单的管理等。这些操作过程之间的关系复杂,其中有一对一的关系,一对多的关系,也有多对多的关系,所有这些操作使管理工作变得量大而又复杂。现实生活中还有很多汽车租赁公司采用人工管理,直接导致了一些不可避免的错误产生,服务质量低下。汽车租赁管理系统的开发使得这一状况得到了根本的改善。本系统充分利用计算机庞大的存储空间,高性能的处理效率,高度可靠的数据安全,清晰的可视化数据等这些资源,通过合理有效地利用这些资源使其真正达到减少劳动力,提高劳动效率的目的。根据目前的需求,设计了一套具有网络功能的汽车租赁管理系统,客户可以通过网络查阅相关的汽车租赁情况,企业的管理人员可以根据客户的实际情况进行管理,具有很强的实用性,操作简易方便,提高了工作效率。

1.2系统目标使用MySQL数据库和JSP设计完成的汽车租赁管理系统,一方面可以实现租赁车辆信息共享。管理员上传租赁车辆的一些描述信息、图片等,用户就可以在线浏览,对所属的租赁车辆有更感官的了解。当遇到不解的问题,还可以在线留言,等待管理员的解答;另一方面通过Internet网广泛平台以及计算机庞大的存储空间,高性能的处理效率,高度可靠的数据安全等优点,准确的记录租赁信息,计算租赁排行,并将信息结果清晰地显示出来便于管理员管理。将本系统应用到租赁汽车行业中,会大大增加租赁会员的数量,客户也会及时得到更新的租赁信息等。同时也方便管理员查看租赁情况,减少人工统计的时间,节省成本,加快汽车租赁的周期。1.3系统开发环境和技术介绍技术介绍本系统采用MyEclipse8.0作为开发工具,MySQL5.1作为数据库用来存储系统数据。MyEclipse8.0整合其他很多工具(比如Tomcat等等)到它的IDE中一起工作,程序员可以方便有效地开发项目。MySQL5.1使用了先进的数据库结构,可以为中型的Web站点和企业应用提供优良的扩展性。同时MySQL5.1还为用户提供了重要的安全性处理功能,为用户的数据安全提供了可靠的保证。(1)JSP技术为了快速方便地进行动态系统的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态系统的首选方案。①将内容的生成和显示进行分离使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和JavaBeans组件中,并且将其捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容,并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。

②可重用组件绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。③采用标识Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性等功能。④适应平台几乎所有平台都支持Java,JSP+JavaBeans可以在大多数平台下运行。将程序从一个平台移植到另外一个平台时,JSP和JavaBeans甚至不用重新编译就可以使用,因为Java字节码都是标准的与平台无关的。⑤数据库连接Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。(2)级联样式表CSS是CascadingStyleSheets(层叠样式表单)的简称,更多的人把它称作样式表。CSS语句可以实现许多需要专业软件才可以达到的效果,利用其属性可以设置字体、颜色、背景等页面格式;利用定位可以使页面布局更加规范;利用滤镜可以使页面产生多媒体效果等特点。实际上CSS的代码都是由一些最基本的语句构成的。它的基本语句的结构是:选择符{属性:属性值}。独立编辑好的CSS文档有两种方法加入到HTML文档中:一种是把CSS文档放到<head>文档中;另一种方法是把编辑好的CSS文档保存成“.CSS”文件,然后在<head>中定义。这两种方法中第二种方法非常适宜同时定义多个文档,它能使多个文档同时使用相同的样式,从而减少了大量的冗余代码。

(3)开发工具MyEclipse8.0的简介及特点MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大地提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、Struts、JSP、CSS、Javascript、Spring、SQL、Hibernate等技术。在结构上,MyEclipse的特征可以被分为7类:JavaEE模型;WEB开发工具;EJB开发工具;应用程序服务器的连接器;JavaEE项目部署服务;数据库服务;MyEclipse整合帮助。(4)服务器tomcat的简介及特点Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。(5)数据库mysql的简介及特点MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。在2008年1月16号被Sun公司收购,而2009年SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就加快了速度并提高了灵活性。SQL是用于访问数据库的最常用标准化语言,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体开发成本。系统开发环境系统开发环境主要有计算机的硬件平台和软件平台。(1)硬件平台:处理器:P42.0GHz内存:1G以上(2)软件平台:操作系统:WindowsXP(推荐)/Windows2000/Windows2003数据库:MySQL5.1开发环境:JAVA1.6开发工具:Myeclipse8.0开发语言:JSP服务器:Tomcat5.5浏览器:IE6.0以上分辨率:最佳效果1024×768像素1.4章节安排本系统采用MVC框架,Java语言及MyEclipse开发平台完成基于JSP的汽车租赁管理系统的设计与开发。主要分为六章,内容安排如下:第1章介绍设计的研究背景及其系统开发环境和相关技术介绍。第2章主要对本系统进行可行性分析及其系统的需求分析。第3章介绍系统总体结构分析与设计和数据库的设计及说明。第4章阐述系统系统功能设计以及主要功能模块的实现等内容。第5章系统测试的相关知识及其本系统测试的详细信息。第6章对全文的总结和对未来工作的展望2系统分析2.1可行性分析操作可行性分析(1)经济方面可行性现在计算机的价格已经十分低廉,性能却有了很大的进步。而开发本系统对系统开发者来说,并不需要太高的成本支出,开发周期不需太长,节省了人力、物力、财力、资源,所以本系统在经济上是可行的。(2)技术上可行性根据新系统目标来衡量所需的技术是否具备,一般可从硬件、软件的性能要求、环境条件、技术人员和数量等方面去考虑和分析,其中开发人员的技术力量应首先考虑能力与水平,人员要求能够熟练的运用开发工具,具有一定的开发编程能力,熟悉汽车租赁业务流程的基本功能。通过课程设计MVC框架编程训练,掌握了架构的使用规则,应用模块组件的实现、测试、和维护。使用Tomcat服务器实现了系统的Browser/Server结构。系统的开发采用优秀的关系数据库来管理系统,MySQL5.1作为本系统的数据库能和windows以及当前各种系统很好的兼容搭配。使用MyEclipse作为系统开发的开发环境,利用它在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高了工作效率。MyEclipse完备的编码、调试、测试和发布功能,完整支持HTML、Struts、JSF、CSS、Javascript、SQL、Hibernate等,这一特点非常有利于以后对本系统的扩展与修改。综上所述本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此它在技术上是可行的。(3)性能效益可行性所开发的系统能满足汽车租赁管理系统的基本功能要求和展示网站的特点风格,在处理运算速度、存储量以及响应时间上完全能满足系统要求。根据上述三方面进行分析研究后,认为该项目的开发是可行的。

开发环境的选择(1)B/S结构B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式数据库应用相对易于把握,成本也是较低的。它是一次性到位的开发,能实现不同的人员从不同的地点以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库,它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,系统可以自动分配给用户一个账号进入系统。C/S(客户机服务器模式)结构软件分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。由于服务器连接个数和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。B/S(浏览器服务器模式)是随着Internet技术的兴起,对C/S结构的一种改进。在这种结构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只需要浏览器即可进行业务处理,是一种全新的软件系统构造技术。这种结构已经成为当今应用软件的首选体系结构。

(2)MVC架构MVC(ModelViewController)模型(model)-视图(view)-控制器(controller)。图2-1MVC三成架构图MVC是三个单词的缩写,分别为:模型(Model)、视图(View)和控制(Controller)。MVC模式的目的就是实现Web系统的职能分工。Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。View层用于与用户的交互,通常用JSP来实现。Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。2.2需求分析功能模块需求根据汽车租赁管理系统任务需求将系统划分为前台和后台两大模块,其中系统用户又分为不同权限的用户:游客、会员、超级管理员三种权限用户。(1)游客的主要功能需求游客权限只限于前台操作,可以浏览租赁车辆信息,例如:车辆的座位数、日租金额、月租金额、租车押金等车辆信息;游客可以进行会员注册,填写信息有:用户名(必填项)、密码、邮箱等;游客可以进行匿名留言,留言后管理员在后台可以看到就可以处理用户的留言。游客游客浏览车辆信息匿名留言注册会员图2-2游客功能图(2)会员的主要功能需求在前台会员可以浏览租赁车辆信息,同游客一样可以查看租赁车辆的基本信息,并且会员可以在线租赁车辆,在车型报价页面查看、预定;会员可以给管理员留言。在后台会员可以查看租赁进度;可以查看租赁车辆订单的历史纪录;可以发布并管理自己的新闻信息;可以管理个人留言信息。会员浏览租赁车辆信息管理个人新闻信息添加新闻信息会员浏览租赁车辆信息管理个人新闻信息添加新闻信息管理个人留言信息查看订单进度信息查看订单历史记录

(3)管理员的主要功能需求系统中管理员具有最高的管理权限,前台管理员可以有游客和会员的权利,后台管理员可以管理会员信息;可以对租赁车辆进行管理;可以查看、回复用户的留言;可以对租赁订单进行管理。管理员管理员管理会员信息管理车辆信息管理新闻信息管理订单信息管理留言信息管理加盟商信息图2-4管理员功能图(4)本系统的主要功能模块本系统的主要功能模块有用户信息管理、新闻信息管理、车辆信息管理、加盟商信息管理、订单信息管理、用户留言交互信息管理等。在用户信息管理模块,管理员可以查看、添加、修改、删除会员的信息;新闻信息管理模块,管理员可以查看、添加、修改、删除新闻信息;车辆信息模块,管理员可以查看、添加、修改、删除车辆信息,当需要添加或减少已经添加的车辆信息时可以在修改车辆模块里面添加或减少车辆的数量;加盟商信息模块,管理员可以查看、添加、修改、删除加盟商信息;订单信息模块,管理员可以处理存在的订单信息,查看订单历史记录;留言信息模块,管理员查看并回复客户的留言信息。

2图2-5系统功能图基于JSP的汽车租赁管理系统图2-5系统功能图基于JSP的汽车租赁管理系统用户信息管理新闻信息管理订单信息管理添加用户信息查看用户信息修改用户信息删除用户信息修改新闻信息查看新闻信息添加新闻信息删除新闻信息管理订单记录查看订单记录订单历史记录删除订单信息留言信息管理车辆信息管理加盟商信息管理回复留言信息查看留言信息删除留言信息修改留言信息修改车辆信息添加车辆信息查看车辆信息删除车辆信息添加加盟商信息查看加盟商信息修改加盟商信息删除加盟商信息通过结构化分析方法,使用数据流图DFD描述系统中数据流程,标识了一个系统的逻辑输入和逻辑输出以及把逻辑转换逻辑输出所需的加工处理。

(1)顶层数据流图图2-6汽车租赁管理系统顶层数据流图(2)第一层数据流图图2-7汽车租赁管理系统

(3)第二层数据流图处理游客请求可以划分为浏览查询和注册。处理会员请求可以细化为浏览查询,登录,租赁,留言,添加新闻信息。处理管理员请求可以细化为发布新车辆,车辆更新,订单管理,新闻管理,加盟商管理和留言回复。图2-8处理游客请求细分

图2-9处理会员请求细分图2-10处理管理员请求细分数据字典(1)外部实体定义名称:会员

输入数据流:查询信息、发布新闻、租赁订单、添加订单输出数据流:订单信息、车辆信息、留言信息、新闻信息名称:游客

输入数据流:查询信息、注册信息输出数据流:车辆信息、留言信息、新闻信息名称:管理员

输入数据流:车辆更新信息、订单处理、用户信息、新闻信息、加盟商信息、留言信息输出数据流:查询信息(2)处理过程定义名称:处理游客请求编号:P1

输入数据流:浏览查询要求、注册信息、留言输出数据流:浏览查询结果名称:处理会员请求编号:P2

输入数据流:浏览查询要求、留言、租赁订单、发布新闻输出数据流:浏览查询结果、订单信息、车辆信息名称:处理管理员请求编号:P3

输入数据流:车辆更新信息、审批申请、报表查询要求、留言输出数据流:浏览查询信息、处理订单结果、留言回复(3)数据流定义名称:注册信息数据流简述:注册会员需要填写的信息数据来源:游客数据项组成:[用户名|密码|邮箱|性别]名称:浏览查询要求数据流简述:查询车辆信息数据来源:游客、会员数据项组成:[车辆信息]名称:浏览查询结果数据流简述:显示浏览查询的结果数据去向:会员数据项组成:车辆信息、新闻信息、加盟商信息

名称:留言数据流简述:各种留言,用户对服务的评价数据来源:游客、会员数据项组成:留言,用户对服务的评价名称:留言回复数据流简述:回复留言,用户对服务的评价数据去向:会员数据项组成:回复用户对服务的评价名称:租赁订单数据流简述:租赁信息描述数据来源:会员数据项组成:[身份证编号|还车时间|押金]名称:车辆更新信息数据流简述:新车辆发布、修改、删除信息数据来源:管理员数据项组成:车辆信息3系统设计3.1概要设计设计原则本系统遵循软件工程规定的设计方法和步骤,对系统进行细致地分析研究后,确定了以下基本设计原则:(1)实用性:尽量选择成熟实用的技术,使得整个系统有一个安全、稳定的运行环境。(2)安全性:为了保障系统平稳正常的运行以及数据的完整性,整个系统必须有很好的安全性,必须加强数据库的安全保密设计。(3)开放性:该系统在建设上必须加强标准化及采用统一的技术规范,以实现网络互联、资源共享、高效运行和科学管理。系统结构分析与设计系统分析的任务是明确汽车租赁系统开发的目的、系统应用的功能等,主要有以下步骤:(1)软件结构分析对于大型系统的设计,通常分为两个阶段:结构设计和过程设计。结构设计:确定系统由哪些模块组成,以及这些模块之间的相互关系。过程设计:确定每个模块的处理过程。其中,结构设计是总体设计阶段的任务,而过程设计则是详细设计阶段的任务。这里只是一个小型的数据库管理系统,只分析构成它们最基本的成分以及所有这些成分之间的相互关系。结构分析就是系统分析人员对完成任务的每一个工序进行分析的过程。系统开发的过程首先是要确定需要建立的表格以及视图,即首先完成数据库的设计,这个过程主要是通过MySQL数据库来完成的;其次,就是进行界面的设计,这个过程是在MyEclipse中完成的,它是系统开发中比较重要的一步,系统界面在用户对软件的评价中占有很大的比重,影响到本系统开发的成功与否。最后就是详细代码的编写以实现系统的主要功能。(2)工作量分析对工作量的分析是以分析传统汽车租赁管理系统的各种工作量为基础的。分析包括输入量分析、显示分析、文档结构、程序编制、调试状况分析等,一般有问题分析与综合、数据库组织与结构的分析、文档结构分析与编制、子系统处理过程分析、与用户充分交流的分析、显示界面的分析、程序编制、调试状况分析和软件测试对象的分析等。整个系统主要由前台系统、后台管理两个部分组成。这个系统制作的基本目标是:结构清晰、内容丰富、方便快捷。本着这样的总体设计思想,又将需求分析具体化:=1\*GB3①用户操作方便,系统的运行可以给用户带来很大的便利。=2\*GB3②系统的运行可以节省许多资源。=3\*GB3③界面友好、美观、大方。=4\*GB3④系统的概要设计最重要的就是将系统模块化。模块化是指在解决一个复杂问题时自顶向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性和可维护性,同时系统设计的模块化也为提高系统的可扩展性和系统的可移植性提供了方便,但模块的划分不能是任意的,应尽量保持其独立性。也就是说每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。3.1.3系统三层模式本系统采用三层架构模式:表示层(JSP页面),业务逻辑层(DAO模式),控制层(SERVLET),程序中业务的控制由控制器来负责,通过web.xml配置文件可以由系统负责判断某个JSP页面该调用哪个控制类中的哪个方法来处理请求,控制器再将请求的相关参数传递给实例化好的DAO组件,进行页面跳转。

(1)数据库连接DB包下设计了一个DBuser.java类,有getConnection()方法用来与数据库建立连接,close()方法用来关闭与数据库的连接。(2)表示层表示层主要是系统中的JSP页面,整个系统的实现通过主要页面的跳转实现。前台实现的功能主要为用户可以浏览系统提供的新闻信息、租赁车辆信息、供应商信息、公司招聘信息、公司的联系方式,并且可以在线预订车辆。前台主要页面有:default.jsp:默认首页;news.jsp:新闻信息页面;chexing.jsp:车型报价页面;order.jsp:在线预订页面;companys.jsp:联盟企业页面;job.jsp:招聘精英页面;company.jsp:联系我们页面;addmessage.jsp:留言页面;index.jsp:后台管理员登录页面。后台实现的功能为管理用户信息、新闻信息、车辆信息、加盟商信息、订单信息、留言信息。根据用户权限的分配有不同的显示界面。后台主要页面如下图所示:图3-1后台主要页面图(3)控制层这些控制在web.xml中都有配置。(4)业务逻辑层业务逻辑层是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计。处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。3.2数据库设计本系统数据库选择MySQL数据库,管理软件为NavicatforMySQL。数据库构建步骤为建立数据库连接,创建数据库,构建所需的表格,添加数据。创建新的数据库,名称为qczl。图3-2创建数据库双击打开刚才新建的数据库,选择表,点击右键新建数据库表,本系统的数据库中包含6张表,分别为:bus(汽车信息表)、franchisee(供应商信息表)、message(留言信息表)、newsinfo(新闻信息表)、orderinfo(订单信息表)、user(会员用户信息表)。

(1)对应的表结构依次是:表3-1bus汽车信息表idint11namevarchar20typevarchar20weishuvarchar11yajinvarchar20offervarchar50miaoshuvarchar1000dailyvarchar100monthvarchar100overtimevarchar100imgvarchar1000remainint20rentint20表3-2franchisee供应商信息表idint11namevarchar20provincevarchar20telvarchar50addressvarchar100ingvarchar1000miaoshuvarchar500regtimedate0topint1表3-3message留言信息表idint11sexvarchar4namevarchar20emailvarchar20contentvarchar1000gbdatevarchar20redatevarchar20recontentvarchar1000

表3-4newsinfo新闻信息表newsinfo_idint10newsinfo_uidvarchar10newsinfo_titlevarchar200newsinfo_typevarchar10newsinfo_contentvarchar1000newsinfo_datedate0newsinfo_updatetimedate0图3-5orderinfo订单信息表idint11useridint11busidint11orderdatevarchar20returndatevarchar20uservarchar20telvarchar20needsvarchar1000idcardvarchar18stateint1disableint1表3-6user会员用户信息表user_idint4user_namevarchar20user_passwordvarchar20user_sexvarchar2user_emailvarchar50user_regtimevarchar0user_typevarchar12

(2)表与表之间的关系外键主键主键user_iduser_nameuser_passworduser_sexuser_emailuser_regtimeuser_type主键iduseridbusiduser…telneedsidcardstatedisableidnametypemiaoshu…totalremainrentstatetopuser用户orderinfo外键主键主键user_iduser_nameuser_passworduser_sexuser_emailuser_regtimeuser_type主键iduseridbusiduser…telneedsidcardstatedisableidnametypemiaoshu…totalremainrentstatetopuser用户orderinfo订单bus汽车外键franchisee加盟商message留言idsexnameemailcontentgbdateredaterecontenttopnewsinfo_idnewsinfo_uidnewsinfo_titlenewsinfo_typenewsinfo_contentnewsinfo_datenewsinfo_updatetime主键外键franchisee加盟商message留言idsexnameemailcontentgbdateredaterecontenttopnewsinfo_idnewsinfo_uidnewsinfo_titlenewsinfo_typenewsinfo_contentnewsinfo_datenewsinfo_updatetime主键主键主键idnameprovinceteladdressimgmiaoshuregtimetopnews新闻4系统实现4.1用户注册用户注册验证成功后,则跳转到登录页面进行登录操作;如果注册验证不成功则提示用户注册失败原因重新填写注册信息。注册页面流程图如下图所示:帮助提示不通过重新填写个人资料通过合法用户资料审核会员注册填写个人资料(用户名、密码邮箱等)帮助提示不通过重新填写个人资料通过合法用户资料审核会员注册填写个人资料(用户名、密码邮箱等)图4-1注册页面流程图4.2前台功能模块导航栏里面有7大模块,分别为:首页、新闻中心、车型报价、在线订车、联盟企业、诚聘精英、联系我们,对应7个前台页面。前台默认首页从数据库里面调出最新上传的五款车辆信息,以及最新上传的前十条新闻记录。新闻中心页面显示的主要内容是从数据库里面按照时间倒序调出的新闻信息。联盟企业页面列出所有加盟商的信息,包括供应商的名称、联系电话、公司地址、公司的一些介绍、公司商标等。招聘精英页面则显示公司的一些招聘信息。联系我们页面列出公司的一些联系方式。下面则主要介绍本系统中主要功能模块。前台默认界面前台默认首页上面从数据库里面调出最新上传的五款车辆信息以及最新上传的前十条新闻记录和公司的一些介绍图片。图4-2前台默认页面核心代码:<%Iteratorit=list.iterator();while(it.hasNext()){Carinfocarinfo=(Carinfo)it.next();%><divclass="fllist_left"><imgsrc="<%=carinfo.getImg()%>"width="255"height="200"/></div><divclass="fllist_right"> <divclass="list_right_test"><h1><b><%=carinfo.getName()%></b></h1></div> <h2>:<%=carinfo.getOffer()%></h2> <p><%=carinfo.getMiaoshu()%></p> </div><%}%>

车型报价列出所有的车辆信息,包括车辆的图片、车名、车位数、车供应商以及车辆的日租、月租、押金、超时费(元/每小时)的具体金额。用户可以在此查询出来想要租赁的车辆并点击我要租赁图片链接,经具体的车辆信息传到在线订车(order.jsp)的页面上进行在线对车的核对,并填写下一步信息进行车辆的在线订购。图4-3车型报价页面核心代码:<formmethod="post"action="csearchC.jsp"name="post"> <tablewidth="1800%"border="0"align="center"cellpadding="3"cellspacing="6"> <tr> <td>查询: <selectname="select"><!-- <option>选择类型</option> --><optionselected="selected"value="name">名称</option> <optionvalue="offer">供应商</option> </select></td> </tr> <tr> <td>关键字: <INPUTname="keyword"class="autoline02"size=15></td> </tr> <tr><tdalign="center"><inputtype="submit"name="submit"></input></td> </tr> </table></form> 在线订车从上一个页面chexing.jsp接受要预订的车辆信息,让用户进行预订前的核对,系统自动生成订单的订单号,用户需要记下自己的订单号,接着填写预定该汽车所需要的信息,包括起租时间、还车时间、订单人的姓名、订单人的联系电话、订单人的身份证号以及客户所需要的一些特殊要求,填写好信息后用户可点击“确认订单信息”进行预订。如果客户没有从车型报价页面跳转过来,这样就没有具体的参数显示,系统会默认用“***”代替具体的信息值,并提示用户在车型报价页面进行车辆挑选、预订。图4-4在线订车页面4.3后台功能模块后台模块有管理用户会员信息、管理新闻信息、管理车辆信息、管理加盟商信息、管理订单信息、管理用户留言信息。根据用户权限的不同,有不同的显示界面。管理员有最高的权限,下面介绍后台的主要功能模块。

后台默认界面此界面为系统后台登陆后的默认界面。图4-5后台默认页面用户管理此页面为系统用户的管理界面,只有系统管理员才可以管理用户,所以只有是系统管理员登陆的时候才显示此界面,而普通会员则不显示此界面。图4-6用户管理页面

添加用户,包括用户名、性别、登录密码、用户邮箱,确认信息后,点击提交按钮交给系统进行用户的添加处理。图4-7添加用户页面租车管理此页面是管理租赁车辆的管理模块,列出所有车辆信息,管理员可以点击查看按钮进行详细查阅,并可进行修改;点击删除按钮时删除该车辆对应的记录。图4-8后台租车管理页面

添加车辆信息界面,填写汽车车名、汽车类型、车辆的服务商、车位、日租金额、月租金额、车辆押金、更新汽车的数量等信息,用户填写完详细信息后点击确定按钮后由系统进行车辆信息的添加操作。图4-9后台添加车辆页面订单管理此界面用来管理订单信息模块,列出所有订单信息,用户可以点击修改按钮进行详细查阅,并可进行修改;点击删除按钮时删除该订单对应的记录。图4-10后台订单管理页面核心代码:<%Connectionconn=null;Statementstmt=null;ResultSetrst=null;StringstrSQL="";intPageSize=15;intPage=1;inttotalPage=1;inttotalrecord=0;}catch(ClassNotFoundExceptionce){out.print(ce.getMessage());}try{conn=DriverManager.getConnection("jdbc:mysql://localhost/qczl","root","root");stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);strSQL="SELECT*fromorderinfowheredisable=0orderbyiddesc";rst=stmt.executeQuery(strSQL);if(rst.next()){rst.last();totalrecord=rst.getRow();rst.first();}if(totalrecord%PageSize==0)totalPage=totalrecord/PageSize;elsetotalPage=(int)Math.floor(totalrecord/PageSize)+1;if(totalPage==0)totalPage=1;if(request.getParameter("Page")==null||request.getParameter("Page").equals(""))Page=1;elsetry{Page=Integer.parseInt(request.getParameter("Page"));}catch(NumberFormatExceptione){Page=1;}if(Page<1)Page=1;if(Page>totalPage)Page=totalPage;rst.absolute((1)*PageSize+1);out.print("<tableborder=1>");out.print("<tr><td>Oid</td><td>Uid</td><td>Cid</td><td>orderdate</td><td>returndate</td><td>联系人</td><td>电话</td><td>身份证</td><td>需求</td><td>状态</td><td>操作</td></tr>");for(intiPage=1;iPage<=PageSize;iPage++) {out.print("<tr><td>"+rst.getInt("id")+"</td>"); out.print("<td>"+rst.getInt("userid")+"</td>"); out.print("<td>"+rst.getInt("busid")+"</td>"); out.print("<td>"+rst.getString("orderdate")+"</td>"); out.print("<td>"+rst.getString("returndate")+"</td>"); out.print("<td>"+rst.getString("user")+"</td>"); out.print("<td>"+rst.getString("tel")+"</td>"); out.print("<td>"+rst.getString("idcard")+"</td>"); out.print("<td>"+rst.getString("needs")+"</td>"); if("1".equals(rst.getString("state"))){out.print("<td>"+"未出库"+"</td>");out.print("<td><ahref=updateO0?s="+"c"+rst.getInt("id")+">受理</a></td></tr>"); }elseif("0".equals(rst.getString("state"))){out.print("<td>"+"已出库"+"</td>");out.print("<td><ahref=updateO0?s="+"h"+rst.getInt("id")+">还车</a></td></tr>");} if(!rst.next())break; }out.print("</table>");}catch(SQLExceptione)finally{if(stmt!=null){stmt.close();} if(conn!=null){conn.close();}}%>在用户归还车辆后点击还车,这位条记录就不会在订单管理里面显示,自动在订单记录里面显示。这样可以使管理员方便直观的管理订单。图4-11后台订单记录页面留言管理此界面用来管理留言信息模块,列出所有留言信息,用户可以点击修改按钮进行详细查阅,并可进行修改;点击删除按钮时删除该留言对应的一条记录。图4-12后台留言管理页面在后台留言管理页面上点击回复后进入留言的修改页面,在这里可以对用户的留言进行回复。图4-13后台回复用户留言页面核心代码:<%request.setCharacterEncoding("gbk");response.setContentType("text/html;charset=gbk");Stringmid=request.getParameter("id");Messagemessage=newMessage();message=MessageDao.selectContentByID(Integer.parseInt(mid));%><formaction="updateM"method="post"><divstyle="display:none"><inputtype="text"name="id"value="<%=message.getId()%>"/></div><tablewidth="440"height="235"border="0"align="center"><tr><tdcolspan="2"align="center"><h3>更新留言</h3></td></tr><tr><tdwidth="49">昵称</td><tdwidth="381"><inputtype="text" name="name"value="<%=message.getName()%>"size="20"/></td></tr><tr><td>性别</td><td><inputtype="text"name="sex" value="<%=message.getSex()%>"size="7"/></td></tr><tr><td>邮件</td><td><inputtype="text"name="email"value="<%=message.getEmail()%>"size="7"/></td></tr><tr><td>留言时间</td><td><inputtype="text"name="gbdate" value="<%=message.getGbdate()%>"size="7"/></td></tr><tr><tdheight="77">内容</td><td><textareaname="content"style="font-size:12px;width:325px; height:80px;border:1pxsolid#009CEC;"><%=message.getContent()%></textarea></td><tr><td>回复时间</td><td><inputtype="text"name="redate"newDate())%>"size="7"/></td></tr></tr><tr><tdheight="77">回复</td><td><textareaname="recontent"style="font-size:12px;width:325px;height:80px;border:1pxsolid#009CEC;"><%=message.getRecontent()%></textarea></tr><tr><tdcolspan="2"><inputtype="submit"name="sub"value="确定"><inputtype="reset"name="res"value="重置"></td></tr></table></form>

4.4问题解决(1)连接数据库的实现 privatefinalStringDBURL="jdbc:mysql://localhost/qczl"; privatefinalStringDBUSER="root"; privatefinalStringDBPASSWORD="root"; privateConnectionconn=null; publicDBuser() {try{ Class.forName(DBDRIVER); conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD)}catch(Exceptione){} } publicConnectiongetConnection()//取得数据库连接 {returnconn;} publicvoidclose()//关闭数据库连接 { try{ conn.close(); }catch(Exceptione){} }(2)字符串过滤的实现注册登录过程中,输入登录名夹杂中文和英文,在数据库中显示为乱码数字。 request.setCharacterEncoding("GBK"); response.setCharacterEncoding("GBK");(3)上传图片的实现在更新车辆的过程中,每次都要重新上传一次图片。更新页面中出现车辆的图片,当需要修改汽车图片时,再浏览上传图片即可。上传图片用组件,导入commons-fileupload-将图片上传到系统固定文件夹下面,并将具体图片路径存储到数据库表中,在页面调用时将路径放到img的src里面就可以将图片调用出来。<imgsrc="<%=c.getImg()%>(4)邮件格式问题限制的实现游客注册时填写的邮件,除了要限制它的长度外还得限制邮件的格式。functionvalidate(){varstrEmail=document.getElementById("email").value;varreg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;if(reg.test(strEmail))returntrue;else{alert("邮箱格式不正确");returnfalse;}(5)分页问题处理的实现publicvoidsetPageSize(intpageSize){this.pageSize=pageSize;}/***//***初始化分页信息*/publicvoidinit(){this.isFirstPage=isFirstPage();this.isLastPage=isLastPage();this.hasPreviousPage=isHasPreviousPage();this.hasNextPage=isHasNextPage();}/***//***以下判断页的信息,只需getter方法(is方法)即可*/publicbooleanisFirstPage(){returncurrentPage==1;}publicbooleanisLastPage(){returncurrentPage==totalPage;}publicbooleanisHasPreviousPage(){returncurrentPage!=1;}publicbooleanisHasNextPage(){returncurrentPage!=totalPage;}/***//***计算总页数,静态方法,供外部直接通过类名调用*@parampageSize每页记录数*@paramallRow总记录数*@return总页数*/publicstaticintcountTotalPage(finalintpageSize,finalintallRow){inttotalPage=allRow%pageSize==0?allRow/pageSize:allRow/pageSize+1;returntotalPage;}/***//***计算当前页开始记录@parampageSize每页记录数*@return当前页开始记录号@paramcurrentPage当前第几页*/publicstaticintcountOffset(finalintpageSize,finalintcurrentPage){finalintoffset=pageSize*(current1);returnoffset;}/***//***计算当前页,若为0或者请求的URL中没有"?page=",则用1代替*@parampage传入的参数(可能为空,即0,则返回1)*@return当前页*/publicstaticintcountCurrentPage(intpage){finalintcurPage=(page==0?1:page);returncurPage;} 5系统测试5.1系统测试系统测试,顾名思义是对已经完成设计的系统进行检测,在系统投入使用之前检测出系统中的缺陷、漏洞等。系统测试是保证系统质量,提高系统可靠性的主要的工作之一。系统测试的目的是以最少的人力、物力和时间投入,尽可能多地找出系统中潜在的各种错误和缺陷。系统测试是软件系统完成后必须经历的一个步骤。基于Web的系统测试与传统的软件测试不同,Web工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于Web的系统。它使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于Web的系统。设计测试用例的方法一般有两种:黑盒测试法和白盒测试法。(1)黑盒测试。如果已经知道产品应该具有的功能,可以通过测试来检验每个功能是否够正常使用,这样的测试称为黑盒测试,也叫做功能测试。黑盒测试法是将其看作一个黑盒子,完全不用考虑程序内部结构和处理过程。也就是说,黑盒是对程序接口进行的测试,它只检查程序功能是否能按照预期目标正常使用,程序是否能正确的接收输入的数据、处理数据、输出数据,并保证外部信息(如数据库)的完整性。(2)白盒测试。如果知道了产品内部工作过程,可以通过测试来检验产品内部动作是否按照预期的规定正常进行,这样的方法称为白盒测试,也叫做结构测试。与黑盒相反,白盒测试法的前提是把程序看做装在一个透明的盒子里,按照程序内部的逻辑测试程序,检验程序中的每条是否都按预定的要求正确工作。5.2系统测试方案本系统采用的测试用例方法是黑盒测试法,将系统所有可能的值来检查程序的正确性。需要测试的功能项是:(1)表单格式验证。(2)后台页面浏览权限。(3)系统中的分页。(4)管理员后台功能测试(车辆信息管理)。5.3系统检测过程在Tomcat服务器上发布已经完成的Web系统,设置该系统的IP地址为服务器的IP地址(本地:localhost),设置端口为8080,域名为空。然后,打开IE浏览器,在地址栏中输入http://localhost:8080/qczl/,即可转入系统的默认首页页面。经由浏览器能够顺利打开服务器上系统的默认页面,说明系统已经发布成功。可以经由Web进入系统进行操作。系统编码过程中出现的一些测试用例如下表所示:图5-1测试用例表测试功能模块测试点输入输出测试结果登录模块登录用户名:admin密码:admin正常登录登录功能正常用户名:不存在的密码:任意提示出错登录纠错功能正常后台页面浏览权限进入后台管理界面不登陆直接在浏览器上面输入后台页面地址直接跳转到后台登陆界面页面过滤功能正常并正常跳转到用户登录后在浏览器上面输入后台管理页面地址页面正常跳转到后台管理页面页面过滤功能正常

续表5-1测试功能模块测试点输入输出测试结果系统中的分页测试页面分页功能在页面上输入-1、0、10000这样的特殊数字当数字小于1是跳转到第一页;大于最大值时跳转到末页在页面上溢出值控制功能正常在页面上输入正常数字,例如:1、2页面正常跳转到对应的页面页面上分页功能正常管理员后台功能测试(车辆信息管理)查看功能管理员登录进入系统后台后,点击车辆管理界面上列出了要查看的车辆信息查看功能正常删除功能管理员登录进入系统后台后,点击车辆管理页面的删除按钮界面上显示删除成功,再次查看,已没有该车辆信息删除功能正常添加功能管理员登录进入系统后台后,在添加车辆信息的界面上输入需要添加的车辆信息,确认后点击确定按钮界面上显示添加成功,再次查看已有该车辆信息添加功能正常修改功能管理员登录进入系统后台后,选择需要修改的车辆信息,点击修改按钮进入车辆修改页面在页面上显示需要修改的车辆信息,填写需要修改的车辆信息,确认无误后,点击确认按钮提交信息。修改功能正常6总结经过三个多月的设计和开发,基于JSP的汽车租赁管理系统已经开发完毕,其功能符合基本需求:管理员管理会员信息、管理租赁车辆信息、管理租赁车辆订单信息、管理用户的留言信息、管理加盟商信息等。会员可以在线浏览租赁的车辆信息资源、发表留言、进行分类查询等基本信息。游客可以在线查看车辆信息、匿名留言等基本功能。通过对汽车租赁管理系统的开发,使我对系统开发有了很大的了解。需求分析和系统设计的质量往往是决定系统成功与否的决定性因素之一。在系统开发过程中,利用软件工程的知识理论开发软件,按“分析、设计、实现、测试”的步骤进行,避免人为盲目的“想到哪里就做到哪里”。从数据库的实现、系统功能的实现、系统关键技术的实现这三个角度对系统的部分实现进行分析。在数据库应用系统开发中,合理制定了存储过程,更加使系统中的查询灵活。拦截器的设置,让这个系统更加安全和贴近实际。在系统测试部分,从系统测试方法,系统测试内容,系统测试结论几个角度进行了介绍。经过全面测试,系统功能完全符合初步设想,满足了使用者的要求,界面友好,操作灵活,方便了车辆管理人员的使用。在现有的带宽下测试,系统的响应速度也比较理想,支持一定的并发量。系统功能基本符合需求。但是,由于实际条件和时间限制,还有自己在这方面知识的欠缺,致使系统在功能方面还不完善,有的仅仅是最简单最基本的功能实现,而且由于我知识面的局限性,对于具体的系统方面的知识还有很大的欠缺,可能在设计数据库存在着不合理的地方,以至于影响到整个系统的功能以及性能。尽管系统有种种的不如意的地方,但是从开发开始到结束这一过程中,从建库到建表,再到编写程序,从功能分析到界面设计,每一步都充满了我辛勤的劳动,每一次探索的成功都让我欣喜,让我得到无比的鼓舞。总之,通过这次毕业设计使我学到了很多书本上没有的知识,让我了解到只有将理论和实际相结合才能将学到的知识消化,同时也让我认识到了我自身的不足。毕业设计留给我的经验对我以后的工作学习都是很有帮助的,而它给我留下的教训也足以让我在今后的学习工作中引以为戒。参考文献[1]孙更新.J2EE开发员成长之路[M].电子工业出版社,2006.[2]曹衍龙,徐慧编著.JSP网络开发实用工程案例[M].北京:人民邮电出版社,2008.[3]萨师煊.数据库系统概论[M].高等教育出版社,2006.[4]曹广鑫,时强.JSP数据库项目开发宝典[M].北京:电子工业出版社,2006.[5]曾健.JSP网络开发入门与实践[M].北京:电子工业出版社,2008.[6]吴伟敏.网站设计与Web应用开发技术[M].北京:清华大学出版社,2009.[7]孙鑫.基于Tomcat的Web开发[M].北京:电子工业出版社,2009.[8]蔡翠平等.Java程序设计[M].北京:清华大学出版社,2010.[9]谭文芳.JSP应用教程(修订本)[M].机械工业出版社,2011.[10]覃征.软件体系结构

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论