基于SSH框架的超市商品管理软件

2016-11-09 11:03李涵颜楷城
电子设计工程 2016年20期
关键词:配置文件下单列表

李涵,颜楷城

(北京信息科技大学 理学院,北京100192)

基于SSH框架的超市商品管理软件

李涵,颜楷城

(北京信息科技大学 理学院,北京100192)

课题依赖SSH(Struts2+Spring+Hibernate)框架,设计实现了一个超市商品管理系统,提高超市的日常管理效率。Struts进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装。软件系统分为基础管理、商品管理、订单管理三大模块,基础管理实现对人员、部门、角色、资源的增删改查操作;商品管理实现对商品信息、供应商信息的增删改查。订单管理基于商品管理和基础管理,实现订单采购的下单、审核流程,且可查看订单详情、可对历史订单进行管理。

MySQL;SSH;B-S模式;MVC模式;超市管理系统

计算机的出现给人类的生活带来了极大的便利,一家超市在其日常运营中会有多种工作需求,如:库管员能实时地获知各类商品的库存信息、采购员发现库存量不足时能发出采购单、主管能审核采购员发的采购单是否合理以决定是否同意此单采购、管理员能维护着各类商品的相关信息 (进货日期、生产厂家、进货价等)、主管能维护供应商的联系信息,等等。本课题使用Java语言开发设计一个“超市商品管理软件”,该管理系统基于B-S模式,分为基础管理、商品管理、订单采购3大模块。基础管理实现对人员、部门、角色、资源的增、删、改、查操作;商品管理实现对商品信息、供应商信息的增删改查。订单管理基于商品管理和基础管理,实现订单采购的下单、审核流程,且可查看订单详情、可对历史订单进行管理。

1 设计思路

本系统的设计思路为:基于各大实体类的增、删、改、查操作的高度相似,抽取各大实体的共性,形成通用类(接口),各个子模块的类均继承相应通用类(接口)[1]。绝大部分的增、删、改、查代码在通用类内实现,而少部分的特有代码则在本实体的相应类文件(Service实现类、Dao实现类)内补充。系统的全局设计图如图1所示。

图1 系统全局设计图

本系统所依赖的数据库包含十一张表,其中八张表与系统内八个实体子模块一一对应,有两张表为实体类多对多关联时所依赖的中间表,最后一张表是字典表。八张实体表分别为资源表T_Res、角色表T_Rol、部门表T_Dep、员工表T_Emp、供应商表 T_Supplier、商品表T_Goods、订单商品表T_OrderGoods、订单表T_Order。两张中间表分别为角色-资源_中间表T_M_Rol_Res、员工-角色_中间表T_M_Emp_Rol,字典表为T_Dict。

2 SSH 3大框架整合开发

SSH整合开发有3种整合模式,一种是xm l配置开发,一种是注解开发,还有一种是xm l混合注解开发[2-3]。xm l配置开发的好处在于结构清晰,缺点在于配置冗余麻烦,注解开发好处在于快捷,缺点在于结构逻辑不清晰[4],对全项目的把控不好。本课题采用xml配置开发。

Struts2有一个配置文件,即Struts.xm l。而Hibernate有两种配置文件,全局的hibernate.cfg.xm l,及各实体类映射配置文件xxx.hbm.xm l[5]。Spring有一个全局的配置文件 applicationConfiguration.xml,以及配置各类注入关系的application-Configuration_***.xm l[6]。由Spring的配置文件整合进Struts2和Hibernate的配置文件[7]。

3 主要流程介绍

用户登陆流程如图2所示。用户在登陆界面输入用户名、密码,点击登陆按钮后,表单页将用户名、密码提交到后台,对密码做MD5加密后,从员工表内查询与用户名、密码精确匹配的员工。查询时调用HQL版通用单表查询方法[8-9],要按精确查询格式构造传入参数,获取查询结果,如果查询结果非空则将List集合的第一个元素返回(由于用户名加了唯一值约束,不可能存在重名用户,所以如果查询结果非空,则List集合内有且只有一个元素),否则返回null。

图2 用户登陆流程图

权限校验流程如图3所示。自定义监听器用于加载系统全资源,在web.xm l配置文件中配置上本监听器,以便服务器一启动时就加载系统的全资源[10]。系统全资源是指,本项目被纳入权限控制的全部资源的集合,是指T_Res资源表中全部记录的url。

图3 权限校验流程图

4 系统测试

4.1 角色管理子模块

点击“角色管理”菜单,列表展示本系统全部角色,以做增、删、改、查操作,如图4所示。

图4 列表展示

点击“新建”按钮,进入添加角色的编辑页。本编辑页共有3个功能按钮,分别为保存、重置、取消。点击“重置”则清空当前旧值,点击取消则返回列表展示页。如图5所示。

图5 添加角色

