文档库 最新最全的文档下载
当前位置:文档库 › java车辆租赁管理系统 论文

java车辆租赁管理系统 论文

X X X X 大学

《Java语言程序设计》课程设计(论文)题目:车辆租赁管理系统

院(系):

专业班级:

学号:

学生姓名:

指导教师:

教师职称:

起止时间:

课程设计(论文)任务及评语

院(系):软件学院教研室:软件教研室学号学生姓名专业班级

课程设计

(论文)

题目

车辆租赁管理系统

课程设计(论文)任务

任务与要求:

(1).掌握面向对象程序设计语言JAVA的基本语法

(2).掌握JAVA面向对象设计的思想,

(3).掌握VJAVA6.0与MyEclips JAVA 开发工具的使用

(4). 运用标准JAVA规范设计应用程序

设计过程中,要严格遵守设计的时间安排,听从指导教师的指导。正确地完成上述内容,规范完整地撰写出设计报告。

成绩:指导教师签字:

年月日

目录

第1章课程设计目的与要求 (1)

1.1设计目的 (1)

1.2实验环境 (2)

1.3预备知识 (2)

1.4设计要求 (2)

第2章课程设计内容 (3)

2.1 课题描述 (3)

2.2 系统设计 (3)

2.2.1功能分析 (4)

2.2.2面向对象设计 (4)

2.2.2类成员描述 (13)

2.3程序实现 (13)

2.3.1源码分析 (14)

2.3.2运行结果 (15)

第3章总结 (16)

参考文献 (18)

第1章课程设计目的与要求

1.1设计目的

车辆信息输入

用户可以录入车辆信息,车辆信息表包括

id(自动编号) category model no price flag

每个字段的含义及解释

id:为 int 类型定义为主键自动增长

category:车辆的类别,以下拉列表的形式给出列表的内容包括三种类型大客车、面包车、小轿车

model:车辆的型号

no:车辆的车牌号

price:租车的价格单位为/元

flag:用来标记车辆的出租状态

列出所有车辆;

当输入车辆信息后,将跳转到车辆信息列表页,把数据库中所有的车辆信息取出来显示到前台的jsp 页面,并根据多表连接来判断这些车辆的出租状态,也就是说这些车辆有没有被出租

删除车辆;

在车辆信息列表页中有删除车辆信息的链接,根据autos表中的id来删除车辆信息,删

除后,跳转到原来的页面。

租车;

首先判断哪些车辆没有被出租出去,然后把没有被出租的车辆显示在租车页面的下拉列表中,此时用户只需要填写出租人的姓名就可以租车了,其实后台数据库已经把出租的车辆信息写进了数据库中的 leases表,这一动作包括这些信息被写进了数据库 id(自动编号),customer(客户姓名),leasedate(出租日期),retured(是否还车),returned(还车日期)

出租的列表;

被出租的车辆信息及出租的日期,出租人等一些信息通过多表连接查询显示到出租列表页面

还车

在出租列表页面每条信息的后面都有还车链接,点击连接将进行还车操作,后台数据库将根据id将相应的 retured字段的值改为还车标记(0表示未还,1表示已经还了)统计租金

根据车辆的类别来统计租金,并把统计的结果显示在统计页面

1.2实验环境

各Strtus部件的设计:功能/实现的Action/使用的Form-bean(及数据验证)/界面/转发

视图:就是一组JSP文件,这些JSP文件没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的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 类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程,对于小型简单的应用,Action类本身也可以完成一些实际的业务逻辑。

模型:模型表示应用程序的状态和业务逻辑,业务逻辑常常由JavaBean或者EJB组件实现。

如果在Web应用开发中套用现成的Struct框架,可以简化每个开发阶段的工作,开发人员可以更加有针对性地分析应用需求,不必重新设计框架,只需在Struct框架的基础上,设计MVC各个模块包含的具体组件,在编码过程中,可以充分利用Struct提供的各种实用类和标签库,简化编码工作。

Struct框架可以方便迅速地将一个复杂的应用划分成模型、视图和控制器组件,而Struct的配置文件struct-config.xml可以灵活地组装这些组件,简化开发过程

1.3预备知识

出租的列表;

被出租的车辆信息及出租的日期,出租人等一些信息通过多表连接查询显示到出租列表页面

还车

