基于JAVA的物资管理系统设计与实现

点击下载源码

基于JAVA的物资管理系统设计与实现

摘要:随着科学技术的进步,计算机行业的迅速发展,大大提高人们的工作效率。计算机信息处理系统的引进已彻底改变了许多系统的经营管理。恒鑫租赁站长期大量出租各型钢管、扣件、塔吊等建筑施工设备。
本系统为恒鑫租赁站提供了一个方便快捷的物资管理系统,方便出租物资的管理。系统功能主要包括:用户管理,包括管理员信息查看、管理员密码修改;正常订单管理:包括新增正常订单、修改有误订单、删除错误订单;资金结算管理:费用统计;材料租赁管理:包括订单出租查询、器材回收管理、日租金管理、仓库库存管理。
本系统开发工具采用Myeclipse,数据库设计采用MySQL数据库,开发模式采用JSP为视图层的MVC设计模式。系统界面友好、美观,系统程序冗余度度低,系统具有较强的可扩展性和可维护性。
关键词:物资 JSP MVC MySQL数据库 管理

目录
1.引言 1
1.1开发背景及现状 1
1.2本人主要工作 1
1.3论文组织与结构 2
2.系统分析 2
2.1需求分析 2
2.2相关设计 2
2.3设计模式 3
3.系统设计 3
3.1系统总体设计 3
3.2系统功能结构图 3
3.3系统数据库设计 4
4.系统实现 5
4.1底层数据库的实现 5
4.2业务逻辑层的实现 5
4.3控制层的实现 6
4.4表现层的实现 6
4.5系统公共组件 7
5.系统测试 10
5.1测试环境 10
5.2测试步骤 10
5.3测试结果 10
6.结束语 13
致谢 13
参考文献 14

1.引言
1.1开发背景及现状
恒鑫租赁站长期大量出租各型钢管、扣件、塔吊等建筑施工设备。针对租赁器材品种繁多,租赁搭配麻烦,费用计算复杂。这些问题难题导致公司运营盈利管理不清晰,以及人工负担重,租赁过程中容易出错等问题,急切需要一款满足自身需求的管理软件,以提高办公效率。怎样才能更好的对建筑租赁行业进行管理,最好的方法就是用软件进行科学的管理。怎样设计才能更符合这个行业的应用,调查发现,目前国内外有关的系统软件都在向三方面靠拢:精细化、智能化、傻瓜化。
结合自身专业所学,把理论运用到实际而选定这一课题。希望最终该系统能取代人工管理的工作方式,避免由于手工记录、工作人员的疏忽等造成的各种错误,通过集中式的信息数据库,将企业的还、租、存等经营业务有机的结合起来,达到数据共享,降低成本,提高效率,改进服务的目的,进而提高租赁站的生产效率和管理水平。
1.2本人主要工作
通过对系统的分析和研究,上网学习、借阅书籍和向老师请教针对性的学习相关技术知识,同时练习开发工具的使用和调试。根据所学知识和对课题的研究进行相应的调查和资料分析,针对前期的调查和将要用到的相关东西对系统做出相应的需求分析,并通过需求分析进行系统相关设计,最后针对所设计的各个模块进行编码、测试,分析系统的不足以备后期改进,并对整个学习和开发过程做出总结。

1.3论文组织与结构
第一部分:引言。简要描述了恒鑫租赁系统的开发背景及现状。
第二部分:系统分析。针对系统进行相应分析,做出需求分析和相关技术介绍。
第三部分:系统设计。主要介绍系统功能模块设计和数据库设计。
第四部分:系统实现。详细介绍系统底层数据库的实现、业务逻辑层实现、控制层实现、表现层的实现和公共组件的实现。
第五部分:系统测试。针对开发的系统进行了主要功能模块的测试并给出测试结果。
第六部分:结束语。本章对整个系统开发和论文书写工作进行总结,指出了还需改进的地方。
2.系统分析
2.1需求分析
2.1.1功能型需求
恒鑫租赁站长期大量出租各型钢管、扣件、塔吊等建筑施工设备。本系统为恒鑫租赁站提供了一个方便快捷的物资管理系统,方便出租物资的管理。系统功能主要包括:用户管理,包括管理员信息查看、管理员密码修改;正常订单管理:包括新增正常订单、修改有误订单、删除错误订单;资金结算管理:费用统计;材料租赁管理:包括订单出租查询、器材回收管理、日租金管理、仓库库存管理等。
2.1.2非功能性需求
此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和Mysql数据库进行简要介绍。
(1) 开发工具
MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。
(2) 运行环境
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
(3) 数据库服务器
MySQL是当前一种较为流行的关系数据库,和其它的数据库管理系统(DBMS)相比,MySQL是一个开源免费的轻量级关系数据库。它适合在小、中型项目中使用。
2.2相关设计
开发方案选择:
B/S结构,即Browser/Server(浏览器/服务器)结构,在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S
结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。
开发技术选择:
本系统采用的开发语言是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所示。

