租车管理系统设计文档
ColdWind 汽车租赁管理系统
《
汽
车
租
赁
管
理
系
统
》
课
程
设
计
- 1 -
一(
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目介绍................................................................................................................... 1
二(功能分析与模块划分 ................................................................................................. 2
2.1系统用例图 .......................................................................................................... 2
2.2 车辆信息输入 ..................................................................................................... 2
2.3列出所有车辆; ................................................................................................... 2
2.4删除车辆; .......................................................................................................... 3
2.5 租车;................................................................................................................... 3
2.6 出租的列表; ..................................................................................................... 3
2.7 还车 ................................................................................................................... 3
2.8 统计租金 ............................................................................................................ 3 三(数据库
设计方案
关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案
........................................................................................................ 3
3.1设计两个表: ...................................................................................................... 3
3.2创建数据库的代码 ............................................................................................... 4 四(各Strtus部件的设计:功能/实现的Action/使用的Form-bean(及数据验证)/界面/转发 .. 5
4.2基于struts的车辆租赁管理系统............................................................................ 6
4.3Struts部件 ............................................................................................................ 6
4.4文件说明 ............................................................................................................. 7
4.5 输入车辆信息的部件 ........................................................................................... 8
4.6输入租车信息的部件 ............................................................................................ 8
4.7还车 .................................................................................................................... 9
4.8分类统计 ............................................................................................................. 9
4.9运行界面 ............................................................................................................. 9
4.10数据验证...........................................................................................................11 五(java bean的设计:各个类的功能,实现方法 ............................................................ 13
5.2对数据库操作的一些类的方法功能介绍 .............................................................. 13
六(中文解决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
.......................................................................................................... 15
6.1 validate()验证中错误信息提示的中文处理.................................................... 15
6.2 jsp页面采用”UTF-8”的编码形式...................................................................... 15
七(测试方案................................................................................................................. 16
7.1输入车辆信息测试 ............................................................................................. 16
7.2输入租车信息测试 ............................................................................................. 16 八.项目总结 ................................................................................................................... 17
ColdWind 汽车租赁管理系统 一(题目介绍
某汽车租赁公司需要一个租车管理系统。要求具有以下功能:
<1. 管理车辆基本信息,增加/删除/列表;
<2. 能进行租车/还车操作;
<3. 按车辆类别统计租金(虽然是选做,已做好)。
车辆基本信息包括:车辆类别(大客/面包/轿车),品牌型号,车牌号,租车价格;
租车时应记录:租车日期,车辆id,客户名称;
还车时应记录:还车日期。
- 1 -
二(功能分析与模块划分
2.1系统用例图
System
添加车辆信息
查看车辆信息
<
>
删除车辆信息
查看租车信息user
<>还车
分类统计
出租车辆
2.2 车辆信息输入
用户可以录入车辆信息,车辆信息表包括
id(自动编号) category model no price flag
每个字段的含义及解释
id:为 int 类型 定义为主键 自动增长
category:车辆的类别,以下拉列表的形式给出列表的
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
包括三种类型大客车、面包
车、小轿车
model:车辆的型号
no:车辆的车牌号
price:租车的价格 单位为/元
flag:用来标记车辆的出租状态
2.3列出所有车辆;
当输入车辆信息后,将跳转到车辆信息列表页,把数据库中所有的车辆信息取出来显
示到前台的jsp 页面,并根据多表连接来判断这些车辆的出租状态,也就是说这些车辆有
没有被出租
ColdWind 汽车租赁管理系统
2.4删除车辆;
在车辆信息列表页中有删除车辆信息的链接,根据autos表中的id来删除车辆信息,删
除后,跳转到原来的页面。
2.5 租车;
首先判断哪些车辆没有被出租出去,然后把没有被出租的车辆显示在租车页面的下拉
列表中,此时用户只需要填写 出租人的姓名就可以租车了,其实后台数据库已经把出
租的车辆信息写进了数据库中的 leases表,这一动作包括这些信息被写进了数据库
id(自动编号),customer(客户姓名),leasedate(出租日期),retured(是否还车),returned(还
车日期)
2.6 出租的列表;
被出租的车辆信息及出租的日期,出租人等一些信息通过多表连接查询显示到出租列
表页面
2.7 还车
在出租列表页面每条信息的后面都有还车链接,点击连接将进行还车操作,后台数据库将根据id将相应的 retured字段的值改为还车标记(0表示未还,1表示已经还了) 2.8 统计租金
根据车辆的类别来统计租金,并把统计的结果显示在统计页面
三(数据库设计方案
3.1设计两个表:
a) 车辆信息autos(id,category类别,model型号,no车牌号,price租车价格)
b) 租车信息leases(id,autoId车辆id,customer客户名称,leaseDate租车日期,returned
是否还车,,returnDate还车日期)
- 3 -
3.2创建数据库的代码
create database carmanage;
use carmanage;
create table autos
(id int primary key auto_increment, category varchar(50) not null, model varchar(50) not null,
no varchar(50) not null,
price double
)ENGINE=InnoDB DEFAULT CHARSET=utf8; create table leases
(
id int primary key auto_increment, autoId int not null,
customer varchar(20) not null, leasedate date,
returned int default 0,
returndate date
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
ColdWind 汽车租赁管理系统
四(各Strtus部件的设计:功能/实现的Action/使用的Form-bean(及数据验证)/界面/转发
4.1struts结构
对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情,随着Web开发技术的日趋成熟,在web开发领域出现了一些现成的优秀的框架,开发者可以直接使用它们,,,,,;,就是一个很好的框架结构,它是在JSP Model2基础上实现的一个MVC框架,它可以使你不必要从头开始全部开发组件,对于大项目更是很好的。在Strcut框架中模型由实现业务逻辑的JavaBean或者EJB组件构成,控制器由ActionSevelet和Action来实现,视图由一组JSP文件组成,图,,,显示了Struct实现的MVC框架。
Struct-config.xml
Action 控制器
ActionServlet 浏览器 Web服
务器 模型 Action
JavaBean
EJB
视图
Action JSP
图,,,:Struct实现的MVC框架
其中:
视图:就是一组JSP文件,这些JSP文件没有业务逻辑,也没有模型信息,只有标签,这些标签可以是
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
的JSP标签或者是客户化标签,如Struct标签库的标签。此外,通常将Strcut框架中的ActionForm Bean也划为视图模块中,ActionForm Bean是一种JAVABEAN,除了具有一些JAVABean的常规方法外,还包含了一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置默认值。Struct框架利用ActionForm Bean来进行视图和控制器之间表单数据的传递。Strcut框架将用户输入的表单数据保存在ActionForm Bean中,将它传递给控制器,控制器可以对ActionForm Bean中的数据进行修改,JSP文件使用Strcut标签读取修改后的ActionForm Bean的信息,重新设置HTML表单。
控制器:控制器由ActionServlet类和Action类实现,ActionServlet类是Struct框架中的核心组件。是这个MVC的中央控制器的角色,ActionServlet主要负责接收HTTP请求的信息,根据配置文件struct-config.xml的配置信息,将请求转发给适当的Action对象,如果该Action对象不存在,ActionServlet会先创建这个Action对象。Action类负责调
- 5 -
用模型的方法,更新模型的状态,并帮助控制应用程序的流程,对于小型简单的应用,Action类本身也可以完成一些实际的业务逻辑。
模型:模型表示应用程序的状态和业务逻辑,业务逻辑常常由JavaBean或者EJB组件实现。
如果在Web应用开发中套用现成的Struct框架,可以简化每个开发阶段的工作,开发人员可以更加有针对性地分析应用需求,不必重新设计框架,只需在Struct框架的基础上,设计MVC各个模块包含的具体组件,在编码过程中,可以充分利用Struct提供的各种实用类和标签库,简化编码工作。
Struct框架可以方便迅速地将一个复杂的应用划分成模型、视图和控制器组件,而Struct的配置文件struct-config.xml可以灵活地组装这些组件,简化开发过程。 4.2基于struts的车辆租赁管理系统
基于struts的车辆租赁管理系统
M MyDB. CarDB. AllValue BackcarForm. InputAutoForm. LeaseForm UpdateForm V InputAuto.jsp LeaseAuto.jsp Leaseok.jsp Listcar.jsp ListLeased.jsp Statresult.jsp C inputAutoAction listCarAction ListLeaseAction listLeasedAction listStatAction
4.3Struts部件
功能 页面 Action Form-bean
1.输入车辆信息 InputAuto.jsp InputAutoAction category,model,no,price 2.车辆信息列表 ListCar.jsp ListCarAction /
3.删除车辆信息 ListCar.jsp UpdateAction Id
4.租车 LeaseAuto.jsp ListLeasedAction AutoId,coustomer,leasedate 5.还车 Listleased.jsp BackcarAction Id
ColdWind 汽车租赁管理系统
6分类统计 Statresult.jsp StateAction /
4.4文件说明
目录 文件 说明
封装了数据库访问 Src/chenxin MyDB
封装对数据库表的操作 CarDB
用于支持中文输入的过滤器 CharCodingFilter
分装了数据库字段所有用到AllValue
的属性
资源文件 ApplicationResources.properties
还车 Src/chenxin/action BackcarAction.java
输入车辆信息 InputAutoAction.java
租车 LeaseAction.java
显示车辆信息 ListCarAction.java
显示可以被租的车 ListLeaseAction.java
显示一租的车辆信息 ListLeasedAction.java
分类统计租金 StatAction.java
删除车辆信息 UpdateAction.java
还车时所用到的id属性 Src/chenxin/form BackcarForm.java
封装了车辆信息的一些字段 InputAutoForm.java
封装借车用的id LeaseForm.java
封装删除车辆信息所用的id UpdateForm.java
用<%@include file=””%>命WebRoot head.jsp
令,在每个页面包含这个文
件用作菜单导航
每个页面包含的尾部文件 end.jsp
用户输入车辆信息页面 inputAuto.jsp
用户租借车辆页面 leaseAuto.jsp
显示租借成功信息页面 leaseok.jsp
显示车辆信息列表页面 listcar.jsp
显示已租的车辆信息页面 listleased.jsp
统计显示页面 statresult.jsp
Struts配置文件 Web-INFO Web.xml
Web项目的配置文件 Strus-config.xml
网页中用到的图片 image Bank.jpg. head.gif end.gif
- 7 -
4.5 输入车辆信息的部件
4.6输入租车信息的部件
ColdWind 汽车租赁管理系统 4.7还车
4.8分类统计
4.9运行界面
(1)插入车辆信息
- 9 -
(2)车辆信息列表和删除操作
(3)分类统计租金
(4) 还车操作
ColdWind 汽车租赁管理系统
4.10数据验证
1. 输入车辆信息的数据验证 InputAutoForm.java 文件中的 validate方法
如果不符合和则返回到 inputAuto.jsp页面输出错误提示信息
主要验证判断所输入的车辆型号和车牌是否为空的错误验证
和输入的价格是否为数字类型的验证
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// TODO Auto-generated method stub
ActionErrors errors = new ActionErrors();
if (model == null || model.length() == 0) {
errors.add("model_error",new ActionMessage("model_error"));
}
if (no == null || no.length() != 7) {
- 11 -
errors.add("no_error",new ActionMessage("no_error"));
}
//判断所输入的 车辆型号和车牌是否为空的错误验证
try {
if
(!(Double.parseDouble(price)>=100&&Double.parseDouble(price)<=2000)) {
errors.add("price1",new ActionMessage("price1"));
}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
System.out.println(e);
errors.add("price1",new ActionMessage("price1"));
return errors;
}
//输入的价格是否为数字类型的验证
return errors;
}
2.输入租车信息的验证 LeaseForm.java 中的 validate 方法
如果不符合验证规则将返回到leaseAuto.jsp页面并输出错误提示信息,如果验证通过
将跳转到leaseok.jsp页面显示租车成功的信息
验证所输入的用户名是否为空
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// TODO Auto-generated method stub
ActionErrors errors = new ActionErrors();
if (customer== null || customer.length() == 0) {
errors.add("customer_error",new
ActionMessage("customer_error"));
}
return errors;
}
ColdWind 汽车租赁管理系统
五(java bean的设计:各个类的功能,实现方法
5.1给个类的功能
封装了数据库访问 Src/chenxin MyDB
封装对数据库表的操作 CarDB
用于支持中文输入的过滤器 CharCodingFilter
分装了数据库字段所有用到的属AllValue
性
资源文件 ApplicationResources.properties
还车 Src/chenxin/action BackcarAction.java
输入车辆信息 InputAutoAction.java
租车 LeaseAction.java
显示车辆信息 ListCarAction.java
显示可以被租的车 ListLeaseAction.java
显示一租的车辆信息 ListLeasedAction.java
分类统计租金 StatAction.java
删除车辆信息 UpdateAction.java
还车时所用到的id属性 Src/chenxin/form BackcarForm.java
封装了车辆信息的一些字段 InputAutoForm.java
封装借车用的id LeaseForm.java
5.2对数据库操作的一些类的方法功能介绍
1 CarDB.java类
向autos表中插入车辆信息
向leases表中插入租车信息
更新leases表中的returned字段
删除autos表中的一条信息
查询autos表中的全部信息
分类统计功能
查询租车信息
2 MyDB.java封装对数据库的连接
所需要加载的驱动
要连接的数据库
用户名
密码
Connection类型
构造方法
连接数据库
关闭数据库
3 CharEncodingFilter.java类
- 13 -
ColdWind 汽车租赁管理系统 六(中文解决方案
6.1 validate()验证中错误信息提示的中文处理
采用java安装目录下的 x:\Java\jdk1.5.0_04\bin\ native2ascii.exe
文件进行中文转码
然后输出中文提示的错误信息
6.2 jsp页面采用”UTF-8”的编码形式
6.2 配置过滤器处理页面的中文显示问题,过滤器的使用方法如下
(1)首先写好过滤器的java文件,代码如下
public class CharEncodingFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse
response,
FilterChain chain) throws IOException,
ServletException {
request.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
}
}
(2)然后在web.xml中配置相关的映射环境,配置代码如下
CharEncodingFilter
chenxin.CharEncodingFilter
CharEncodingFilter
/*
- 15 -
七(测试方案
7.1输入车辆信息测试
(1)当输入车辆类型为空,车牌号为空时,价格正常时,查看结果
测试用例为 类型=null 车牌号=null 价格=244
系统提示 车辆类型为空,车牌号为空,
(2)测试用例
类型=null 车牌号=1234567 价格=244
提示 车辆类型为空
(3)测试用例
类型=奔驰 车牌好=11 价格=456
提示 车牌号必须为七位
(4)测试用例
类型=奔驰 车牌好=11 价格=null
提示 价格必须在 200-2000之间
(5)测试用例
类型=奔驰 车牌好=11 价格=汉字
提示 价格必须在 200-2000之间
(6)测试用例
1000 类型=宝马 车牌号=8888888 价格=
成功跳转
??????????
7.2输入租车信息测试
(1)测试用例
租车人=null
提示 租车人不能为空
(2)测试用例
租车人=
提示 租车人不能为空
(3)测试用例
租车人=**
成功跳转
ColdWind 汽车租赁管理系统
八.项目总结
在Web应用开发中套用现成的Struct框架,可以简化每个开发阶段的工作,开发人员可以更加有针对性地分析应用需求,不必重新设计框架,只需在Struct框架的基础上,设计MVC各个模块包含的具体组件,在编码过程中,可以充分利用Struct提供的各种实用类和标签库,简化编码工作。
Struct框架可以方便迅速地将一个复杂的应用划分成模型、视图和控制器组件,而Struct的配置文件struct-config.xml可以灵活地组装这些组件,简化开发过程。
- 17 -