于明輝 石宇靜 宋垚 苗金龍 張金煒 王英林
摘要:為了解決大學校園文化傳播的速度較慢、發布的不統一、發布較為分散等不足之處,于是想到了開發一個基于Struts2框架的大學校園文化管理系統,本系統采用MVC設計模式,通過對校園文化的收集、整理、編輯和發布,完善了上述的幾個不足之處,使得學生和老師能在第一時間掌握校園動態。從實際開發及應用的角度來說,基于Struts2框架的Web開發,有效的提高了開發效率,在降低了各個部分之間耦合度的同時,實現了多人同時開發系統的不同功能,與此同時,也保證了系統的后期的維護和新功能的開發。
關鍵詞:Struts2 WebWork 校園文化 MVC
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9416(2016)08-0166-01
隨著校園文化的日益豐富多彩,網絡媒體的快速發展,傳統的校園文化傳播方式,如:板報、傳單、地毯式宣傳等已經江河日下,日薄西山,無法滿足文化傳播的需求。因此,如何將日益豐富多彩的校園文化與“互聯網+”思維融合到一起,利用網絡優異的傳播速度將大學的校園文化及時傳播出去成為了一個急需解決的問題。
與此同時,這也是一個非常好的契機,在網絡高速發展的今天,互聯網已經在各個領域深入人心了,大學更應該走在時代的前沿。校園文化的傳播就顯得極為重要了,不僅能讓理工的學生充分利用課余時間沐浴在豐富多彩的校園文化之中,放松心情,增長見識;同時也能讓更多的社會人士以及其他院校的同學更加深入的認識理工,了解理工,增加理工在社會上的認可度與知名度!
傳統的Web開發模式中,是JSP+Servlet模式的,這種開發模式將數據訪問、業務處理、前端界面顯示全部放在了一起,這種開發模式,在早期業務相對簡單的時候用起來簡單明快。然而業務不可能一成不變,這時候Service越來越多,JSP等代碼的可維護性越來越差。目前幾乎已經被淘汰了。取而代之的是各種以MVC為設計模式的框架,如WebWork,Struts1,Struts2,Spring。這些框架都為Web應用層定義了一個層次清晰、分工明確的編程模型。在這些框架之中,由于Struts2強大的標簽庫、豐富的攔截器以及開放的源代碼等到了非常廣泛的應用,成為了最為成功的Web框架之一。
模型--視圖--控制器(MVC,Model--View--Controller)在目前的軟件開發過程中應用的非常廣泛,是一種非常經典的軟件設計模式。用一種業務邏輯、數據、界面顯示相互分離的方式來組織代碼,極大地降低了三者之間的耦合度,例如,當你想要修改界面顯示的時候,你不需要重新編寫業務邏輯。有效的提高的代碼的可維護性,降低了軟件設計的難度同時也簡化了分組開發。不同的開發人員可以同時開發視圖,控制邏輯和業務邏輯。
在這里簡單說明一下Model--View--Controller三個部分分別負責完成哪些功能:
(1)模型(Model)是應用程序中用于處理應用程序數據邏輯的部分。通常模型對象負責在數據庫中存取數據。(2)視圖(View)是應用程序中處理數據顯示的部分。通常視圖是依據模型數據創建的。(3)控制器(Controller)是應用程序中處理用戶交互的部分。通常控制器負責從視圖讀取數據,控制用戶輸入,并向模型發送數據。
系統分為以下幾個模塊,如圖1所示。
本系統的開發環境為在該系統中,最重要的模塊之一就是二手市場模塊了。每當大四的學生畢業離校時,會有大量的舊貨出售,然而這些消息并不能及時的讓每一位同學或老師看到。這就是這個模塊的最原始的動力所在。在這個模塊中,只有登錄之后的用戶才能發布二手物品出售的消息,沒有登錄的用戶只能瀏覽;用戶進入發布信息的頁面之后,不僅能夠發布文字描述性的消息,還能發布圖片,能夠提供給瀏覽者更加直觀的信息。這些信息通過FORM表單提交,FilterDispatcher攔截這個請求之后,會將該請求發送到框架里進行進一步的處理,框架在收到這個請求之后,會依據struts.xml文件中所配置的action標簽的name屬性決定使用哪個action標簽,之后再根據action標簽的class屬性來確定使用哪個action類來處理該請求,并確定使用該action中的哪個方法。默認是execute方法。在execute方法內對FROM表單中的數據進行解析,存儲到數據庫中。考慮到數據庫性能,并沒有將圖片以二進制的形式存儲到數據庫中,而是將圖片存儲到了服務器上的一個固定的文件內,在數據庫中則存放該文件在服務器中的地址。因為所有用戶上傳的圖片都在一個文件夾里,所有可能出現上傳圖片重名的情況,因此在將圖片上傳到服務器的時候用UUID.randomUUID()和時間戳對文件進行重命名,保證了文件夾里不可能出現重命的情況。成功處理完這些之后,execute會返回出一個字符串,每個字符串對應一個相應的視圖,當業務控制器處理完用戶請求之后,根據處理的結果返回不同的字符串,用來對應顯示不同的視圖在前端頁面,成功的返回到前臺頁面之后,先根據二手信息發布的時間就行排序,保證第一條是最新的消息,之后使用分頁技術對所有二手信息進行分頁顯示,之后使用AJAX對該模塊定時刷新,保證用戶看到的都是最新的消息。就行Eclipse,以Mysql為后臺數據庫支撐環境,設計出了有實用價值的校園文化管理系統,該系統與同類系統相比,不僅性能較高、運行較為穩定,而且可維護性和可擴展型都比較出色。
參考文獻
[1]楊少敏,樊雙靈.Struts2 Web開發學習實錄[M].北京:清華大學出版社,2011.
[2]馬建紅,李占波.JSP應用與開發技術(第二版)[M].北京:清華大學出版社,2014.
[3]賈蓓,鎮明敏.JAVAWeb整合開發實戰——基于Struts2+Hibernate+Spring[M].北京:清華大學出版社,2015.
[4]李剛.輕量級JavaEE企業應用實戰 Struts2+Spring 4 + Hibernate整合開發[M].北京:電子工業出版社,2015.