康英健 楊洪雪 馬蕾
摘要:Struts2是目前非常流行的基于MVC的Web應用框架,它遵循J2EE規范。本文使用Struts2框架設計產品序列號管理系統。首先介紹Struts2的技術特點和工作機制。然后對產品序列號管理系統分析設計,列出系統主要的功能,對系統實現過程中的關鍵技術進行說明。最后對Struts框架在Web應用中的作用做出總結。
關鍵詞:MVC Struts2 產品序列號 web應用
【中圖分類號】TP311.52
1. 引言
“S/N”碼是serial number的縮寫,也叫產品序列號。產品的序列號是指用一個唯一的代碼,來定義和區分每一個產品。這個序列號可以根據預定義的編碼規則自動生成,也可以手工來編制。其代表著產品合法身份。序列號如同人的身份證,人手一個,記錄產品的相關信息,主要被用來管理單品,即一物一碼的管理。
產品在入庫時批量生成序列號,出庫時批量指定序列號。產品序列號在生產廠家主要作用于產品生產進程的控制,生產質量管理,產品銷售的追蹤,產品售后服務多個方向,還可以有效的降低竄貨的發生;在商家主要是根據“S/N”碼來進行保修確認、保質期管理、召回管理、防竄貨管理、防偽管理等應用。通過序列號管理實現序列號在生產、銷售及庫存業務中的完整流轉,還可以加強單品在采購、庫存、制造、銷售等各個業務環節的追溯。目前是互聯網時代,各種軟件的需求越來越大。實現產品序列號管理軟件在企業中有著廣泛的應用空間。本文進行了基于Struts2框架的產品序列號分配系統的研究。
2. Struts2框架簡介
Struts是Apache軟件基金會贊助的一個開源項目,是在MVC模式基礎上構建Web應用程序的一種開發源碼框架。
MVC是所有面向對象程序設計語言都要遵守的規范。MVC將一個應用分為3個基礎組成部分,模型、視圖和控制器。這三個部分以最少的耦合協同工作,從而提高應用的可擴展性和可維護性。視圖為JSP頁面,它主要負責顯示工作,控制器由Servlet來充當,它主要負責數據的收集、業務邏輯的處理及信息的轉發,模型由JavaBean來充當。
Struts框架采用Java Servlet、JSP技術,實現了基于Java EE Web應用的MVC設計模式的應用框架。Struts1以ActionServlet為核心控制器,完成對用戶請求的接收工作。Struts2不是struts1的升級版,它是在WebWork基礎上衍生出來的,以WebWork優秀的設計思想為核心,吸收了Struts1框架的部分優點,提供了一個更加整潔的MVC設計模式實現的Web應用程序框架。Struts2引入了幾個新的框架特性:從邏輯中分離出橫切關注點的攔截器、減少或者消除配置文件、貫穿整個框架的強大表達式語言、支持可變更和可重用的基于MVC模式的標簽API。 Struts2充分利用了從其它MVC框架學到的經驗和教訓,使得 Struts2框架更加清晰靈活。
3. 系統總體結構設計
該系統在windows環境下,采用J2EE+Jsp+Struts2框架設計,數據庫采用SQLServer,數據庫連接采用JDBC方式。系統的總體結構圖如下圖所示。
4. 系統實現的關鍵技術
Struts2框架的配置文件
Struts2框架開發和運行過程中需要使用一些配置文件,例如經常用到的struts.xml配置文件,這個配置文件的主要功能是建立頁面與實現類之間的關系,實現業務控制流程。
Struts2框架的標簽庫
Struts2框架中提供了控制流程和輸入數據等操作的標簽庫,在程序編寫過程中,使用Struts2標簽庫可以減少代碼的編寫量。如在調用表單時使用struts2標簽庫只需要輸入就可以了。
Struts2框架的輸入校驗
在web應用過程中,用戶輸入的數據是復雜多樣的。在實際工程開發中,要求對頁面輸入數據進行校驗,只有符合規定和格式的數據才能進入系統中。Struts2框架提供了一套非常強大的輸入校驗體系,可以完成絕大部分輸入校驗,同時還可以完成客戶端校驗和服務器端校驗。它提供了多種校驗器,包括:Required必填校驗器、Requiredstring必填字符串校驗器、Stringlength字符串長度校驗器等。通過strtus 2校驗器,程序員只需要通過簡單的調用操作就可以完成用戶注冊和用戶登錄等功能的設計。
Struts2框架的攔截器
Struts2采用攔截器處理用戶的請求,允許用戶的業務邏輯控制器與Servlet API分離,從而彌補了Struts1的不足和缺陷。Interceptor攔截器是Struts2的核心技術之一,它可以動態攔截Action調用,在Action執行前后執行攔截器本身提供的各種web項目需求。使用攔截器可以把通用的模塊從Action中提取出來,供其他Action項目復用。攔截器可以實現權限控制,跟蹤日志,跟蹤系統的性能瓶頸。Struts2核心功能是在攔截器中實現,將這些公共處理從實際業務處理代碼中剝離出來,減少開發工作量和便于程序維護,有利于系統的調用。
在struts 2中允許將多個攔截器組合在一起成為一個攔截器棧,在調用攔截器棧時會按其定義的順序進行調用攔截器,可以攔截Action中相應的方法和字段。自定義攔截器需要3步,一是定義一個實現Interceptor接口的類,實現攔截器邏輯,二是在struts.xml中配置攔截器,三是在Action中引用攔截器。
5. 結束語
Struts2框架作為一種MVC的實現方式,具有將表現層和后臺業務處理分離的特點。十分適合大型Web應用的開發和維護,并且易于擴展。大大降低了系統開發和維護的成本,提高了系統模塊的可復用性,在開發中起到了重要的作用。
參考文獻:
[1] 蔣晨琛 來學偉 基于Struts架構的在線投票系統的設計與實現 三門峽職業技術學院學報 2014年12月第12卷第4期
[2] 章鄴 基于Struts2框架的圖書館內部管理系統的研究 長春大學學報 2011年12月第21卷第12期