4.2 部门管理子模块

由于部门表内包含超过10条的记录,而分页组件设置为10条/页,所以出现分页按钮,可进行跳页操作。部门查询有两个查询条件,一是部门名,二是电话,二者都是进行模糊查询。可以指定单个条件,也可两个条件都指定。

4.3 员工管理子模块

可以实现员工管理的增删改功能,如图6所示。

4.4 登陆功能模块

登陆页对表单项做多种校验,依顺序分别为:用户名非空校验、密码非空校验、验证码非空校验、验证码正确性校验。只有四种校验全部通过才向后台提交登陆请求,查询是否存在本帐户。若用户名和密码输入正确,则成功登陆商品管理系统。

图6 列表展示

4.5 采购下单模块

点击“采购下单”菜单项,进入采购订列表管理页。对订单的管理有新建、查询、查看详情。采购订单查询条件有3类5种,分别为:

1)精确查询类:订单状态、供应商

2)模糊查询类:下单人

3)范围查询类:下单时间、订单总额

提交订单成功,返回订单列表页后,此时列表页内将会添加一份新订单,新建的订单显示为未审核状态。

5.6 订单审核模块

点击“订单审核”菜单项,进入订单审核列表展示页。待审核订单的列表管理功能有查询、查看订单详情、审核3种。已被审核过的订单只用文字域显示订单的审核结果,而未被审核的订单则提供超链接入口,供用户跳入订单审核页做审核。如图7所示。

图7 待审核订单列表展示页

待审核订单的查询条件有3种,分别为下单时间、下单人、订单总额。

订单审核是对未审核的订单做审批,可予以“通过”或是“驳回”。点击通过或驳回按钮后,都后台提交更新订单状态的请求,更新订单状态成功后,前台返回订单列表展示页。

5 结 论

本课题设计实现一个超市商品管理系统,课题的开发依赖于SSH(Struts2+Spring+Hibernate)框架整合开发,基于B-S模式,分为基础管理、商品管理、订单采购3大模块。基础管理实现对人员、部门、角色、资源的增删改查操作;商品管理实现对商品信息、供应商信息的增删改查。订单管理基于商品管理和基础管理,实现订单采购的下单、审核流程,且可查看订单详情、可对历史订单进行管理。

[1]龙马工作室.精通HTML+CSS:100%网页设计与布局密码[M].北京:人民邮电出版社,2014.

[2]季国飞.jQuery开发技术详解[M].北京:电子工业出版社,2010.

[3]LaCrone.B.HTML5 and CSS3 Responsive Web Design Cookbook[M].北京:机械工业出版社,2014.

[4]Flanagan.D.JavaScript:The Definitive Guide[M].北京:机械工业出版社,2007.

[5]孙卫琴.精通Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社,2005.

[6]Oppel.A.,Sheldon.R.SQL:A Beginner's Guide.Third Edition[M].北京:清华大学出版社,2009.

[7]李刚.轻量级J2EE企业应用实战:Struts+Spring+Hibernate整合开发[M].北京:电子工业出版社,2007.

[8]DuBois.P.MySQL:The definitive guide to using,programming,and administering MySQL4.Second Edition[M].北京:机械工业出版社,2004.

[9]梁栋.Java加密与解密的艺术[M].北京:机械工业出版社,2010.

[10]孔德生.Java组件设计[M].北京:电子工业出版社,2009.

A supermarketmanagement software based on SSH framework

LIHan,YAN Kai-cheng
(School of Applied Science,Beijing Information Science&Technology University,Beijing 100192,China)

This project is to implementa supermarket commoditymanagementsystem which can improve the efficiency of the supermarketmanagement.The projectdepend on SSH (Struts2+Spring+Hibernate)framework.The system is divided into three parts:foundationalmanagement,commoditymanagement,ordermanagement.The foundationalmanagement realizes the CRUD (Create+Retrieve+Update+Delete)for employee,department,role and resource.Commodity management can implement the CRUD operation for goods information and supplier information.Order management processes the whole procedure includesplacean order,verify order,check the detailof theorderandmanage thehistoric order.

MySQL;SSH;B-SMode;MVCMode;supermarketmanage system

TN915.09

A

1674-6236(2016)20-0024-03

2015-10-26 稿件编号:201510181

北京市教委科研计划面上项目(KM201511232019)

李 涵(1978—),女,山东淄博人,工学硕士,副教授。研究方向:网络安全,移动通信,大数据应用等。

猜你喜欢
配置文件下单列表
学习运用列表法
扩列吧
互不干涉混用Chromium Edge
基于Zookeeper的配置管理中心设计与实现
忘记ESXi主机root密码怎么办
欧洲最大罐车企业FFB:如果你现在下单2020年才能提车
为View桌面准备父虚拟机
关于“赠品”的故事
打车
列表画树状图各有所长