在出租列表页面每条信息的后面都有还车链接,点击连接将进行还车操作,后台数据库将根据id将相应的 retured字段的值改为还车标记(0表示未还,1表示已经还了)统计租金

根据车辆的类别来统计租金,并把统计的结果显示在统计页面

1.4设计要求

对于开发Web 应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情,随着Web 开发技术的日趋成熟,在web 开发领域出现了一些现成的优秀的框架,开发者可以直接使用它们,struct就是一个很好的框架结构,它是在JSP Model2基础上实现的一个MVC 框架,它可以使你不必要从头开始全部开发组件,对于大项目更是很好的。在Strcut 框架中模型由实现业务逻辑的JavaBean 或者EJB 组件构成,控制器由ActionSevelet 和Action 来实现,视图由一组JSP 文件组成,图B-5显示了Struct 实现的MVC 框架。

第2章 课程设计内容

1.1 课题描述 提出问题

2.2 系统设计

设计两个表:

a) 车辆信息autos(id,category 类别,model 型号,no 车牌号,price 租车价格

)

b) 租车信息leases(id,autoId 车辆id,customer 客户名称,leaseDate 租车日期,

returned 是否还车?,returnDate 还车日期)

浏览器

Web 服务器

控制器

ActionServle t

视图 JSP

模型 JavaBean EJB

Struct-config.xm

l

Action

Action

Action

图B-5:Struct 实现的MVC 框架

2.2.1功能分析

<1. 管理车辆基本信息,增加/删除/列表;

<2. 能进行租车/还车操作;

<3. 按车辆类别统计租金(虽然是选做,已做好)。

车辆基本信息包括:车辆类别(大客/面包/轿车),品牌型号,车牌号,租车价格;

租车时应记录:租车日期,车辆id,客户名称;

还车时应记录:还车日期。

2.2.2面向对象设计

基于struts的车辆租赁管理系统

基于struts的车辆租赁管理系统

M MyDB. CarDB. AllValue BackcarForm. InputAutoForm. LeaseForm Upd V InputAuto.jsp LeaseAuto.jsp Leaseok.jsp Listcar.jsp ListLeased.jsp Sta

C inputAutoAction listCarAction ListLeaseAction listLeasedAction listStatAc

4.3Struts部件

页面Action Form-bean

1.

InputAuto.jsp InputAutoAction category,model,no,price

2.

ListCar.jsp ListCarAction /

ListCar.jsp UpdateAction Id

3.

LeaseAuto.jsp ListLeasedAction AutoId,coustomer,leasedate

4.

Listleased.jsp BackcarAction Id

5.

Statresult.jsp StateAction /

6分

文件说明

目录文件说明

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 删除车辆信息

Src/chenxin/form BackcarForm.java 还车时所用到的id属性

InputAutoForm.java 封装了车辆信息的一些

字段

LeaseForm.java 封装借车用的id

UpdateForm.java 封装删除车辆信息所用

的id

WebRoot head.jsp 用<%@include file=””%>

命令,在每个页面包含这

个文件用作菜单导航

end.jsp 每个页面包含的尾部文

inputAuto.jsp 用户输入车辆信息页面

leaseAuto.jsp 用户租借车辆页面

leaseok.jsp 显示租借成功信息页面

listcar.jsp 显示车辆信息列表页面

listleased.jsp 显示已租的车辆信息页

statresult.jsp 统计显示页面

Web-INFO Web.xml Struts配置文件

Strus-config.xml Web项目的配置文件image Bank.jpg. head.gif end.gif 网页中用到的图片

输入车辆信息的部件

输入租车信息的部件

还车

分类统计

运行界面

(1)插入车辆信息

(2)车辆信息列表和删除操作

(3)分类统计租金

4)还车操作

数据验证

1.输入车辆信息的数据验证 InputAutoForm.java 文件中的 validate方法

如果不符合和则返回到 inputAuto.jsp页面输出错误提示信息

主要验证判断所输入的车辆型号和车牌是否为空的错误验证

和输入的价格是否为数字类型的验证

