1、中南财经政法大学毕业设计(论文)第 1 页 共 32 页毕业设计论文汽车租赁管理系统的设计与实现摘要:汽车租赁业被称为“朝阳产业”,它因为无须办理保险、无须年检维修、车型可随意更换等优点,以租车代替买车来控制企业成本,这种在外企中十分流行的管理方式,正慢慢受到国内企事业单位和个人用户的青睐。将买车、养车的包袱全丢给汽车租赁公司,而把主要财力和精力放在自己的主业上,这是当今国际跨国公司流行的做法。据统计,一年下来,像桑塔纳 2000 这样的普通车,购车要比租车多花费 10000 元修理费,即以租车代替买车,成本就可以下降 3 成。另外,租车还为企业节省一笔管理成本,其根本原因在于对企业管理上“成
2、本可控”理念认可采用租赁,随时可以调整开支,风险小,灵活性强,是降低成本的最好办法。那些对中国地方性法规制度不熟悉的商家可以减少诸如汽车上牌、年检、缴费、违章事故的处理等一系列不必要的麻烦。客户们还可以自由地选择租赁汽车的品牌,从经济型车到高档车,所有汽车均有完备的手续。汽车租赁的五个优势一、车型可随时更新随着人们消费水平的提高,对高档消费品有不断更新的欲望。在欧美人们平均 8 个月更换一次车型。假如现在花费三十多万元购买一台轿车,因社会经济发展很快,一年后汽车的性能、外观改进很多,而价格却会大幅下降。一年后,如果想换新车型,老车可能 15 万元就很难卖出。这意味着,一年中车价损失接近 20
3、万元。但假如租赁一台三十多万元的车,只需 10 余万元。而且,可随时租用最新车型。从目前人们经常更换手机的状况就能预料到几年后,经常换新车,将是人们的新时尚。二、解除车辆维修、年度检验的烦恼自购车辆后对车辆的维修和保养及一年一度的车辆年检要耗费很多财力和精力。但如果租车,就不存在这些烦恼,无论是车辆维修还是其它原因,车辆不能正常使用时,租赁公司都会及时提供替代车,保证用车。三、可充分提高资金利用率 中南财经政法大学毕业设计(论文)第 2 页 共 32 页如果自购车辆要一次性支付 30 万元,消费者具有一定经济实力。也就是说租车和买车相比至少可节省一次性投资 20 万元。消费者用这 20 万元去
4、经营,可赚取一笔可观的利润。四、可保证你良好的财务状况自购车辆必然会造成固定资产增加、借款增加、流动资产减少使财务出现不良状况,而租赁车辆将有效回避上述风险。五、有利于提高成本观念,减少浪费自购车辆使用时随心所欲,特别是单位公车,私自用车现象较多,造成不必要的浪费,而如果租赁车,一是可根据业务需要随时调控用车数量,二是用车人知道自己的用车成本,可直接减少不必要的用车,有效地提高员工的成本观念。中南财经政法大学毕业设计(论文)第 3 页 共 32 页第 1 章 开发环境1.1 开发所需工具Tomcat 6.0 , Windows XP , EditPlus , Dreamweaver MX 20
5、04 ,IE 6.0 , Firefox 火狐浏览器 ,Oracle 10g 等。1.2 Tomcat Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,目前最新版本是 6.0.18.Tomcat 是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。由于有了 Sun 的参与和支持,最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现,Tomcat 5 支持最新的 Servlet 2.4 和 JSP 2.0 规范。因为 Tom
6、cat 技术先进、性能稳定,而且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面的访问请求
7、。实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当你运行 tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。 1.3 JSP中南财经政法大学毕业设计(论文)第 4 页 共 32 页JSP(JavaServer Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术有点类似 ASP 技术,它是在传统的网页 HTML 文件(*.htm,*.html)中插入 Java 程序段(Scriptlet)和 JSP 标记(tag),从而形成 JSP 文件(*.jsp)。 用 JSP 开发
8、的 Web 应用是跨平台的,即能在 Linux 下运行,也能在其他操作系统上运行。JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。 Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段可以操作数据库、重新定向网页等,
9、以实现建立动态网页所需要的功能。 JSP 与 Java Servlet 一样,是在服务器端执行的,通常返回该客户端的就是一个HTML 文本,因此客户端只要有浏览器就能浏览。 JSP 的 1.0 规范的最后版本是 1999 年 9 月推出的,12 月又推出了 1.1 规范。目前较新的是 JSP1.2 规范,JSP2.0 规范的征求意见稿也已出台。JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客户端请求以后对这些 Java 代码进行处理,然后将生成的 HTML 页面返回给客户端的浏览器。Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序
10、的开发需要 Java Servlet 和 JSP配合才能完成。JSP 具备了 Java 技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自 JSP 推出后,众多大公司都支持 JSP 技术的服务器,如 IBM、Oracle、Bea 公司等,所以 JSP 迅速成为商业应用的服务器端语言。 1.4 Servlet中南财经政法大学毕业设计(论文)第 5 页 共 32 页Servlet 是一种独立于平台和协议的服务器端的 Java 应用程序,可以生成动态的 Web页面。 它担当 Web 浏览器或其他 HTTP 客户程序发出请求,与 HTTP 服务器上的数据库或应用程
11、序之间的中间层。Servlet 是位于 Web 服务器内部的服务器端的 Java 应用程序,与传统的从命令行启动的 Java 应用程序不同,Servlet 由 Web 服务器进行加载,该 Web 服务器必须包含支持Servlet 的 Java 虚拟机。在传统的 CGI 中,每个请求都要启动一个新的进程,如果 CGI 程序本身的执行时间较短,启动进程所需要的开销很可能反而超过实际执行时间。而在 Servlet 中,每个请求由一个轻量级的 Java 线程处理(而不是重量级的操作系统进程)。 在传统 CGI 中,如果有 N 个并发的对同一 CGI 程序的请求,则该 CGI 程序的代码在内存中重复装载
12、了 N 次;而对于 Servlet,处理请求的是 N 个线程,只需要一份 Servlet类代码。在性能优化方面,Servlet 也比 CGI 有着更多的选择。 Servlet 提供了大量的实用工具例程,例如自动地解析和解码 HTML 表单数据、读取和设置 HTTP 头、处理 Cookie、跟踪会话状态等。 在 Servlet 中,许多使用传统 CGI 程序很难完成的任务都可以轻松地完成。例如,Servlet 能够直接和 Web 服务器交互,而普通的 CGI 程序不能。Servlet 还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。 Servlet 用 Java 编写,Ser
13、vlet API 具有完善的标准。因此,为 IPlanet Enterprise Server 写的 Servlet 无需任何实质上的改动即可移植到 Apache、Microsoft IIS 或者 WebStar。几乎所有的主流服务器都直接或通过插件支持 Servlet。 不仅有许多廉价甚至免费的 Web 服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持 Servlet 的话,要加上这部分功能也往往是免费的(或只需要极少的投资)。中南财经政法大学毕业设计(论文)第 6 页 共 32 页1.5 静态网页与动态网页静态网页是标准的 HTML 文件,其文件扩展名是.htm 或.ht
14、ml。它可以包含 HTML 标记、文本、Jave 小程序、客户端脚本以及客户端 ActiveX 控件,但这种网页不包含任何服务器端脚本,该页中的每一行 HTML 代码都是在放置到 Web 服务器前由网页设计人员编写的,在放置到 Web 服务器后便不再发生任何更改,所以称之为静态网页。程序是否在服务器端运行,是动态网页的重要标志。在服务器端运行的程序、网页、组件,属于动态网页,它们会随不同客户、不同时间,返回不同的网页,例如ASP、PHP、JSP、ASP.net、CGI 等。运行于客户端的程序、网页、插件、组件,属于静态网页,例如 html 页、Flash、JavaScript、VBScript
15、 等等,它们是永远不变的。1.6 JDBCJDBC(Java Data Base Connectivity,java 数据库连接)是一种用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC 也是个商标名。 有了 JDBC,向各种关系数据发送 SQL 语句就是一件很容易的事。换言之,有了 JDBC API,就不必为访问 Sybase 数据库专门写一个程序,为访
16、问 Oracle 数据库又专门写一个程序,或为访问 Informix 数据库又编写另一个程序等等,程序员只需用 JDBC API 写一个程序就够了,它可向相应数据库发送 SQL 调用。同时,将 Java 语言和 JDBC 结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是 Java 语言“编写一次,处处运行”的优势。Java 数据库连接体系结构是用于 Java 应用程序连接数据库的标准方法。JDBC 对Java 程序员而言是 API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC 为程序开发提供标准的接口,并为数据库厂商及第
17、三方中间件厂商实现与数据库的连接提供了标准方法。JDBC 使用已有的 SQL 标准并支持与其它数据库连接标准,如中南财经政法大学毕业设计(论文)第 7 页 共 32 页ODBC 之间的桥接。JDBC 实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。 Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java 应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。 JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页
18、,而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和 UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用 Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。 1.7 OracleOracle 是殷墟(Yin Xu)出土的甲骨文(oracle bone inscriptions)的英文翻译的第一个单词,在英语里是“神谕”的意思。与无压缩格式下存储数据相比,新的 Oracle 数据压缩技术能够确保以较小的开销节省
19、三倍以上的磁盘存储空间。这一点比仅节省磁盘空间要具有更大的优势,因为它能够使企业节约更多的开支,以便有更多的资金来巩固自己的地位。自动诊断知识库(Automatic Diagnostic Repository,ADR)是专门针对严重错误的知识库。该知识库基本上能够自动完成一些以往需要由数据库管理员来手动完成的操作。作为 ADR 的一部分,SQL 性能分析器(SQL Performance Analyzer,SPA)是最让人惊喜的特性之一。SQL 性能分析器是一个整体调整工具,管理员可以通过该工具在数据库上定义和重演(replay) 一个典型的工作负载,之后管理员可以调节整体参数来使数据库尽快的
20、达到最佳性能而这一任务同样也是许多年以来由数据库管理员手动完成的。 由于获得了最优的初始参数,数据库管理员就不需要调整数以万计的 SQL 语句。管理员需要做的就是给定一个典型的负载 ,由 SAP 根据历史记录来决定 SQL 的最终设置,而不用管理员来检测哪一个 SQL 设置是最合理的。 中南财经政法大学毕业设计(论文)第 8 页 共 32 页多年以来,甲骨文公司一直在努力完成地另一个新特性便是“联机更新”(在不 down机的情况下更新软件)。实际上,很难从软件工程的角度来设计一个运行时能自动升级的软件。由于真正的应用集群(Real Application Clusters ,RAC)特性,甲骨
21、文公司再一次对其他的数据库供应商造成了更大的压力。在实际的使用过程中,数据库产品的用户总是希望产品有持续的高可用性,这并不是说只需满足下次补丁更新之前的 3 年的时间就够了。 自动内存管理特性可以追根溯源至 Oracle 9i,那时甲骨文公司推出首款自动调节存储池的工具。AMM 工具其实就是一种探测机制。实际上,Oracle 11g 有很多随机访问存储池,当 AMM 探测到某个存储池中已满时,它将整个 RAM 从一个区域分配到其他相对合适的区域。 中南财经政法大学毕业设计(论文)第 9 页 共 32 页第 2 章 系统后台设计2.1 系统的主要技术分析2.1.1. Browser/Server
22、 系统的三层体系结构在 Browser/Server 的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。Browser/Server 结构极大的简化了客户机的工作,客户机上只需安装、配置少量的客户端软件即可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。在 Browser/Server 三层体系结构下,表示层(Presentation)、功能层(Business Logic)、数据层(Data Service)被分割成三个相对独立的单元:第一层-表示层:Web 浏览器在表示层中包含系统的显示逻辑,位于客户端。它的任务是由 Web 浏览器向网络上的某一 W
23、eb 服务器提出服务请求,Web 服务器对用户身份进行验证后用 HTTP 协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在 Web 浏览器上。第二层-功能层:具有应用程序扩展功能的 Web 服务器在功能层中包含系统的事务处理逻辑,位于 Web 服务器端。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过 SQL 等方式向数据库服务器提出数据处理申请,而后等数据库服务器将数据处理的结果提交给 Web 服务器,再由 Web 服务器传送回客户端。第三层-数据层:数据库服务器在数据层中包含系统的数据处理逻辑,位于数据库服务器端。它的任务是接受 Web 服
24、务器对数据库操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给 Web 服务器。从上面的分析中可以看出,三层的 Browser/Server 体系结构是把二层Client/Server 结构的事务处理逻辑模块从客户机的任务中分离出来,由单独组成的一层来负担其任务,这样客户机的压力大大减轻了,把负荷均衡地分配给了 Web 服务器,于是由原来的两层的 Client/server 结构转变成三层的 Browser/Server 结构。中南财经政法大学毕业设计(论文)第 10 页 共 32 页图 2-1 数据模型流 转 控 制 自 定 义 Servlet 数 据 模 型 业 务 管 理 类 (Manager) 业 务 模 型 ( Domain) 数 据 展 示 jsp + jstl