周嘉雯, 胡玉欣, 周文華, 張之江
(上海大學 通信與信息工程學院, 上海 200072)
基于SSM框架的活動審批Web系統的設計與實現
周嘉雯, 胡玉欣, 周文華, 張之江
(上海大學 通信與信息工程學院, 上海 200072)
為了解決傳統活動審批流程的地域以及時間的局限性,降低活動審批的復雜度,提高管理效率,提出了集活動創建、審核、發布于一體的Web系統設計。通過對現今主流框架Spring﹑SpringMVC﹑Mybatis﹑Hibernate的比較研究,使用SSM框架,將表示層、控制層﹑業務邏輯層和數據持久層分離,以實現代碼復用和敏捷式開發,提高系統的靈活性、可靠性﹑復用性和可維護性,并針對性地實現權限和活動配置,以及安全性處理。
SSM; 活動審批系統; Web; SpringMVC
活動審批發布是企業及活動社團促進新成員加入和回饋老成員的一個重要環節,隨著互聯網+的快速的發展,企業創新步伐加快、社團數目不斷增多,為保持提高用戶數量以及競爭力,以活動促進發展是必需環節。但以往活動審批相關制度手續繁雜、時間冗長且無法保障以至不滿足企業對信息快速反應的需求,與信息社會的發展極不適應,本課題以B/S架構為背景,對當前主流技術和開發框架進行了研究和探討,相較于以前使用的SSH框架,設計研發了基于SSM框架技術的活動審批Web系統,實現了權限控制,活動配置,審批過程處理以及安全性保障。
1.1 系統主要模塊介紹
活動審批Web系統主要包括活動的登錄,創建、審核、發布、以及用戶管理五大模塊,其結構,如圖1所示。

圖1 系統主要模塊
登錄模塊:用戶登錄時采用基于角色的身份認證技術,根據角色分配不同的使用權限,角色用戶包括普通用戶、組長、經理、管理員等,不同角色分配不同權限,且在登錄時進行Session攔截,使未登錄用戶必須登錄才可進入活動審批系統。
創建模塊:根據獎勵方式不同,目前把創建類型分為3種:按比例等級抽獎、按范圍隨機抽獎、按固定額度隨機抽獎,每個類型可有有多個活動,設置對應的地區、活動時間、活動標題、背景圖片等,并對針對于每個類型的活動,設置對應的規則。
審核模塊:只顯示未審核且未發布的活動,并對其進行分權限審核,只有組長審核通過后才能經理審核,并對審核結果進行記錄,通過后,在審核列表中不再顯示,并每次審核都會檢查該活動的狀態是否一致。
發布模塊:只顯示已審核通過的活動,用戶具有發布權限時才可以發布或者駁回活動。
用戶管理:此模塊包括角色維護和用戶維護兩部分。均通過列表形式展示給管理員。通過角色維護列表,可以創建角色,為每個角色分配不同的菜單管理權限,通過角色管理還可以查看、修改角色的權限。通過用戶維護列表,可以查看、修改現有管理員用戶信息,及創建相應角色的管理后臺登錄用戶。
1.2 數據庫的設計
設計本系統數據庫中各表關系,如圖2所示。


