基于Jsp和MySQL的物资租赁系统的设计与实现
摘要
随着科学技术的进步,计算机行业的迅速发展,大大提高人们的工作效率。计算机信息处理系统的引进已彻底改变了许多系统的经营管理。恒鑫租赁站长期大量出租各型钢管、扣件、塔吊等建筑施工设备。
本系统为恒鑫租赁站提供了一个方便快捷的物资管理系统,方便出租物资的管理。系统功能主要包括:用户管理,包括管理员信息查看、管理员密码修改;正常订单管理:包括新增正常订单、修改有误订单、删除错误订单;资金结算管理:费用统计;材料租赁管理:包括订单出租查询、器材回收管理、日租金管理、仓库库存管理。
本系统开发工具采用Myeclipse,数据库设计采用MySQL数据库,开发模式采用JSP为视图层的MVC设计模式。系统界面友好、美观,系统程序冗余度度低,系统具有较强的可扩展性和可维护性。
关键词 :物资;JSP;MVC;MySQL数据库;管理
1.引言
1.1 开发背景及现状
恒鑫租赁站长期大量出租各型钢管、扣件、塔吊等建筑施工设备。针对租赁器材品种繁多,租赁搭配麻烦,费用计算复杂。这些问题难题导致公司运营盈利管理不清晰,以及人工负担重,租赁过程中容易出错等问题,急切需要一款满足自身需求的管理软件,以提高办公效率。怎样才能更好的对建筑租赁行业进行管理,最好的方法就是用软件进行科学的管理。怎样设计才能更符合这个行业的应用,调查发现,目前国内外有关的系统软件都在向三方面靠拢:精细化、智能化、傻瓜化。
结合自身专业所学,把理论运用到实际而选定这一课题。希望最终该系统能取代人工管理的工作方式,避免由于手工记录、工作人员的疏忽等造成的各种错误,通过集中式的信息数据库,将企业的还、租、存等经营业务有机的结合起来,达到数据共享,降低成本,提高效率,改进服务的目的,进而提高租赁站的生产效率和管理水平。
1.2 本人主要工作
通过对系统的分析和研究,上网学习、借阅书籍和向老师请教针对性的学习相关技术知识,同时练习开发工具的使用和调试。根据所学知识和对课题的研究进行相应的调查和资料分析,针对前期的调查和将要用到的相关东西对系统做出相应的需求分析,并通过需求分析进行系统相关设计,最后针对所设计的各个模块进行编码、测试,分析系统的不足以备后期改进,并对整个学习和开发过程做出总结。
1.3 论文组织与结构
-
第一部分 :引言。简要描述了恒鑫租赁系统的开发背景及现状
-
第二部分 :系统分析。针对系统进行相应分析,做出需求分析和相关技术介绍
-
第三部分 :系统设计。主要介绍系统功能模块设计和数据库设计
-
第四部分 :系统实现。详细介绍系统底层数据库的实现、业务逻辑层实现、控制层实现、表现层的实现和公共组件的实现
-
第五部分 :系统测试。针对开发的系统进行了主要功能模块的测试并给出测试结果
-
第六部分 :结束语。本章对整个系统开发和论文书写工作进行总结,指出了还需改进的地方
2.系统分析
2.1 需求分析
2.1.1 功能型需求
恒鑫租赁站长期大量出租各型钢管、扣件、塔吊等建筑施工设备。本系统为恒鑫租赁站提供了一个方便快捷的物资管理系统,方便出租物资的管理。系统功能主要包括:用户管理,包括管理员信息查看、管理员密码修改;正常订单管理:包括新增正常订单、修改有误订单、删除错误订单;资金结算管理:费用统计;材料租赁管理:包括订单出租查询、器材回收管理、日租金管理、仓库库存管理等。
2.1.2 非功能性需求
此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和Mysql数据库进行简要介绍。
-
开发工具 :MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate
-
运行环境 :Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的
-
数据库服务器 :MySQL是当前一种较为流行的关系数据库,和其它的数据库管理系统(DBMS)相比,MySQL是一个开源免费的轻量级关系数据库。它适合在小、中型项目中使用
2.2 相关设计
2.2.1 开发方案选择:
B/S结构,即Browser/Server(浏览器/服务器)结构,在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S 结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。
2.2.2 开发技术选择
本系统采用的开发语言是JSP。JSP是运行在服务器端的脚本语言,它由传统的HTML代码和嵌入其中的Java代码组成。应用JSP,我们可以高效率的开发出安全性较高而且跨平台的Web应用程序,它拥有Java语言跨平台的特性以及业务代码分离、组件重用、基础Java Servlet功能和预编译等特征。
超文本标记语言HTML,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。工具选择Dreamweaver 8,其具有可视化编辑界面、扩展能力强、支持多平台和跨浏览器的特性。
2.3 设计模式
本系统采用JSP、Servlet、JavaBean的MVC三层设计模式。这种设计模式中,JavaBean组件用来实现相关的业务逻辑,充当着模型的角色;Servlet用来执行业务逻辑和负责程序的流程控制,充当着控制层的角色;JSP作为表现层的显示,充当着视图层的角色。
3.系统设计
3.1 系统总体设计
恒鑫租赁站开发设计的一款物资管理系统,方便出租物资的管理。系统主要功能包括:功能主要包括:用户管理,包括管理员信息查看、管理员密码修改;正常订单管理:包括新增正常订单、修改有误订单、删除错误订单;资金结算管理:费用统计;材料租赁管理:包括订单出租查询、器材回收管理、日租金管理、仓库库存管理。
3.2 系统功能结构图
系统功能结构图,如图1所示。
3.3 系统数据库设计
数据库设计是指对一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地保存数据,满足各种用户的应用需求(信息要求和处理要求)。
3.3.1 管理员表 (admin)
管理员表用来记录管理员登录时候所需的基本信息,如表3.1所示。
字段名 | 字段类型 | 长度 | 主/外键 | 字段值约束 | 对应中文名 |
---|---|---|---|---|---|
Id | Int | 10 | 主键 | Not null | 管理员Id |
Username | Varchar | 50 | 一 | 一 | 管理员账号 |
Password | Varchar | 50 | 一 | 一 | 管理员密码 |
Kind | Int | 11 | 一 | 一 | 管理员类别 |
3.3.2 客户表 (client)
客户表用来记录客户的基本信息,如表3.2所示。
字段名 | 字段类型 | 长度 | 主/外键 | 字段值约束 | 对应中文名 |
---|---|---|---|---|---|
Id | Int | 10 | 主键 | Not null | 客户Id |
Name | Varchar | 50 | 一 | 一 | 客户姓名 |
Phone | Int | 11 | 一 | 一 | 客户电话 |
Varchar | 20 | 一 | 一 | 客户邮箱 | |
Description | Varchar | 1000 | 一 | 一 | 客户描述 |
3.3.3 物资表 (goods)
物资表用来记录物资的相关参数信息,如表3.3所示。
字段名 | 字段类型 | 长度 | 主/外键 | 字段值约束 | 对应中文名 |
---|---|---|---|---|---|
Id | Int | 10 | 主键 | Not null | 物资Id |
Name | Varchar | 50 | 一 | 一 | 物资名称 |
Money | Int | 11 | 一 | 一 | 物资价格 |
Num | Int | 11 | 一 | 一 | 物资库存 |
Description | Varchar | 1000 | 一 | 一 | 物资描述 |
3.3.4 租赁表 (rent)
租赁表用来记录租赁物资的行为记录,如表3.4所示。
字段名 | 字段类型 | 长度 | 主/外键 | 字段值约束 | 对应中文名 |
---|---|---|---|---|---|
Id | Int | 10 | 主键 | Not null | 租赁Id |
Uid | Int | 11 | 一 | 一 | 客户Id |
Pid | Int | 11 | 一 | 一 | 物资Id |
Time | Varchar | 30 | 一 | 一 | 租赁时间 |
3.3.5 租金表 (icome)
租金表用来记录租赁物资所付的租金的行为记录,如表3.5所示。
字段名 | 字段类型 | 长度 | 主/外键 | 字段值约束 | 对应中文名 |
---|---|---|---|---|---|
Id | Int | 10 | 主键 | Not null | 租金Id |
Money | Int | 11 | 一 | 一 | 租金数额 |
Content | Varchar | 1000 | 一 | 一 | 行为描述 |
Time | Varchar | 30 | 一 | 一 | 发生时间 |
4.系统实现
系统实现是在系统设计的基础上,针对系统各层次和各功能模块进行代码的编写,最终将设计方案转化可运行功能模块。
4.1 底层数据库的实现
先前我们已经确立了使用关系数据库MySQL作为本系统的数据库服务器,同时,我们对相应表进行了分析和设计,在此我们通过数据库设计工具建立数据库:wz和相应的数据库表,如表4.1所示。
数据库表名 | 说明 |
---|---|
admin | 后台管理员表 |
client | 客户基本信息表 |
goods | 材料信息表 |
rent | 租赁行为记录表 |
icome | 财务表 |
4.2 业务逻辑层的实现
业务逻辑层采用JavaBean来实现数据库连接和系统业务逻辑处理。主要实现类,如表4.2所示。
业务逻辑类 | 说明 |
---|---|
AdminDAO.java | 管理员业务逻辑处理类 |
ClientDAO.java | 客户、租赁、财务业务逻辑类 |
GoodsDAO.java | 材料业务逻辑处理类 |
4.3 控制层的实现
控制层采用Servlet来完成系统的逻辑控制。主要实现类,如表4.3所示。
业务逻辑类 | 说明 |
---|---|
DoAdminLoginServlet.java | 管理员登录控制类 |
ChangePasswordServlet | 管理员密码修改控制类 |
AddAdminServlet | 管理员添加控制类 |
ClientServlet.java | 客户、租赁、财务管理控制类 |
GoodsServlet.java | 材料信息管理控制类 |
4.4 表现层的实现
表现层是用户所接触的图形界面,所有界面的友好性是很重要的。在表现层的实现过程中,使用Dreamweaver网页设计工具和Photoshop图像处理工具对用户界面进行了精心设计。以下为主要用户界面设计,如图2、图3、图4和图5所示。
系统登录图
系统登录成功欢迎页
系统客户列表页
系统添加客户页
4.5 系统公共组件
4.5.1 采用JDBC的数据操作公共类
java
package com.dao;
import java.sql.*;
public class DB
{
protected Connection conn=null;
Private PreparedStatement pstmt=null;
private Statement stmt= null;
private ResultSet rs =null;
//JDBC数据库连接配置信息
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost/wz?useUnicode=true&characterEncoding=utf-8";
String user = "root";
String password = "root";
//数据库连接方法
public Connection getConn() throws Exception
{
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, user, password);
return conn;
}
//关闭数据库操作方法
public void closeAll( Connection conn, PreparedStatement pstmt, ResultSet rs ) {
//如果rs不空,关闭rs
if(rs != null){
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
}
//如果pstmt不空,关闭pstmt
if(pstmt != null){
try {
pstmt.close();
} catch (SQLException e){
e.printStackTrace();
}
}
//如果conn不空,关闭conn
if(conn != null){
try {
conn.close();
} catch (SQLException e){
e.printStackTrace();
}
}
}
}
4.5.2 乱码过滤器
过滤器类
```java package com.untils; import java.io.IOException; import javax.servlet.Filter;
import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class CharactorFilter implements Filter { //继承Filter类 //字符编码 String encoding=null; public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException { if(encoding!=null){ //设置request字符编码 request.setCharacterEncoding(encoding); //设置response字符编码 response.setContentType("text/html;charset="+encoding); } //传递给下一个过滤器 chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { //获取初始化参数 encoding=filterConfig.getInitParameter("encoding"); } public void destroy() { encoding=null; } } ```
过滤器配置(在web.xml文件中进行过滤器的配置) :
```xml
4.5.3 404、500异常处理
拦截异常配置 :
```xml
异常拦截跳转页面 :
-
如果出现404错误,跳转至404.htm
-
如果出现500错误,跳转至500.htm
5.系统测试
5.1 测试环境
-
测试环境 :windows 7操作系统
-
浏览器 :Google Chrome
-
服务器 :tomcat6.0
5.2 测试步骤
-
在MyEclipse开发工具中,将系统打包成wz.war的文件
-
将wz.war文件复制到tomcat中webapps下
-
启动tomcat
-
系统访问地址:http://localhost:8080/wz/admin/index.jsp
-
用户名:admin,密码:1234。
5.3 测试结果
5.3.1 用户登录测试
在后台登录界面,需输入用户名和密码,如图6所示。
如果输入的用户名和密码不匹配,则提示输入错误,如图7所示。
输入正确的则进入后台信息的管理界面,如图8所示。
5.3.2 材料租赁测试
通过客户列表页进入材料租赁页面选择现有才有进行租赁,如图9所示。
将租赁材料录入后,点击提交按钮,出现租赁成功界面提示,如图10所示。
在租赁管理界面中,可查看正在租用材料的信息,如图11所示。
可对正在租用的材料进行归还,成功则出现提示,如图12所示。
5.3.3 管理员退出
管理员点击安全退出按钮,提示“您确定要退出!”,如图13所示。
退出则回到最初的登录界面,如图14所示。
参考文献
[1] 飞思科技产品开发中心著.JSP数据库开发实例精粹[M].北京:电子工业出版社,2005.1.
[2] [美]Hans Bergsten著,林琪等译.JSP设计[M].北京:中国电力出版社,2004.12.
[3] 飞思科技产品开发中心著.JSP应用开发详解[M].北京:电子工业出版社,2002.1
[4] Bruce W.Perry.Java Servlet & JSP Cookbook[M].O'Reilly,2004.1
[5] 林上杰,林康司著.JSP2.0技术手册[M].北京:电子工业出版社,2004.5.
[6] 张新曼.精通JSP-WEB开发技术与典型应用[M].北京:人民邮电出版社, 2007. 98-101
[7] 陈文兰.基于SSH 集成架构的进销存管理系统的设计[J].农业网络信息.
[8] 邓子云.JSP网络编程从基础到实践[M].北京:电子工业出版社.
[9] 朱涛江.SqlServer权威指南[M].中国电力出版社.2003.
[10] 郝玉龙.JavaEE编程技术[M].北京:北京交通大学出版社.
[11] 孟伟,李茜,曾波.电子商务平台建设与管理实验教程[M].重庆大学出版社.2009.1
[12] (美)Bruce Eckel著,陈昊鹏译.Java编程思想(第三版)[M].北京:机械工业出版社,2007.6
[13] 李建中,王珊.《数据库系统原理(第2版)》电子工业出版社.2004.9
[14] 张长富,黄中敏.JavaScript动态网页编程实例手册[M].北京:海洋出版社,2005:196-239
[15] 艾灵仙.高校系级网站构建平台的设计与实现[J].科技信息-2008年16期
参考文献
- 军队物资管理软件系统的设计(电子科技大学·王笑言)
- 基于MVC模式的物流信息管理系统设计与开发(电子科技大学·程泳)
- 基于Web的物流仓储管理系统的设计(武汉理工大学·俞奕)
- 潍坊市农行物资管理系统的设计与实现(山东大学·刘瑞鹏)
- 面向最优库存控制的DRP分销系统实现及可靠性分析(重庆大学·刘磊)
- 井下作业物资精细化管理系统设计(东北石油大学·郭永奎)
- 基于SSH的电信物资管理系统的研究与开发(复旦大学·薛颖俊)
- 物流货运平台的设计与实现(山东大学·任如坤)
- 基于MVC模式的物流信息管理系统设计与开发(电子科技大学·程泳)
- 财务公司融资租赁系统的设计与实现(北京工业大学·陶涛)
- 军队物资管理软件系统的设计(电子科技大学·王笑言)
- 承压设备泄漏事故应急决策与救援指挥系统的建设(北京邮电大学·宋丹杰)
- 物流货运平台的设计与实现(山东大学·任如坤)
- 面向最优库存控制的DRP分销系统实现及可靠性分析(重庆大学·刘磊)
- 潍坊市农行物资管理系统的设计与实现(山东大学·刘瑞鹏)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设助手 ,原文地址:https://bishedaima.com/yuanma/35244.html