图1 系统功能结构图

3.3系统数据库设计
数据库设计是指对一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地保存数据,满足各种用户的应用需求(信息要求和处理要求)。
(1) 管理员表 (admin)
管理员表用来记录管理员登录时候所需的基本信息,如表3.1所示。
表3.1 管理员表
4.4表现层的实现
表现层是用户所接触的图形界面,所有界面的友好性是很重要的。在表现层的实现过程中,使用Dreamweaver网页设计工具和Photoshop图像处理工具对用户界面进行了精心设计。以下为主要用户界面设计,如图2、图3、图4和图5所示。

图2 系统登录图

图3 系统登录成功欢迎页

图4 系统客户列表页

图5 系统添加客户页
4.5系统公共组件
4.5.1 采用JDBC的数据操作公共类

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 乱码过滤器
过滤器类:

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文件中进行过滤器的配置):
<filter> 
<!--过滤器名称 --> 
<filter-name>CharactorFilter</filter-name>
<!--过滤器的完整类名 --> 
<filter-class>cn.com.Filter.CharactorFilter</filter-class> 
		<!--初始化参数 -->
		<init-param> 
			<!--参数名称 -->
			<param-name>encoding</param-name> 
			<!--参数值 -->
			<param-value>utf-8</param-value> 
		</init-param>
</filter>
<!--过滤器映射 -->
<filter-mapping> 
<!--过滤器名称 -->
<filter-name>CharactorFilter</filter-name>
<!--URL映射,给所有页面处理乱码 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
4.5.3 404、500异常处理
拦截异常配置:
<!-- 配置404与500错误处理-->
<error-page> 
<error-code>404</error-code>
<location>/404.htm</location>
</error-page>
<error-page>
<error-code>500</error-code> 
<location>/500.htm</location>
</error-page>

异常拦截跳转页面:
如果出现404错误,跳转至404.htm
如果出现500错误,跳转至500.htm

5.系统测试
5.1测试环境
测试环境:windows 7操作系统。
浏览器:Google Chrome。
服务器:tomcat6.0。
5.2测试步骤
(1) 在MyEclipse开发工具中,将系统打包成wz.war的文件。
(2) 将wz.war文件复制到tomcat中webapps下。
(3) 启动tomcat。
(4) 系统访问地址:http://localhost:8080/wz/admin/index.jsp。
用户名:admin,密码:1234。
5.3测试结果
(1) 用户登录测试
在后台登录界面,需输入用户名和密码,如图6所示。

图6 输入用户名、密码图
如果输入的用户名和密码不匹配,则提示输入错误,如图7所示。

图7 用户名或密码输入错误图
输入正确的则进入后台信息的管理界面,如图8所示。

图8 系统登录成功图
(2) 材料租赁测试
通过客户列表页进入材料租赁页面选择现有才有进行租赁,如图9所示。

图9 系统材料租赁图
将租赁材料录入后,点击提交按钮,出现租赁成功界面提示,如图10所示。

图10 材料租赁成功图
在租赁管理界面中,可查看正在租用材料的信息,如图11所示。

图11 材料租赁管理图
可对正在租用的材料进行归还,成功则出现提示,如图12所示。

图12 材料归还成功图
(4) 管理员退出
管理员点击安全退出按钮,提示“您确定要退出!”,如图13所示。

图13 系统提示是否退出图
退出则回到最初的登录界面,如图14所示。

图14 系统退出成功图

6.结束语
历时将近半年的时间,毕业设计基本完成。从论文选题到搜集资料,从写稿编程到反复修改,从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达,期间经历了喜悦、聒噪、痛苦和彷徨,在写作论文的过程中心情是如此复杂。在此期间不断的进行精心的修改,不断地去整理各方面的资料,不断的想出新的创意,认真总结。历经了这么久的努力,紧张而又充实的毕业设计终要落下帷幕。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。
通过这次毕业设计使我明白了自己原来知识还比较欠缺。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。学习是一个长期积累的过程。 在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质,注重理论与实践的相结合。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值