基于MVC模型的網上書店系統設計與實現
來源:用戶上傳
作者:
摘要 網上書店系統旨在推動在線圖書銷售電子商務的發展,拓寬書籍的流通渠道,降低知識傳播所需的代價。該系統基于MVC模型,結合JavaEE技術實現網上書店系統平臺的構筑。本文從系統分析,系統設計,系統實現等方面具體論述了網上書店系統的設計與實現,完全遵照軟件工程原理及思想。
【關鍵詞】MVC模型 網上書店 J2EE技術
1 網上書店系統分析
1.1 背景及意義
近年來,電子商務處于熱潮,極大的便捷了人們的生活。書籍,是人們知識與經驗的重要來源,可它本身攜帶性較差,且受限于特定地點,人們要到專門的書店去購買書籍。所以為了促進知識的傳播,拓寬書籍的流通渠道,讓圖書也搭上電子商務這輛快車,使人類的智慧能夠在世界各個角落生根發芽,網上書店系統應運而生。這一系統旨在使人們獲取知識所付出的代價能夠越來越低,并使閱讀成為每個人的習慣。
1.2 相關技術及介紹
1.2.1 MVC開發模式
MVC開發模式:MVC開發模式是一種程序設計概念,它將外觀設計和實際業務邏輯設計相區分,使程序更加便于擴展與維護。
MVC將應用程序分解為3個部分:模型、視圖和控制器。
(1)Mode(l模型):其實是一些模型對象,代表應用中的數據。特別是具有檢索、插入和更新數據庫信息功能的模型類。它是應用程序的動態數據結構,獨立于用戶界面。
(2)View(視圖):視圖是呈現給用戶的信息,一般是一個HTML網頁。
(3)Controller(控制器):控制器接受輸入并且將其轉換為模型或視圖的命令。它本身并不能實現任何操作,可以觸發模型與視圖相關事件,比如返回模型的數據或是將HTML文檔呈遞給視圖。
1.2.2 J2EE技術
J2EE是一系列技術標準所組成的平臺,它通過使用組件極大簡化了應用系統的設計與開發。本篇主要用到的技術有以下幾種:
(1)JSP:JSP技術是一種動態網頁技術,它能夠根據不同的用戶動態呈現不同的內容,比如根據用戶登錄的狀態,可以呈現登錄頁面或注冊頁面,這種動態頁面技術有別于之前靜態的HTML頁面,現在被廣泛的應用在Web應用開發中。
(2)Servlet:Servlet被包含在Java的API中,所以Servlet也是一個Java類。它也是動態網頁技術的一種,但是相比JSP來說,輸出動態HTML比較繁瑣復雜,所以一般用Servet進行邏輯設計,JSP進行頁面設計。
(3)JavaBean:JavaBean是用Java編寫的組件,組件好比一個封裝容器,程序員不需要知道內部構造就可以使用組件,JavaBean能實現許多功能,一般有可視化JavaBean、不可視化JavaBean。在本文中使用了不可視化JavaBean來進行數據庫的連接等操作。
2 網上書店系統設計
2.1 總體設計
該系統采用B/S架構,主要由網站前臺和網站后臺構成,其中前臺功能有登錄、瀏覽商品、下訂單、購物車和退出登錄。后臺功能有商品管理、訂單管理和驗證登錄。
2.2 詳細設計
MVC設計模式結合J2EE技術,將網站前臺和網站后臺設計分別對應到MVC設計模式的三個部分:前臺對應視圖,后臺對應模型和控制器。
在本系統的設計中,使用JavaBean組件為模型,處理用戶提交的各種數據;JSP頁面為視圖,提供一個供用戶用于交互的界面;Servlet為控制器,在用戶觸發事件后,將數據送往模型進行處理,并將處理結果返回給視圖用于更新。
基于MVC設計模式的網上書店系統,其整個流程大致如下:首先Web瀏覽器向服務器發出請求,服務器收到用戶請求后調用servlet。這個控制器Servlet根據用戶提交的不同業務(如增減商品)調用相應的JavaBean處理用戶的請求。在JavaBean中進行數據庫相關操作,或實現其他業務。處理結果由充當橋梁的JavaBean返回給Servlet,由Servlet轉發處理結果到視圖JSP。服務器讀取JSP頁面中的內容,將最終的結果以HTML的方式回顯給客戶端瀏覽器進行顯示。
3 網上書店系統實現
3.1 MVC系統模型技術實現
下面就從技術實現的角度分析MVC模型的實現,通過代碼結構分析功能實現的細節。
首先大致了解一下業務流程:用戶要登錄系統,進入登錄界面。若驗證通過則進入購物大廳界面,若錯誤則返回登錄界面。在購物大廳選擇要購買的書籍后,進入購物車界面。用戶在購物車界面可以根據需求,選擇增加或刪除商品數量,也可以返回購物大廳繼續購買。確定要購買的商品后,用戶可以提交訂單,進入顯示訂單界面。購買完畢,用戶可以選擇退出登錄,進入退出界面。
接下來具體分析各個功能的實現:
(1)前臺功能實現:前臺功能主要包括各個界面的設計,也就是呈現給用戶的界面設計。以下界面主要采用流行前端技術組合:HTML+CSS+Bootstrap編寫。
登錄:由Login.jsp這個JSP視圖頁面負責登錄界面的實現。
瀏覽商品:由Welcome.jsp這個JSP視圖負責商品展示界面的實現,商品信息來自Dao。DAO(Data Access Object)是一個數據訪問接口。數據訪問,對數據庫進行存取。夾在業務邏輯與數據庫資源中間。它將需要顯示的信息(如書籍圖片、價格等)從數據庫中取出,交給視圖顯示。
購物車:由ShowCart.jsp負責顯示購物車。提供進行商品管理的按鈕(如增減商品的按鈕),供用戶與系統進行交互。
下訂單:由ShowOrder.jsp負責顯示訂單。顯示用戶信息與購買信息,供用戶進行確定。退出登錄:由Logout.jsp負責顯示退出登錄界面。使用Bootstrap中的巨幕組件,提高人機交互界面的美觀性。
(2)后臺功能實現:
商品管理:
由AddServlet.java、DeleteServlet.java、ClearServlet.java和UpdateServlet.java四個類分別實現商品的增、刪、清除與更新。
訂單管理:由管理員對提交的訂單進行處理。
驗證登錄:由Vaildate.java類對用戶名和密碼進行驗證。
3.2 MVC代碼結構
模型層(Model):
Book.java,Cart.java。
視圖層(View):
Login.jap,Welcome.jsp,ShowCart.jsp,ShowOrder.jsp,Logout.jsp。
控制層(Controller):
AddServlet.java,DeleteServlet.java,ClearServlet.java,UpdateServlet.java。
參考文獻
[1]賈志誠,王云.JSP程序設計:慕課版[M].北京:人民郵電出版社,2016.
轉載注明來源:http://www.hailuomaifang.com/1/view-14841883.htm