《JSP仓库管理系统的设计与实现毕业论文4379.docx》由会员分享,可在线阅读,更多相关《JSP仓库管理系统的设计与实现毕业论文4379.docx(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、淮阴师范学院毕业论文(设计)毕业 论 文学生姓名名学 号学院计算机科科学与技技术学院院专业计算机科科学与技技术学院院(软件件工程)题 目目基于JSSP的仓仓库管理理系统的设计与与实现指导教师师 讲讲 师/硕 士士(姓 名) (专专业技术术职称/学位)年月摘要:仓库管管理系统统是一个个企业不不可或缺缺的部分分,高效效的仓库库管理系系统可以以为企业业的发展展和经营营提供坚坚强的后后盾。随随着科技技的不断断发展,用用计算机机对仓库库进行管管理,具具有人工工管理所所无法比比拟的优优点,例例如:检索迅迅速、查查找方便便、保密密性好、成成本低、寿寿命长等等。这些些优点能能极大地地提高仓仓库管理理的效率率,
2、使企企业的仓仓库管理理井井有有条,为为企业的的健康发发展创造造良好的的条件。本文在在分析现现有管理理系统开开发技术术的基础础上,实实现了以以Ecllipsse为开开发平台台的基于于JSPP的,以以MySSql作作为后台台数据库库的仓库库管理系系统。该系统统主要具具备基本本信息管管理、库库存管理理、信息息查询、用用户管理理等功能能模块。关键词:仓库管管理,JJSP,MMySqql数据据库Absttracct: Warrehoousee maanaggemeent sysstemm iss ann inndisspennsabble parrt oof tthe entterpprisse. A
3、wwareehouuse mannageemennt ssysttem witth hhighh effficcienncy cann prroviide a sstroong bacckinng ffor thee deevellopmmentt annd mmanaagemmentt off ennterrpriisess. WWithh thhe ddeveeloppmennt oof ttechhnollogyy,too maanagge tthe warrehoousee wiith commputter hass thhe iincoompaarabble advvanttagee
4、s oof mmanuual mannageemennt.FFor exaamplle, quiick seaarchh, ffindd coonveenieent, goood seccuriity, loow ccostt, llongg seerviice liffe eetc. Thhesee addvanntagges cann grreattly impprovve tthe effficiienccy oof wwareehouuse mannageemennt, thee ennterrpriise stooragge mmanaagemmentt bee arrrannged
5、d inn goood ordder, annd ccreaate goood ccondditiionss foor tthe heaalthhy ddeveeloppmennt oof eenteerprrisees. In thiis ppapeer, bassed on anaalyssis of thee exxisttingg maanaggemeent sysstemm deevellopmmentt teechnnoloogy, inn orrderr too reealiize thee Ecclippse as thee deevellopmmentt pllatfform
6、m baasedd onn JSSP, usiing MySSql as thee baackggrouund dattabaase warrehoousee maanaggemeent sysstemm. TThe sysstemm maainlly hhas thee baasicc innforrmattionn maanaggemeent, innvenntorry mmanaagemmentt, iinfoormaatioon qquerry, useer mmanaagemmentt moodulleKeywwordds:WWareehouuse mannageemennt, JS
7、PP, MMySqql ddataabasse目 录录1绪论441.1开开发背景景41.2开开发意义义41.3本本文组织织结构442系统解解决方案案52.1JJSP语语言概述述52.2SSSH框框架52.3MMySqql数据据库52.4系系统平台台环境553需求分分析63.1面面向的用用户人群群63.2功功能需求求分析663.3业业务流程程图74数据库库设计994.1EE-R模模型94.2数数据模型型125详细设设计1555.1数数据库连连接类1155.2系系统主要要模块116结论344参考文献献35致谢3661 绪论1.1 开发背景景一直以来来企业使用用传统人人工的方方式来管理文文件库存存,
8、这种种管理方方式存在在许多缺缺点,如:保密密性差、效率低低等,而且时间间一长,将产生生大量的的数据和文件, 这对于于企业查找找、更新新和维护护都带来来了很多多的困难难。由于于缺乏科科学的管管理和管管理工具具,企业业在业务务上和管理上上的安排排都存在在着许多多不便。因因而针对对这些问问题而开开发的系系统具有有很好的的前景。1.2 开发意义义随着时代代的不断断发展,社社会正在在不断向向信息化化时代迈迈进。由由于能够够有效地地收集和和处理各各种信息息,提高高办事效效率,电电子自动动化办公公越来越越被重视视。而随随着互联联网技术术的不断断发展,又又为电子子自动化化办公的的发展提提供了良良好的前前景。如
9、如今,很很多企业业已经拥拥有了计计算机设设备,具具备物质质条件,但但很多工工作仍由由管理者者手工操操作完成成,这就就造成不不必要的的浪费。计计算机流流行的原原因主要要有以下下几个方方面:1.计算算机可以以代替手手工操作作进行许许多繁杂杂的工作作;2.计算算机可以以节省大大量资源源;3.计算算机可以以极大地提高人人们的工工作效率率;4.计算算机可以以使敏感感文档更更加安全全;5.电子子自动化化办公是是先进生生产力发发展的重重要标志志。综上所述述,用计计算机开开发的软件系系统,替替代人工工操作进进行管理理,可以以节约大大量的人人力、物力力,是企企业发展展的必然然趋势1!1.3 本文组织织结构本系统
10、将将以课本本和一些些课外书书籍为参参考,从系统统开发背背景需求分分析概要设设计详细设计计具体开开发一步步步对系系统进行行分析和和设计。各个章章节安排排如下:第一章为为绪论,简简述项目目的开发发背景和和开发意意义;第二章详详细介绍绍了项目目开发的的应用技技术,比比如JSSP,框架和数据库库等;第三章是是需求分分析,介介绍了系系统的设设计目标标和系统统的主要要功能模模块。第四章是是数据库库设计,在在E-RR模型的的基础上上,再设设计出相相应的逻逻辑模型型。第五章根根据系统统功能模模块详细细介绍了了各模块块的设计计过程并并给出部部分实现现代码。2 系统解决决方案2.1 JSP语语言概述述JSP(JJ
11、avaa Seerveer PPagees)是是由Suun MMicrrosyysteems公公司倡导导、许多多公司参参与一起起建立的的一种动动态网页页技术标标准。它它的主要要目的是是将表示示逻辑从从Serrvleet中分分离出来来。它是是在传统统的网页页HTMML文件件(*.htmm,*.htmll)中插插入Jaava程程序段(Scrripttlett)和JJSP标标记(ttag),从而而形成JJSP文文件(*.jssp)。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。用JSP开发的W
12、eb应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行2。2.2 SSH框框架SSH 在J22EE项项目中表表示了33种框架架,即 Sprringg + Strrutss +HHibeernaate。本系统采用MVC开发模式来编写代码,MVC全名是Model View Controller,是模型(model)视图(view)控制器(controller)的缩写3。Struts对Model,View和Controller都提供了对应的组件。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而
13、创建的4。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,也可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任5。2.3 MySqql数据据库MySQQL是一一个关系系型数据据库管理理系统,由由瑞典MMySQQL AAB公司司开发,目目前属于于Oraaclee公司。MMySQQL是一一种关联联数据库库管理系系统,关关联数据据库将数数据保存存在不同同的表中中,而不不是将所所有数据据
14、放在一一个大仓仓库内,这这样就增增加了速速度并提提高了灵灵活性。MMySQQL的SSQL语语言是用用于访问问数据库库的最常常用标准准化语言言。由于于其体积积小、速速度快、总总体拥有有成本低低,尤其其是开放放源码这这一特点点,一般般中小型型网站的的开发都都选择MMySQQL作为为网站数数据库6。2.4 系统平台台环境(1)硬硬件环境境:服务器:CPU:2G或或以上;内存:11G RRAM或或以上;硬盘:880G或或以上;客户端:CPU:1G或以以上;内存:664MBB以上内内存或更更高;硬盘:220G或以上。(2)软软件开发发环境:操作系统统:WinddowssXP;所用工具具:Ecclipps
15、e,Navvicaat ffor MySSQL;数据库:MySSQL。3 需求分析析3.1 面向的用用户人群群1. 管理员:作为系系统的管管理员和和维护者者,对系系统基本本信息、仓仓库管理理等模块块进行数数据的管管理,并并对系统统的更新新作出及及时的响响应,使使得系统统能更好好地运行行。2. 普通用户户:作为为系统的的使用者者,注册册登陆系系统后,可可以查询询系统基基本信息息、仓库库信息、修修改个人人信息等等。3.2 功能需求求分析仓库管理系统基本信息管理库存管理信息查询用户管理用户添加,删除用户密码修改添加入库记录添加出库记录按仓库查询按货物查询用户添加删除用户权限修改系统设置个人信息修改图
16、3-11系统功功能模块块图本系统是是一款仓仓库管理理系统,旨旨在对仓仓库的自自动化管管理以适适应信息息化社会会的生产产方式。根据仓仓库管理理系统的的需求,划划分了仓仓库的功功能模块块,主要要分为用用户管理理模块、入入库出库库模块、仓仓库查询询模块、盘盘点统计计模块7。具具体功能能如图3-1所示示。3.3 业务流程程图该系统的的用户分分为普通通用户和和管理员员。管理理员拥有有所有权权限,而而普通用用户只能能进行查查询的操操作。1233.13.23.33.3.1 管理员模模块图3-22 管理理员使用用流程图图管理员使使用流程程如图33-2所所示。1. 登录登陆界面面包括账账号和密密码两个个文本框框
17、和身份份选择单单选框,用用户登陆陆成功就就会转到到系统主主页面,否否则将会会提示账账号密码码错误。2. 查询信息息用户登陆陆查询信信息界面面可以对对仓库信信息(仓仓库、货货物、供供应商、部部门、入入库单、出出库单)进进行查询询。3. 设置信息息(管理理员)管理员用用户登陆陆设置信信息界面面可以对对仓库信信息(仓仓库、货货物、供供应商、部部门、入入库单、出出库单)进进行设置置。4. 添加记录录(管理理员)管理员用用户登陆陆添加界界面可以以添加入库库和出库库信息。5. 修改密码码用户可以以修改自自己的密密码,需需要先验验证旧密密码,验验证成功功后通过过输入两两次新密密码对密密码进行行修改。6. 用
18、户管理理(管理理员)管理员用用户可以以对已添添加的用用户权限限进行修修改,也也可以删删除已存存在的用用户。3.3.2 普通用户户模块图3-33 普通通用户使使用流程程图普通用户户使用流流程如图图3-33所示。普通用户户只能进进行查询询操作和和修改个个人信息息。4 数据库设设计数据库是是一种存存储数据据并对数数据进行行操作的的工具。数数据库的的作用在在于组织织和表达达信息,即即数据库库就是相相关信息息的集合合。本章章从E-R模型型的分析析设计为为切入点点,重点点介绍了了数据库库的设计计。根据据仓库管管理系统统的功能能,将其其E-RR图转化化为数据据库表,为为系统的的实现奠奠定了基基础。4.1 E
19、-R模模型E-R模模型即实实体-联联系模型型,它是由由实体集集、属性性和联系系集构成成。实体集集用矩形形框表示示,矩形形框内写写上实体体名。实实体的属属性用椭椭圆框表表示,框框内写上上属性名名,并用用无向边边与其对对应的实实体集相相连。实实体间的的联系用用菱形框表表示,菱菱形框中中写上以以适当的的含义命命名的名字,用用无向连连线将参参加联系系的实体体矩形框分分别与菱菱形框相相连,并并在连线线上标明明联系的的类型,即即111、1N或MMN。本系统的的E-RR模型主主要包括括部门实实体、货物实实体、用户实实体、供应商商实体、仓仓库实体体、入库库单实体体和出库单单实体共共七个实实体集和和一个各各实体
20、联联系集。EE-R模模型如下下文所述述。4566.11. 部门实体体用来存存储部门门信息,E-R图如图4-1所示:部门部门电话部门地址部门经理部门编号部门名称图4-11 部门门实体EE-R图图2. 货物实体体用来存存储货物物信息,EE-R图图如图44-2所所示:货物货物编号供货商编号计量单位货物价格货物规格货物名称图4-22 货物物实体EE-R图图3. 用户实体体用来存存储用户户信息,EE-R图图如图44-3所所示:用户用户编号用户密码用户权限用户名图4-33用户实体体E-RR图4. 供应商实实体用来来存储供供应商信信息,EE-R图图如图44-4所所示:供应商供应商电话供应商地址供应商联系人供
21、应商编号供应商名称图4-44供应商商实体EE-R图图5. 仓库实体体用来存存储仓库库信息,EE-R图图如图44-5所所示:仓库仓库电话库存总量仓库管理员仓库编号已用库存量图4-55仓库实体体E-RR图6. 入库单实实体用来来存储入入库单信信息,EE-R图图如图44-6所所示:入库单入库编号管理员编号仓库编号修改时间入库时间入库类型货物编号入库数量图4-66入库单单实体EE-R图图7. 出库单实实体用来来存储出出库单信信息,EE-R图图如图44-7所所示:出库单出库编号管理员编号仓库编号修改时间出库时间部门编号货物编号出库数量图4-77出库单单实体EE-R图图8各实实体联系系E-RR图如图图4-
22、88所示。用用户通过过添加入入库单和和出库单单记录入入库信息息和出库库信息,供供应商提提供货物物,部门门使用货货物,一一条记录录对应一一个供应应商或者者部门,货物入库货物出库仓库入库单出库单供应商部门货物存放用户添加nn11添加11nnmnmm图4-88 各实实体联系系E-RR图4.2 数据模型型根据4.1中分分析得出出的E-R图,本本系统采采用MyySqll数据库库管理系系统,在在MySSql数数据库管管理系统统中新建建名称为为mysstorragee的数据据库,本本系统所使用的的所有数数据信息息均将存储储于该数数据库中中。以下下列举数据据表。11.11.21. 部门表(ddepaartmm
23、entt)表4-11 部门门表列名数据类型型大小说明depaaIdint4部门编号号depaaNammevarccharr24部门名称称depaaPerrsonnvarccharr15部门经理理depaaPhoonecharr11部门电话话depaaAdddrvarccharr90部门地址址2. 货物表(ggoodds)表4-22货物表列名数据类型型大小说明gooddsIddint4货物编号号supppIdint4供应商编编号gooddsNaamevarccharr30货物名称称gooddsSiizevarccharr10货物规格格gooddsPrriceeint4货物价格格unittchar
24、r6计量单位位3. 入库表(iinsttoree)表4-33入库表列名数据类型型大小说明insttIdint4入库编号号insttClaasscharr1入库类型型gooddsIddint4货物编号号insttNummint4入库数量量insttTimmedateetimme8入库时间间modiifyTTimeedateetimme8修改时间间stoIIdint4仓库编号号userrIdint4管理员编编号4. 出库表(ooutsstorre)表4-44出库表列名数据类型型大小说明outsstIddint4出库编号号depaaIdint4部门编号号gooddsIddint4货物编号号outss
25、tNuumint4出库数量量outsstTiimedateetimme8出库时间间modiifyTTimeedateetimme8修改时间间stoIIdint4仓库编号号userrIdint4管理员编编号5. 仓库表(sstorre)表4-55仓库表列名数据类型型大小说明stoIIdint4仓库编号号stoPPerssonvarccharr15仓库管理理员stoPPhonnecharr11仓库电话话useddVolluint4已用库存存量allVVoluuint4库存总量量6. 供应商表表(suuppllierr)表4-66供应商商表列名数据类型型大小说明supppIdint4供应商编编号su
26、pppNammevarccharr45供应商名名称supppPerrsonnvarccharr15供应商联联系人supppPhoonecharr11供应商电电话supppAdddrvarccharr90供应商地地址7. 用户表(uuserr)表4-77用户表列名数据类型型大小说明userrIdint4用户编号号userrNammevarccharr15用户名passsvarccharr16用户密码码userrLevvelcharr1用户权限限8. 库存表(sstocck)表4-88库存表列名数据类型型大小说明stoIIdint4仓库编号号gooddsIddint4货物编号号stocckint4
27、库存量以上就是是mysstorragee数据库库的数据据表。5 详细设计计5.1 数据库连连接类在对数据据库连接接的过程程中,为为了使代代码更精精简,将将对数据据库的连连接方法法封装在在DriiverrManna公共共类中,其中包包括数据据库连接接方法ggetCConnn、ResuultSSet的关关闭方法法clooserrs、PreeparredSStattemeent的的关闭方方法clloseepsttmt、Connnecctioon的关关闭方法法clooseccon。以下即为为代码:publliccclasssDrriveerMaana publlicsstattic Connnecct
28、ioon ggetCConnn()Coonneectiion conn=nuull;try CClasss.fforNNamee(coom.mmysqql.jjdbcc.Drriveer);conn=DrriveerMaanagger.gettConnnecctioon(jddbc:myssql:/llocaalhoost:33006/mmysttoraage, rroott, rooot); cattch (CllasssNottFouundEExceeptiion e) ee.prrinttStaackTTracce(); cattch (SQQLExxcepptioon ee) ee.p
29、rrinttStaackTTracce();retuurn conn;publlicsstatticvvoidd clloseers(RessulttSett rss)if(rrs!=nulll)try rs.cloose(); caatchh (SSQLEExceeptiion e) e.pprinntSttackkTraace();publlicsstatticvvoidd clloseepsttmt(PreeparredSStattemeent psttmt)if(ppstmmt!=nulll)try psttmt.cloose(); caatchh (SSQLEExceeptiion
30、e) e.pprinntSttackkTraace();publlicsstatticvvoidd clloseeconn(Coonneectiion conn)if(ccon!=nuull)try conn.cllosee(); caatchh (SSQLEExceeptiion e) e.pprinntSttackkTraace();5.2 系统主要要模块5.2.1 登录模块块图5-11 登录录界面本模块主主要用于于对用户户身份进进行鉴别别。用户户有两种种身份:普通用用户和管管理员。用用户通过过单选框框选择登登录身份份,通过过表单输输入用户户名、密密码,系系统根据据用户提提供的信信息对用用
31、户进行行身份鉴鉴别。界界面如图图5-11所示。后台代码码实现:publlicvvoidd dooPosst(HHttppSerrvleetReequeest reqquesst, HtttpSeervlletRRespponsse rrespponsse)throows SerrvleetExxcepptioon, IOEExceeptiion Sttrinng uuserrNamme=rrequuestt.geetPaarammeteer(useernaame);Sttrinng ppasssworrd=rrequuestt.geetPaarammeteer(passwrdd);Sttrin
32、ng uuserrLevvel=reqquesst.ggetPParaametter(usserLLeveel);Usser lusser=neww Usser();luuserr.seetUsserNNamee(usserNNamee);luuserr.seetPaasswwordd(paasswwordd);luuserr.seetUsserLLeveel(uuserrLevvel);ILLogiinDaao llogiinDaao=nnew LogginDDaoIImpll();Usser loggin=logginDDao.gettUseer(lluseer);if(llogiin!=
33、nulll)HHttppSesssioon ssesssionn=reequeest.gettSesssioon();ssesssionn.seetAtttriibutte(loggin, llogiin);SServvlettConntexxt cconttextt=thhis.gettSerrvleetCoonteext();RRequuesttDisspattcheer ddisppatccherr;if(llogiin.ggetUUserrLevvel().eequaals(0)disspattcheer=cconttextt.geetReequeestDDisppatccherr(/
34、commUseer.jjsp);elseedisspattcheer=cconttextt.geetReequeestDDisppatccherr(/mannaUsser.jspp);ddisppatccherr.foorwaard(reqquesst, ressponnse);elseerrequuestt.seetAtttriibutte(logginFFaill,登录录失败);SServvlettConntexxt cconttextt=thhis.gettSerrvleetCoonteext();RRequuesttDisspattcheer ddisppatccherr=coonte
35、ext.gettReqquesstDiispaatchher(/llogiin.jjsp);ddisppatccherr.foorwaard(reqquesst, ressponnse);5.2.2 目录生成成模块由登陆界界面进入入主界面面后,总总体界面面如图55-2所所示:图5-22 主界界面画面左边边即为目录录。目录录模块主主要用于于生成目目录部分分,菜单单的折叠叠展开是是使用jjavaascriipt代代码实现现的。菜单展开开折叠功功能实现现代码:var divvheiightt=1330;var speeed=11;var i=00;var s;var p=00;funcctioon
36、ddoOppenCClosse(nn)if(ddocuumennt.ggetEElemmenttByIId(bbbb+nn).ooffssetHHeigghtdivvheiightt)pp=diivheeighht;iinc22(n);funcctioon iinc(x)i=ii+100;doccumeent.gettEleemenntByyId(bbbb+x).styyle.heiightt=i+pxx;if(iidiivheeighht)i=divvheiightt-5;var s=ssetTTimeeoutt(iinc(+xx+),sspeeed);if(ii=1125)wiindoow
37、.ccleaarTiimeoout(s);funcctioon iinc22(x)if(pp1)p=p-10;doocummentt.geetEllemeentBByIdd(bbbb+x).sttylee.heeighht=pp+ppx;var s=ssetTTimeeoutt(iinc22(+x+),speeed);if(pp=00)wiindoow.ccleaarTiimeoout(s);5.2.3 基本信息息管理模模块基本信息息管理模模块包括括供应商商管理、货物管理、仓库信息管理和部门管理。1. 供应商管管理本功能用用于对供供应商信信息的记记录管理理。管理理员可以以添加新新的供应应商,修
38、修改已有有的供应应商信息息,删除除供应商商信息等等。界面面如图55-4所所示:图5-44 供应应商管理理界面主要代码码:1) 添加供应应商publlicvvoidd dooPosst(HHttppSerrvleetReequeest reqquesst, HtttpSeervlletRRespponsse rrespponsse)throows SerrvleetExxcepptioon, IOEExceeptiion reqquesst.ssetCCharractterEEncoodinng(utff-8);ressponnse.settConntenntTyype(teext/htmml;
39、ccharrsett=uttf-88);Strringg suuppNNamee=reequeest.gettParrameeterr(ssupppNamme);Strringg suuppPPersson=reqquesst.ggetPParaametter(suuppPPersson);Strringg suuppPPhonne=rrequuestt.geetPaarammeteer(supppPhhonee);Strringg suuppAAddrr=reequeest.gettParrameeterr(ssupppAdddr);Supppliier supppliier=neww Su
40、uppllierr();supppliier.settSupppNaame(supppNaame);supppliier.settSupppPeersoon(ssupppPerrsonn);supppliier.settSupppPhhonee(suuppPPhonne);supppliier.settSupppAdddr(supppAdddr);ISuuppllierrDaoo suuppllierrDaoo=neew SSuppplieerDaaoImmpl();int i=ssuppplieerDaao.aaddSSuppplieer(ssuppplieer);if(ii0)reeque
41、est.settAtttribbutee(aaddPPrommt, 添添加成功功!);elseereequeest.settAtttribbutee(aaddPPrommt, 添添加失败败!);thiss.geetSeervlletCConttextt().gettReqquesstDiispaatchher(/aaddSSuppplieer.jjsp).fforwwardd(reequeest, reespoonsee);2) 删除供应应商publlicvvoidd dooPosst(HHttppSerrvleetReequeest reqquesst, HtttpSeervlletRRespponsse rrespponsse)throows SerrvleetExxcepptioon, IOEExceeptiion Strringg delle=rrequuestt.geetPaarammeteerVaaluees(delle);int supppIdd=0;int rs=0;for(intt i=0;ii00)reequeest.settAtttribbutee(ddeleeProomt, 删删除成功功!);elseereequeest.settAtttribbutee(dde