pub lic ActionErrors validate(ActionMapping mapping,

Htt pServletRequest request) {

// TODO Auto-generated method stub

Act ionErrors errors = new ActionErrors();

if (model == null || model.length() == 0) {

err ors.add("model_error",new ActionMessage("model_error"));

if (no == null || no.length() != 7) {

err ors.add("no_error",new ActionMessage("no_error"));

} //判断所输入的车辆型号和车牌是否为空的错误验证

try {

if (!(Double.parseDouble(price)>=100&&Double.parseDouble(price)<=2000)) {

err ors.add("price1",new ActionMessage("price1"));

} catch (NumberFormatException e) {

// TODO Auto-generated catch block

Sys tem.out.println(e);

err ors.add("price1",new ActionMessage("price1"));

ret urn errors;

//输入的价格是否为数字类型的验证

ret urn errors;

} 2.输入租车信息的验证 LeaseForm.java 中的 validate 方法

如果不符合验证规则将返回到leaseAuto.jsp页面并输出错误提示信息,如果验证通过将跳转到leaseok.jsp页面显示租车成功的信息

验证所输入的用户名是否为空

public ActionErrors validate(ActionMapping mapping,

Htt pServletRequest request) {

// TODO Auto-generated method stub

Act ionErrors errors = new ActionErrors();

if (customer== null || customer.length() == 0) {

err ors.add("customer_error",new ActionMessage("customer_error"));

ret urn errors;

}

2.2.2类成员描述

2.3程序实现

java bean的设计:各个类的功能,实现方法

给个类的功能

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 删除车辆信息

Src/chenxin/form BackcarForm.java 还车时所用到的id属性

InputAutoForm.java 封装了车辆信息的一些字段

LeaseForm.java 封装借车用的id

对数据库操作的一些类的方法功能介绍

1 CarDB.java类

2 MyDB.java封装对数据库的连接

向autos表中插入车辆信息

向leases表中插入租车信息

更新leases表中的returned字段

删除autos表中的一条信息

查询autos表中的全部信息

分类统计功能

查询租车信息

3 CharEncodingFilter.java 类

2.3.1源码分析

validate ()验证中错误信息提示的中文处理

采用java 安装目录下的 x:\Java\jdk1.5.0_04\bin\ native2ascii.exe 文件进行中文转码

然后输出中文提示的错误信息 jsp 页面采用”UTF-8”的编码形式

配置过滤器处理页面的中文显示问题,过滤器的使用方法如下 (1)首先写好过滤器的java 文件,代码如下

public class CharEncodingFilter implements Filter {

pub

lic void destroy() { }

pub lic void doFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throws IOException, ServletException {

req uest.setCharacterEncoding("UTF-8");

cha in.doFilter(request, response); }

pub lic void init(FilterConfig arg0) throws ServletException {

} 所需要加载的驱动 要连接的数据库 用户名 密码

Connection 类型 构造方法 连接数据库 关闭数据库

}

(2)然后在web.xml中配置相关的映射环境,配置代码如下

CharEncodingFilter

chenxin.CharEncodingFilter

CharEncodingFilter

/*

2.3.2运行结果

输入车辆信息测试

(1)当输入车辆类型为空,车牌号为空时,价格正常时,查看结果测试用例为类型=null 车牌号=null 价格=244

系统提示车辆类型为空,车牌号为空,

(2)测试用例

类型=null 车牌号=1234567 价格=244

提示车辆类型为空

(3)测试用例

类型=奔驰车牌好=11 价格=456

提示车牌号必须为七位

(4)测试用例

类型=奔驰车牌好=11 价格=null

提示价格必须在 200-2000之间

(5)测试用例

类型=奔驰车牌好=11 价格=汉字

提示价格必须在 200-2000之间

(6)测试用例

类型=宝马车牌号=8888888 价格=1000

成功跳转

··········

输入租车信息测试

(1)测试用例

租车人=null

提示租车人不能为空(2)测试用例

租车人=

提示租车人不能为空(3)测试用例

租车人=**

第3章总结

在Web应用开发中套用现成的Struct框架,可以简化每个开发阶段的工作,开发人员可以更加有针对性地分析应用需求,不必重新设计框架,只需在Struct框架的基础上,设计MVC各个模块包含的具体组件,在编码过程中,可以充分利用Struct提供的各种实用类和标签库,简化编码工作。

Struct框架可以方便迅速地将一个复杂的应用划分成模型、视图和控制器组件,而Struct的配置文件struct-config.xml可以灵活地组装这些组件,简化开发过程。

相关文档
相关文档 最新文档