何勰緋 禹濤
摘要:設計并且實現一個基于B/S架構的小型門戶網站及后臺系統。系統主要以J2EE作為開發基礎,使用了Struts、Spring和ibatis框架。該網站集新聞、電影、網絡電視、購物于一體的門戶網站和后臺系統,基本實現了應有的主要功能模塊。測試結果表明,該系統界面簡單、操作方便,容易維護。
關鍵詞:門戶網站;J2EE;權限管理
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)02-0239-02
Abstract: This article gives a design proposal of small portal based on J2EE. The website uses Struts Spring ibatis framework based on J2EE development platform. It realizes news, movie, net TV, shopping and the functions. Test results show that the interface is easy to use and the system is easy to maintain.
Key words: Portal Web; J2EE; rights management
本門戶網站面向在校大學生群體,針對在校大學生的學習生活需求,為該群體提供本地新聞資訊、娛樂類視頻資源、校園網上超市、生活互助信息。本門戶網站緊貼用戶的需求,充分考慮當前大學生人群上網習慣和購物理念,網站內容具有時效性、娛樂性和本地化特點。網站設計中體現先進的門戶網站運營及管理理念,集新聞,電影、動漫、網絡電視、購物功能于一體。
1 系統的體系結構
本系統是在Windows操作系統下,以MySql作為數據庫,以Tomcat6.0作為Web服務器,以MyEclipse6.5為開發工具,以J2EE作為開發語言。
根據該小型門戶網站系統的服務定位和實施條件,平臺的架構設計目標是提供一個軟件體系結構,能夠將業務運作過程中涉及的所有內容資源和數據集成于一個信息系統。構建整個系統可以依據和使用成熟的框架技術Struts2、Spring和ibatis和AJAX技術來實現,再通過外圍編碼和界面設計完成各個功能模塊。系統的結構示意圖如圖1所示。
系統的結構分為三層。視圖層由瀏覽器來提供管理視圖和操作界面,用戶通過與視圖的交互,使用界面提供的各種工具,完成應用服務。業務層借助SpringFramework進行業務組件的組裝關聯,可以根據客戶指令執行業務邏輯,并且協調與客戶端視圖之間通過應用程序接口調用功能組件來完成相應的應用服務,比如調用數據層提供的功能接口來訪問數據庫。數據層是為系統服務提供基礎數據支持,通過共享資源庫和通用數據庫等,提供數據服務支持,包括數據存儲、備份和恢復的功能。數據層位于底層,本系統借助iBATIS技術訪問數據庫。
2 系統需求分析
網站系統中新聞,電影,動漫功能模塊具備最基本的增刪查改功能,而較為復雜的購物模塊則增加了訂單管理、產品管理、權限管理、用戶購物車管理、用戶管理功能。
1)產品管理:產品具有類別、品牌、出產地等屬性;產品類別可以實現無限級分類;網站員工在該模塊中可以對產品信息進行管理。
2)權限管理:超級管理員為用戶分配權限,可以添加權限。
3)用戶管理:可以讓管理員進行用戶啟用、用戶禁用、用戶查詢、為用戶找回密碼等操作。
4)訂單管理:訂單的處理,訂單確認,訂單信息修改;訂單支付確認;商品的打包,商品的配送及貨款收取。
5)購物車管理:用戶可以把產品添加入購物車,同一產品如果樣式或尺碼不同視為兩個購物項,對同一商品多次點擊“購買”,每點擊一次累加購物車中該商品的購買數量。購物車具有添加商品、刪除商品、修改商品購買數量、清空購物車、計算商品總銷售價、總市場價功能。
根據系統功能需求分析,可以畫出系統的功能模塊圖,如圖2所示。
網站首頁提供產品類別導航,用戶點擊產品類別可以查看該類別下的產品列表,在產品列頁面上可以根據銷量多到少、價格高到低、價格低到高、最近上架時間對商品進行排序,并且可以按品牌及男女款對產品進行篩選,產品列表具有圖文版和圖片版兩種顯示方式,點擊具體的商品可以查看其詳細信息。
3 數據庫設計
系統采用MySql作為數據庫。因為系統框架中使用了iBATIS技術,iBATIS提供的持久層框架包括SQL Maps和Data Access Objects,同時還提供一個利用這個框架開發的JPetStore實例。ibatis要求開發者編寫具體的SQL語句。相對Hibernate等“全自動”ORM機制而言,ibatis以SQL開發的工作量和數據庫移植性上的讓步,為系統設計提供了更大的自由空間。在數據庫中分別有新聞表、電影表、動漫表、產品信息表、用戶表、訂單表、訂單管理表。其中,訂單管理表結構如表1所示,用戶登錄列表如表2所示。
4 系統開發的難點
門戶網站面向大眾開放,如何控制對資源的訪問是Web安全的一個主要問題。以前在開發web管理系統時,安全檢測邏輯都放在需要安全控制的代碼前面,代碼移植性、重用性都得不到體現。本系統嘗試利用Struts2框架來實現基于角色的細粒度權限攔截,達到角色的權限管理子系統與應用系統部分的解耦,可以大大減少需求變更所帶來的開發成本和代價。Struts2使用了WebWork的設計核心,大量使用攔截器來處理用戶的請求。首先加載類FilterDispatcher,然后從struts配置文件中讀取與之相對應的Action,并根據其配置啟用攔截器對象,最后通過回調Action的execute()方法處理業務,將處理結果返回。整個系統在開發過程中用到的java知識很全面,使用了JDK1.6之后出現的泛型和自定義注解語法。
5 結束語
本系統使用了J2EE的Struts2、Spring、ibaits框架,實現過程中大量使用了javascript。測試結果表明,該系統界面簡單、操作方便,容易維護。該門戶網站實現了新聞、電影、動漫、網絡電視、購物等功能,能夠在很大程度上提高網站的經濟效益。
參考文獻:
[1] 黃超. 基于角色的權限管理結合Struts 2攔截的應用研究[J]. 大眾科技, 2010(11): 51-52.
[2] 李剛. Struts2.1權威指南[M]. 北京: 電子工業出版社, 2009.
[3] 吳眾欣, 沈家立. Lucene分析與應用[M]. 北京: 機械工業出版社, 2008.
[4] 劉鵬遠. 基于角色的權限管理可重用解決方案[J]. 計算機系統應用, 2007(6): 28-31.