摘要:Struts架構很好的實現了MVC設計模式,它為搭建具有可伸縮性、靈活性、易維護性的網上購物系統提供了良好的實現機制。針對目前主流的網上購物系統的缺點,該文介紹了Struts架構的特點,Struts的工作原理,對基于Struts的網上購物系統的設計和實現,及系統關鍵技術分析。包括對個人信息管理、商品展示、商品搜索、購物車管理、后臺管理等組件的設計,及對分頁技術、購物車技術的實現。
關鍵詞:Struts;網上購物系統;MVC
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)33-9260-02
Struts Framework Based on the Online Shopping System and Achieve
JIANG Yu-ting,LIU Su-fang
(Faculty of Information Engineering, Jiangsu Maritime Institute,Nanjing 211170,China)
Abstract: Struts framework very good implementation of the MVC designpattern, it is a structure withscalability, flexibility, easy maintainability shopping system provides a good implementation mechanism.The mainstream online shopping system the drawbacks of this article describes the Struts framework features, Struts works, based on Struts shopping system design and implementation, and system critical technical analysis.including personal information management, merchandise display, search, shopping cart management, support:chinabtob.net the design, and for pagination technology, shopping cart technology implementation.
Key words: struts; On-line shopping system; MVC
隨著計算機網絡計術的發展,WEB軟件系統被廣泛的應用,人們對互聯網的認識逐漸增強,網上購物已經走入了人們的生活。對于企業來說,這種新型的商業運營模式給他們的發展創造了良好的機遇。它通過將傳統的購物流程數字化、電子化,從而為企業降低成本、擴大市場、增加凈利潤。
在軟件技術日趨成熟的今天,構建一個完善、可靠的電子商務系統已經成為許多企業關注的焦點。與傳統模式相比,采用Struts技術來實現的電子商務平臺,簡化了系統開發,提高了系統的性能,以及可維護性,體現了軟件框架結果和組件技術重用的優越性。
1 Struts框架技術
Struts是Apache Jakarta項目于2001年推出的一個開源Java Web框架。它很好的實現了MVC(模型、視圖和控制器)設計模式[1]。通過一個配置文件,它把各個層面的應用組件聯系起來,使組件在程序層面上聯系較少,耦合度較低,這樣大大提高了應用程序的可維護性和可擴展性。目前Struts已經得到了廣大企業和J2EE開發人員的認可,成為開發MVC模式應用程序的首選框架。Struts框架由八個核心包組成,分別為:config,action,actions,tiles,upload,taglib,util和validator。它的控制器功能是由ActionServlet、Action等對象構成,ActionServlet是其中的核心,它用來接受客戶端的請求,并且根據不同的請求選擇不同的Action類[2]。Action主要是把用戶動作與業務操作連接起來,它是控制器組件的一個擴展。在Struts中,視圖部分通過HTML和JSP技術來實現。ActionForm對象實際上就一個數據傳送對象,用來在用戶和控制器層之間傳輸用戶輸入的數據。Struts工作原理如圖1所示。
2 網上購物系統的實現
2.1 系統設計目標
本系統的設計目標是采用Struts框架技術開發一個網上購物平臺,為用戶提供一個美觀舒適的購物環境、多種多樣的選擇、方便快捷的功能和安全穩定的性能。這樣,不僅使得購物流程及商品管理過程網絡化、電子化、簡單化。同時為用戶節省大量的時間和精力。
2.2 系統總體結構
本系統是基于Web的B/S模式開發的一個網上購物系統。從邏輯結構上分為三層,包括表示層、功能層和后臺數據庫服務器層。
Struts是系統主體的解決方案,主要解決視圖層及控制層的問題。系統模型層數據持久化的解決方案采用Hibernate技術[3]。本系統的總體架構圖如圖2所示。
2.3 系統主要功能設計
2.3.1 個人信息管理
這是一個用來管理個人信息的子系統。當用戶想修改自己的個人注冊資料時,可以通過這個子系統來實現。
2.3.2 商品展示
在網上購物系統中,商品展示的第一個頁面就相當于店面,客戶通過它了解有哪些商品以及其相關信息。因此網上購物系統的頁面設計就顯得非常重要。頁面顯示必須展示商品的基本信息,比如商品的名稱、型號、類別、現在的售出價格、商品的外觀、商品的介紹等等。與此同時,網面的設計還必須注意頁面的美觀簡潔、與用戶的可交互性等。
2.3.3 商品搜索
在現代的網上購物系統中,搜索引擎是一項必不可少的技術。商品檢索功能可以直接根據用戶提供的商品相關信息,將所有滿足用戶需求的相關商品以一個新頁面的形式展示在用戶面前。
這樣消費者就可以有目標的購物,既省時省力,又方便快捷。如果消費者沒有明確的購買目標,這樣就可通過模糊查找的方式輸入任何與某個商品名稱相關的關鍵字,系統就可以查詢并顯示相關的商品。
2.3.4 購物車的管理
與傳統的購物模式相同,網上購物的過程中,購物車也是必須的。由于消費者在購物過程中選購商品可能不只一種,因此用網頁來充當購物車實體。在購物車內,用戶可以查看、修改、刪除已經選購的商品[4]。并且還可根據用戶所選商品的價格和數量計算出消費金額。
2.3.5 后臺管理
本系統根據相關應用把用戶權分為兩類,主要為普通用戶和管理員。前者是消費者,后者是管理這個系統的相關人員。
后臺管理主要就是管理員對本系統的維護,比如對商品的增加、刪除和修改,對用戶的管理,對系統公告的管理等。
3 系統關鍵技術的實現
3.1 分頁技術
在網上購物系統中,隨著商品種類的的增加,使的網站與用戶交互性大大減弱。通過分頁技術可以增強網頁的可讀性。
本系統主要采用存儲過程實現分頁技術,這樣不僅提高了系統的整體性能,還增加了安全性。主要實現代碼如下:
create proc goodsDividePage
(
@page int,
@page_size int,
@table_name varchar(20)
)
as
begin
declare @sql varchar(1000)
declare @n int
set @n = (@page-1) * @page_size
set @sql = 'select top ' + convert(varchar(6),@page_size) + ' * from ' + @table_name + ' where ID not in(select top ' + convert(varchar(6),@n) + ' ID from ' + @table_name +')'
exec sp_executesql @sql
end
3.2 購物車的實現
購物車是網上購物系統中的一個基本組件。它維持的是整個購物過程的選擇商品的狀態數據,所以必須保證購物車實例在Session范圍內有效。購物車工作流程如圖3所示。
goodForm類是單個商品的信息,java.util.ArrayList類的對象goodList,用來保存每個被購買商品的goodForm對象。最后在cart.jsp中對購物車中商品價格進行匯總。
4 結束語
使用Struts框架來開發網上購物系統,很大程度上減少了開發人員的工作量,增加了代碼的可重用性,結構清析,提高了工作人員的開發效率。實踐表明,基于Struts的網上購物系統具有非常優秀的可擴展性和可維護性。目前,該系統已經在某企業得到應用,并得到用戶的肯定。
參考文獻:
[1] 李賢華.基于JSP技術的大型網上購物系統的設計與實現[J].計算機與現代化,2008,8(8):23-25.
[2] 鮑勝利,鐘勇.基于Struts框架和Procedure的Web開發模式[J].計算機工程,2008,34(9):67-69.
[3] 楊波,劉淵,冷文浩.基于Struts+Hibernate+Spring架構的船舶數字化平臺的設計[J].計算機應用與軟件,2008,25(2):178-180,212.
[4] 何靜,譚新民.基于J2EE的網上購物系統的設計[J].山西電子技術,2008(1):66-68.