圖2 數據庫表設計
圖2中前4張表分別為:USER_INFO(用戶信息表);ROLE_INFO(角色信息表);PERMISSION_INFO(權限信息表);USER_VISIT_INFO(登陸日志表)。圖中1:1和1:N表示數據庫表之間的1對1和1對多關系。通過這4張表實現了登錄與權限的分配與控制。
圖2中后4張表中,ACTIVITY_BASIC_INFO存儲各種活動共有的一些基礎信息,另外三張表是根據創建活動的類型設計的不同的規則表。
2.1 框架的研究和比較
隨著Web應用的規模不斷變大﹑復雜度不斷升級﹑需求變化不斷更新,對軟件的復用性﹑可靠性﹑以及可擴展性提出了較高的要求。本課題采用MVC這建議軟件架構模式,并成功實現了部分程序復用,簡化了后續對程序的修改和擴展。基于MVC架構模式,本系統采用了SSM框架,即SpringMVC+Spring+Mybatis的框架組合,采用此框架技術可以提高開發效率,滿足敏捷式開發的需求。
2.1.1 Spring3.0與SpringMVC技術研究
Spring3.0[1-2]其核心可分為IOC容器和AOP兩個模塊。IOC即依賴反轉,是利用Java的反射機制在運行時動態創建和調用對象,即spring可根據xml配置文件來動態創建對象并調用其方法,并且在Spring發展到3.0后,只需在調用的文件中使用@Autowired 來聲明所調用的對象即可,使開發更加簡潔方便。AOP即面向切面編程,主要是利用代理的設計模式,Spring通過對AOP的支持,大量減少開發的工作量提高了開發的效率,也增強了程序的可靠性。本系統中Spring的AOP主要用于對事務的管理。
Spring MVC是一種基于Java的實現了Web MVC設計模式的請求驅動類型的輕量級Web框架,即Spring框架提供了構造Web應用程序的全能MVC模塊,可實現100%零配置,并且分離了控制器、模型對象、分派器以及處理程序對象的角色,這種分離讓它們更容易進行制定。其核心架構,如圖3所示。
2.1.2 Hibernate與Mybatis技術研究
Hibernate與MyBatis都是數據持久層(ORM)框架,ORM機制實現了Java開發環境中對象與關系型數據庫之間的映射,使得SQL語句對開發人員來說也是純粹的Java對象。相對Hibernate“O/R”而言,Mybatis 是一種“Sql Mapping”的ORM實現。雖然都是對象/關系型數據庫的映射工具,但對它們進行研究對比,主要有以下不同[3]:
(1) Mybatis是半自動持久層框架,需要開發人員對SQL腳本有一定編寫基礎,需自己編寫對象與數據庫之間的映射關系。Hibernate是全自動持久層框架,在開發過程中完全不用編寫SQL代碼;
(2) Hibernate的查詢會將表中的所有字段查詢出來,這一點會有性能消耗,而Mybatis的SQL是手動編寫的,所以可以按需求指定查詢的字段,對于要求較高的系統或者比較復雜的SQL腳本,開發人員可以通過MyBatis對SQL語句自由進行優化,從而提高數據的讀寫性能,加快系統的響應速度。
(3) 分別構建SSM(Mybatis)和SSH(Hibernate)框架,進行執行效率測試,如表1所示。

表1 MyBatis與Hibernate執行效率測試數據
表1中執行時間為平均每條數據的執行時間,insert測試數據為1000條,select,delete, update每次測試均為隨機選擇、刪除、更新一條數據,執行次數為100次。
根據以上研究及測試,本系統選用SSM框架而不是選用以前常用的SSH框架,即使用Spring, Spring MVC和MyBatis框架組合,滿足活動需求不斷變化的要求和高效的管理。

圖3 Spring MVC核心架構
2.2 SSM框架整合
SSM框架是由Spring, Spring MVC和MyBatis 3個框架集成的。SSM框架自上而下被分為表現層(Jsp頁面)、控制層(SpringMVC控制)、業務邏輯層(Spring IOC/AOP實現)和數據持久層(Mybatis框架)4層,如圖4[4]所示。

圖4 SSM框架整合
SSM框架實現了J2EE層結構設計的技術要求,使每一層的功能和職責定義非常清晰,通過接口在各層之間實現通信,大大提高系統的開發效率,增強系統的穩定性,提高系統的可維護性和可拓展性。
3.1 框架的組合實現
通過Spring-mvc.xml,Spring-mybatis.xml以及Web.xml這3個配置文件搭建活動審批系統。
Spring-mvc.xml文件是springmvc的一些相關配置配置 ,其中
Spring-mybatis.xml文件通過
Web.xml文件中通過context-param配置了spring的上下文位置,并通過listener配置通知容器加載spring配置文件,同時需配置一個前端控制器Spring MVC核心控制器(Spring MVC 核心控制器)。
3.2 功能的實現
3.2.1 管理員及權限模塊
系統建立初期,只有超級管理員一個角色和用戶,超級管理員可以創建其他角色,并為角色分配不同的權限,例如:創建組長﹑經理﹑組員等角色,賦予他們創建﹑審核﹑發布權限。也可創建活動審批系統的后臺管理員用戶,可進行對角色的維護和對活動的查看。而普通登錄注冊用戶只賦予查看已發布活動的權限,這樣不同角色的管理員擁有不同的權限,在很大程度上保證了Web系統的安全性。
3.2.2 活動審批模塊
該模塊是系統最核心的模塊,其核心是活動審批流程處理。實現時采用基于JQuery的JQuery EasyUI插件集合體實現前端Web頁面,設置創建﹑審核,發布3個菜單,滿足系統的需求。創建菜單,如圖5所示。

