李涵,顏楷城
(北京信息科技大學 理學院,北京100192)
基于SSH框架的超市商品管理軟件
李涵,顏楷城
(北京信息科技大學 理學院,北京100192)
課題依賴SSH(Struts2+Spring+Hibernate)框架,設計實現了一個超市商品管理系統,提高超市的日常管理效率。Struts進行流程控制,Spring進行業務流轉,Hibernate進行數據庫操作的封裝。軟件系統分為基礎管理、商品管理、訂單管理三大模塊,基礎管理實現對人員、部門、角色、資源的增刪改查操作;商品管理實現對商品信息、供應商信息的增刪改查。訂單管理基于商品管理和基礎管理,實現訂單采購的下單、審核流程,且可查看訂單詳情、可對歷史訂單進行管理。
MySQL;SSH;B-S模式;MVC模式;超市管理系統
計算機的出現給人類的生活帶來了極大的便利,一家超市在其日常運營中會有多種工作需求,如:庫管員能實時地獲知各類商品的庫存信息、采購員發現庫存量不足時能發出采購單、主管能審核采購員發的采購單是否合理以決定是否同意此單采購、管理員能維護著各類商品的相關信息 (進貨日期、生產廠家、進貨價等)、主管能維護供應商的聯系信息,等等。本課題使用Java語言開發設計一個“超市商品管理軟件”,該管理系統基于B-S模式,分為基礎管理、商品管理、訂單采購3大模塊。基礎管理實現對人員、部門、角色、資源的增、刪、改、查操作;商品管理實現對商品信息、供應商信息的增刪改查。訂單管理基于商品管理和基礎管理,實現訂單采購的下單、審核流程,且可查看訂單詳情、可對歷史訂單進行管理。
本系統的設計思路為:基于各大實體類的增、刪、改、查操作的高度相似,抽取各大實體的共性,形成通用類(接口),各個子模塊的類均繼承相應通用類(接口)[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。
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]。
用戶登陸流程如圖2所示。用戶在登陸界面輸入用戶名、密碼,點擊登陸按鈕后,表單頁將用戶名、密碼提交到后臺,對密碼做MD5加密后,從員工表內查詢與用戶名、密碼精確匹配的員工。查詢時調用HQL版通用單表查詢方法[8-9],要按精確查詢格式構造傳入參數,獲取查詢結果,如果查詢結果非空則將List集合的第一個元素返回(由于用戶名加了唯一值約束,不可能存在重名用戶,所以如果查詢結果非空,則List集合內有且只有一個元素),否則返回null。

圖2 用戶登陸流程圖
權限校驗流程如圖3所示。自定義監聽器用于加載系統全資源,在web.xm l配置文件中配置上本監聽器,以便服務器一啟動時就加載系統的全資源[10]。系統全資源是指,本項目被納入權限控制的全部資源的集合,是指T_Res資源表中全部記錄的url。

圖3 權限校驗流程圖
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種,分別為下單時間、下單人、訂單總額。
訂單審核是對未審核的訂單做審批,可予以“通過”或是“駁回”。點擊通過或駁回按鈕后,都后臺提交更新訂單狀態的請求,更新訂單狀態成功后,前臺返回訂單列表展示頁。
本課題設計實現一個超市商品管理系統,課題的開發依賴于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—),女,山東淄博人,工學碩士,副教授。研究方向:網絡安全,移動通信,大數據應用等。