JSP超市物品管理系统.docx
《JSP超市物品管理系统.docx》由会员分享,可在线阅读,更多相关《JSP超市物品管理系统.docx(40页珍藏版)》请在冰豆网上搜索。
![JSP超市物品管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/14/cca3dd06-999c-4444-a15e-12202dffafbf/cca3dd06-999c-4444-a15e-12202dffafbf1.gif)
JSP超市物品管理系统
摘要
随着信息化的时代的到来,无论是大小企业计算机、网络技术应用都已经到企业的发展过程中,服务于日常办公和业务的开展,可以这么说,一个企业的信息化程度高低,将会直接影响这个企业在市场竞争中的地位。
对于众多的大小型超市而言,如何通过规范化的管理超市的物品,降低自身运行成本、增强对产品进出管理是一个超市正常运营的重要问题。
超市物品管理系统作为现代超市的一种重要管理手段已渗透到各行各业。
本文采用JSP技术进行Web服务器端的开发,后台结合SQLServer数据库,在MyEclipse开发平台上,实现了基于B/S模式的企业信息管理系统。
系统采用了MVC三层架构技术、Hibernate等数据库访问技术,执行效率高,查询速度快。
通过该系统,各登录用户可以查看自己本人的已经存在的产品信息,对已经存入的产品信息进行管理,对于自己物品的进货等记录进行修改;系统管理员可以及时对用户的一些信息进行更改,对用户的不法行为进行管理,对用户的订单进行及时的处理。
系统测试表明,系统符合设计的需求,通过使用本系统,可以对信息进行更加及时、高效的管理。
关键词:
JSP超市物品管理系统B/S
abstract
Withtheinformation era, boththeapplicationof computer networktechnology,enterprises have to theprocessofthedevelopmentofenterprises, service indailyoffice andbusinessdevelopment, sotospeak, anenterprise'sinformatization level, willdirectlyaffect the enterprise inthemarketcompetition.Formanysmallandmedium enterprises, howto standardizethemanagement ofemployee items, reducetheir operatingcosts, enhancethe productimportandmanagementisanimportantissuein thenormaloperation ofanenterprise.Articlemanagementsystem asanimportant meansofmodern enterprisemanagement has penetratedintoallwalksoflife.
Thispaper adoptsJSPtechnologyto Webserver, combinedwiththebackgroundSQL Serverdatabase, MyEclipsedevelopment platform, hasrealizedtheenterprise informationmanagement systembasedonB/Smode.Thesystem usesMVCthree layer architecturetechnology, hibernate databaseaccesstechnology, highefficiency, fastinquiry. Throughthissystem, the usercan viewthe existing productinformation totheirown, tocarryonthemanagementtothe alreadystoredinthe productinformation, for your goodspurchase record ismodified; thesystemadministrator canmakechanges touserinformation, themanagementoftheuser's illegal behavior, on customerorders inatimelymanner processing.
Systemtest showsthatthe systemmeetsthe requirements, design, byusingthissystem, canbe moretimely, efficient managementofinformation.
Keywords:
informationmanagementsystembasedonJSPB/S
第一章前言
1.1课题研究的背景和意义
随着计算机技术和网络通信技术的飞速发展,网络化、信息化已经成为各行各业发展的一种必然趋势。
而随着以计算机网络技术、数据库技术、开发平台等为代表的计算机应用技术的迅猛发展,计算机管理系统(ManagementInformationSystem,MIS)被广泛应用于企业、金融、医疗、教育、物流等很多领域,已经越来越系统化、智能化和网络化,在竞争激烈的现代社会发挥着越来越重要的作用。
目前国内部分中小超市,由于资金和技术上的问题,超市物品信息化程度很低,基本都采用分散式管理,各台计算机之间完全独立,信息交换采用口头通知或EXCEL表格共享,这种存在严重滞后性的信息传递方式不能及时、准确地为生产、采购和财务等部门提供信息,使得超市物品管理的计划、执行、反馈、处理各职能之间不协调,造成大量的信息错误和数据丢失。
因此建立物品信息管理系统意义重大。
本文采用JSP技术进行Web服务器端的开发,后台结合SQLServer数据库,在MyEclipse开发平台上,实现了基于B/S模式的企业信息管理系统。
系统采用了MVC三层架构技术、hibernate等数据库访问技术,执行效率高,查询速度快。
通过该系统,各登录用户可以查看自己本人的已经存在的产品信息,对已经存入的产品信息进行管理,对于自己物品的进货等记录进行修改;系统管理员可以及时对用户的一些信息进行更改,对用户的不法行为进行管理,对用户的订单进行及时的处理。
本文提出了采用B/S体系结构构建信息管理系统的思路,系统采用MyEclipse技术进行Web服务器端的开发,后台结合SQLServer数据库,为类似系统的开发提供了有用的、可借鉴的方面。
系统的使用解决了目前信息化程度低下、工作效率低等种种问题。
使得信息系统的开发与研究具有一定的实际意义和推广价值。
1.2国内外发展现状
物品管理系统是信息系统在管理领域应用发展起来的一个重要分支,是继电子数据处理系统(EDPS)之后信息系统发展的一个新阶段。
随着Internet的迅猛发展,企业物品管理系统逐步发展成为一种融合各种管理思想和信息技术的面向产品生命周期的集成系统,实现了物品的管理。
上世纪70年代后期物品管理系统将企业中的物品信息集中起来,进行快速处理,还可以利用定量化的科学管理方法,通过查询、添加、删除等手段来支持管理物品的进出。
上世纪90年代以来新一代的企业资源系统(ERP,EnterpriseResourcePlanning)应运面生。
ERP将供应商和企业内部的采购生产、销售以及客户看作一个紧密联系的供应链,通过信息技术和管理理论对企业的物流进行全面的集成管理,以提高供应链的运行效率,追求企业资源的合理高效利用,提高企业在全球市场中的竞争能力。
我国的物品管理系统的发展概念比较迟,90年代随着改革开发,引进了国外的一些系统,我国目前在物品管理系统上的发展已日趋成熟,目前好的系统比如24om,华顺等。
1.3可行性分析
1.3.1经济可行性
本系统主要借助JSP技术和MyEclipse平台、SQLServer2005数据库开发。
MyEclipse中提供的许多控件,以及个性化的用户控件、母版页功能,都可以让我们方便快捷的进行系统开发。
如今的程序设计语言已非常成熟,Java以其独特的优点和特点足能满足设计要求。
在系统设计和运行时,除了服务器要求高一点以外,终端设备不是很昂贵。
系统所需要的功能较少,开发起来较为简单,开发周期短,可由个人开发。
人机交互好,易学易懂,培训人员的资金也不会很多,所以资金的投入是比较少的。
本系统如果开发成功后就可以大大提升企业的经济效益、社会效益和管理水平。
上面几项的资金消耗和本系统带来的效益相比较的话,开发此系统是可行的。
1.3.2技术可行性
系统采用的运行环境为WindowsXP操作系统,基于B/S模式,应用MVC三层架构,采用MyEclipse为系统开发平台,利用.Java技术作为技术实施框架。
这些技术现在较为成熟,开发者容易上手,易操作。
系统开发起来也比较容易。
硬件方面,在科技迅速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,硬件平台很容易满足本系统的需要。
综上所述,从技术上分析,开发此系统是可行的。
1.3.3操作可行性
从用户角度上分析,合理的功能模块设计与便捷的操作,完全可以满足用户的需求。
从管理员角度分析,加蛋的功能模块设计方便系统管理员的内部管理。
在系统开发完成之后,系统便具有操作简单,方便灵活等优点,管理员及用户一定会在短时间内掌握并熟练使用。
因此,从操作方面来讲,开发该系统是可行的。
1.4相关技术介绍
1.4.1JavaJsp简介
Jsp基于面向对象程序开发,具有最好的可扩展行与可定制性,数据处理方面更是引入了许多新技术,正是这些具有革新意义的新特性,提供给Web开发人员更好的灵活性,有效缩短了Web应用程序的开发周期。
它主要有以下强大功能:
(1)一次编写,到处运行。
除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP的局限性JSP的优势是显而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
(5)支持服务器端组件。
web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。
JSP可以使用成熟的JAVABEANS组件来实现复杂商务功能。
1.4.2DAO数据库访问技术
(1)DAO简介
访问接口
DAO(DataAccessObJect)是一个数据访问接口,数据访问:
顾名思义就是与数据库打交道。
夹在业务逻辑与数据库资源中间。
在核心J2EE模式中是这样介绍DAO模式的:
为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。
用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。
在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。
数据访问对象
DAO(数据访问对象)是一种应用程序编程接口(API),存在于微软的VisualBasic中,它允许程序员请求对微软的Access数据库的访问。
DAO是微软的第一个面向对象的数据库接口。
DAO对象封闭了Access的Jet函数。
通过Jet函数,它还可以访问其他的结构化查询语言(SQL)数据库。
J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开.实现DAO模式能够更加专注于编写数据访问代码.
我们先来回顾一下DAO设计模式和数据访问对象.
DAO基础
DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开.一个典型的DAO实现有下列几个组件:
1.一个DAO工厂类;
2.一个DAO接口;
3.一个实现DAO接口的具体类;
4.数据传递对象(有些时候叫做值对象).
具体的DAO类包含了从特定的数据源访问数据的逻辑。
在下面的这段中你将学到设计和实现数据访问对象的技术。
事务划分:
关于DAO要记住的一件重要事情是它们是事务性对象。
每个被DAO执行的操作(对象创建,更新、或删除数据)都是和事务相关联的。
同样的,事务划分(TransactionDemarcation)的概念是特别重要的。
事务划分是在事务界定定义中的方式。
J2EE规范为事务划分描述了两种模式:
编程性事务(Programmatic)和声明性事务(Declarative).下表是对这两种模式的拆分:
声明性事务划分编程性事务划分
程序员使用EJB的部署描述符声明事务属性程序员担负编写事务逻辑代码的责任。
运行时环境(EJB容器)使用这些属性来自动的管理事务。
应用程序通过一个API接口来控制事务。
(2)Hibernate简介
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
第二章系统总体设计
2.1系统总体分析
根据需求分析将系统分为5个功能模块,分别为用户登录模块、物品类型模块、物品详情模块、物品进出记录模块和管理员管理模块。
系统总的模块划分结构图如图2-1所示。
图2-1系统功能模块图
(1)用户管理模块
用户登录模块主要包括用户登录、用户注册、用户注销、管理员登录。
其中根据用户角色的不同所能查看的内容也不同,用户分为系统管理员和普通用户两个角色,他们在该模块中所能操作的内容如下:
①普通用户注册自己的个人信息
②系统管理员查看所有用户信息
③系统管理员删除用户信息
④系统管理员修改用户信息
(2)物品类型模块
物品类型模块主要包括添加物品类型、删除物品类型和修改物品类型。
其中根据类型的不同所能查看的内容也不同,用户为用户,他们在该模块中所能操作的内容如下:
①添加新的物品类型
②删除已经存在的物品类型
③修改已经存在的物品类型
④查询该物品类型的物品
(3)物品详情模块
物品详情模块主要包括添加产品、删除产品和修改物品信息。
其中根据用户角色的不同所能查看的内容也不同,用户普通用户,他在该模块中所能操作的内容如下:
①查看物品的信息
②修改物品的信息
③删除物品的信息
④查询货物进出时间
(4)物品进出记录模块
物品荆楚模块主要包括物品的进入数量、时间和物品的出库时间和数量。
其中根据用户角色的不同所能查看的内容也不同,用户主要为普通用户,他在该模块中所能操作的内容如下:
①修改时间
②删除时间
(5)管理员管理模块
管理员管理模块主要包括下对用户的删除和密码重置。
其中根据用户角色的不同所能查看的内容也不同,用户分为管理员,他们在该模块中所能操作的内容如下:
①重置用户的密码
③删除用户
2.2系统建模
用例图描述一组用例、参与者以及它们之间的关系,用例图的主要目的是帮助开发人员以一种可视化的方式理解系统的功能需求,包括基于基本流程的角色关系,以及系统内用例之间的关系
2.2.1用户身份验证用例图
图2-2显示了用户身份验证系统的用例:
当系统管理员或普通用户登录时需要输入用户名、密码,当二个均输入正确时才能进入到系统主页面,否则会有相应的错误提示。
图2-2用户验证用例图
2.2.2物品类型模块例图
图2-3显示了物品类型的用例:
包括添加物品类型、删除、修改和查询等功能。
图2-3新闻管理模块用例图
2.2.3物品详情块例图
图2-4显示了物品详情模块的用例:
包括新增物品、查看信息、修改物品名称、删除物品以及物品进出查询等功能。
图2-4产品管理用例图
2.2.4物品进出管理模块例图
图2-5显示了用户物品进出的用例:
包括物品的进出货时间数量等功能。
图2-5用户管理用例图
2.2.5管理员管理模块用例图
图2-6管理员管理模块用例:
包括删除用户等功能,以及用户秘密进行重置。
图2-6新闻(产品)评论管理用例图
第三章数据库设计
数据库设计是项目开发和系统设计中非常重要的一个环节,在这里要特别强调数据库设计的重要性,是因为数据库设计就像建设高楼大厦的根基一样,如果设计不好,在后来的系统维护、变更和功能扩充时,甚至在系统开发过程中都会引起比较大的问题。
3.1数据库概念设计
为了存储系统用户的用户名、地址、电话等基本信息,建立一张用户信息表对用户信息进行管理。
用户信息实体E-R图如图3-1所示。
图3-1用户信息实体E-R图
为了存储系统物品类型里面的物品ID、物品类型名称、物品编号、用户编号、物品类型名称等基本信息,建立一张产品信息表对物品类型进行管理。
产品信息实体E-R图如图3-2所示。
图3-2产品信息实体E-R图
为了存储具体物品的具体名称、数量、供应商、物品编号等基本信息,建立一张物品详细星系进行管理。
物品信息表实体E-R图如图3-3所示。
图3-3新闻信息实体E-R图
为了存储物品的出入库的时间和数量等基本信息,建立一张物品数量表进行管理。
物品记录信息表实体E-R图如图3-4所示。
图3-4订单信息实体E-R图
3.2数据库逻辑设计
逻辑结构设计的任务是把概念结构设计阶段设计好的E-R图转换成与选用的DBMS产品所支持的数据模型相符合的逻辑结构。
根据数据库的逻辑设计,数据库中一共设计了5个表格用来存储数据信息。
3.2.1表汇总
3.2.1汇总表
功能说明
用户表-user_info
用户的信息
管理员表-user
管理员的信息
物品类别表-goods_cate
物品的管理
物品信息表-goods_info
物品信息表
物品记录表-rec
物品的出入
用户信息表用来存储用户的信息,主要包括的字段有:
用户编号、用户名、用户密码、用户真实姓名、用户电话、用户地址。
表格的结构如表3.2.2所示。
3.2.2用户表-User_info
表3.2.2用户表-User_info
表名
用户表-user_info
列名
数据类型
非空
约束条件
主键
外键
User_Id
Int(自增列)
Y
Y
user_name(姓名)
varchar(50)
Pass(密码)
Varchar
(2)
Y
Sex
Varchar
Tel
Varchar
Address
Varchar
管理员表用来存储用户的信息,主要包括的字段有:
管理员姓名、管理员密码、用。
表格的结构如3.2.3所示。
3.2.3管理员表-User
3.2.3管理员表-user
表名
管理员表-user
列名
数据类型
非空
约束条件
主键
外键
id
Int(自增列)
Y
Name(姓名)
Varchar(8)
Y
Pass(密码)
Varchar(20)
Y
为了存储系统物品类型里面的物品ID、物品类型名称、物品编号、用户编号、物品类型名称等基本信息,建立一张产品信息表对物品类型进行管理。
产品信息实体E-R图如图3.2.4所示。
3.2.4物品类别表-Goods_Cate
3.2.4物品类别表Goods_Cate
表名
物品类别表-goods_cate
列名
数据类型
非空
约束条件
主键
外键
goods_id
Int(自增列)
Y
Y
goods_cat
Varchar(6)
goods_number
Varchar(10)
Y
user_id
Int
Y
为了存储具体物品的具体名称、数量、供应商、物品编号等基本信息,建立一张物品详细星系进行管理。
物品信息表实体E-R图如图3.2.5所示。
3.2.5物品详细信息表-Goods_Info
3.2.5物品详细信息表-Goods_Info
表名
物品信息表-goods_info
列名
数据类型
非空
约束条件
主键
外键
goods_info_id
Int(自增列)
Y
Y
goods_info_name
Varchar(50)
now_num
Varchar(100)
Y
goods_id
int
user_id
int
Y
为了存储物品的出入库的时间和数量等基本信息,建立一张物品数量表进行管理。
物品记录信息表实体E-R图如图3.2.6所示。
3.2.6物品记录表-Rec
3.2.6物品记录表-Rec
表名
物品记录表-rec
列名
数据类型
非空
约束条件
主键
外键
rec_id
Int(4)(自增列)
Y
Y
goods_info_id
Int
Y
input_time
Varchar(100)
input_num
Varchar(100)
out_time
Varchar(100)
out_num
Int
user_id
int
3.3表与表之间的关系
3.3表与表之间的关系图
第四章系统的具体实现
4.1登录和注册的实现
用户的登录和注册都是用了统一样式的页面,登录过程是必须,登录页面如图4-1所示,再登陆页面我们可以看见登录框密码姓名等等。
登录页面采用了JQuery可拖动的登录框。
注册使用了注册的注册框,同时也是可拖动的。
注册页面如图4-2。
在注册页面我们能看见用户注册的时候需要的信息!
图4-1产品展示界面
当登录成功会进入主页,错误会进入错误页面错误页面如图4-1-1
图4-1-1错误页面
实现登录判断的servlet核心代码如下核心代码如下:
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
HttpSessionsession=request.getSession();
Stringname=request.getParameter("name");
Stringusername=newString(name.getBytes(