圖5 創建活動模塊
點擊創建后,交給Web.xml文件中配置好的前端控制器處理,并加載SpringMVC配置(Spring-mvc.xml),再通過Spring-mvc.xml文件配置好的映射器實現Interceptor攔截器和適配器根據接口對后端控制器進行包裝(適配),包裝后即可對處理器進行執行,最后連接Mybatis框架實現對數據的處理。審核和發布過程與之類似,很好地滿足了高效,敏捷式開發的需求。
文章結合活動審批系統的特點以及企業社團對其快速開發的要求,經過一系列的測試研究,提出采用Spring﹑SpringMVC﹑MyBatis三者整合框架SSM的設計思想,設計并實現了活動審批Web系統。經過單元測試和系統測試,證明了系統的可靠性和穩定性,系統實現了預期的功能,可以輕松地通過手機電腦隨時隨地進行活動審批相關工作。并且根據開發過程與結果SSM實現了業務邏輯層﹑數據持久層與表示層的分離,大大降低了系統開發的耦合度,有利于提高開發效率與質量,有利于提高系統開發后的可擴展性和可維護性[5-6]。
[1] Walls C, Breidenbach R. Spring in Action[J]. (中文版), 2007(5).
[2] Chen X Q, Wen-Hui D I, Sun D. Application of Java Web based on SSH and AJAX[J]. Computer Engineering & Design, 2009, 30(10):2590-2589.
[3] 王艷清, 陳紅. 基于SSM框架的智能web系統研發設計[J]. 計算機工程與設計, 2012, 33(12):4751-4757.
[4] 張錦煌, 吳麗娟, 梁舒婷. 基于SSM整合框架開發的項目管理系統[J]. 電腦知識與技術, 2015(11):103-105.
[5] 盛艷, 朱革嬌, 張建軍,等. 基于ExtJS輕量級框架的教學資源庫設計與實現[J]. 計算機技術與發展, 2015(4):185-187.
[6] 陳夫真. 基于SSM的某高校教室管理信息系統的設計與實現[D]. 蘇州:蘇州大學, 2012.
Design and Implementation of Web System for Activity Approval Based on SSM Framework
Zhou Jiawen, Hu Yuxin, Zhou Wenhua, Zhang Zhijiang
(College of Communication and Information Engineering Shanghai University, Shanghai 200072, China)
In order to eliminate the limitations of approval process of traditional activities in region and time, and reduce the complexity of the activity approval, improve the efficiency of management, a design of the Web system integrated creation, auditing and release is proposed. SSM framework is used in the design after the research and comparison of the mainstream framework including Spring, SpringMVC, Mybatis and Hibernate. The system departs the presentation layer, control layer, business logic layer and data persistence layer to realize the reuse and agile development, and improve the reliability, flexibility, reusability and maintainability to achieve the aim of the configuration of permissions and activity, as well as the security processing.
SSM; System for activity approval; Web; SpringMVC
周嘉雯(1993-),男,皖,碩士研究生,研究方向:計算機的開發與應用。 胡玉欣(1975-),女,聯合創始人,首席運營官,愛豆科技(上海)有限公司,歷任資深保險行業信息總監,具有豐富的保險信息管理系統架構規劃、系統設計、運營管理經驗。 周文華(1993-),男,碩士研究生,研究方向:計算機的開發與應用。 張之江(1968-),男,教授,博士生導師,中國計量測試學會計量儀器專業委員會理事,研究方向:計算機視覺,數字全息,負折射成像理論,機器視覺應用技術。
1007-757X(2017)06-0050-03
TP311
A
2017.02.25)