版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
蘭州財經(jīng)大學(xué)網(wǎng)站建設(shè)技術(shù)課程設(shè)計學(xué)院、系:信息工程學(xué)院專業(yè):信息管理與信息系統(tǒng)姓名:劉美辰學(xué)號:指導(dǎo)教師:易紀(jì)海 成績:2023年06月27日目錄一、電子商務(wù)網(wǎng)站設(shè)計模式 21.1MVC設(shè)計模式的概述 21.2電子商務(wù)網(wǎng)站應(yīng)用技術(shù)及系統(tǒng)框架的介紹 41.3系統(tǒng)的軟件開發(fā)工具 5二、電子商務(wù)網(wǎng)站的需求分析與功能設(shè)計 62.1系統(tǒng)的需求分析 6三、電子商務(wù)網(wǎng)站的設(shè)計與實現(xiàn) 73.1電子商務(wù)網(wǎng)站數(shù)據(jù)庫的設(shè)計與實現(xiàn) 73.1.1數(shù)據(jù)庫的簡介 73.1.2數(shù)據(jù)庫的需求分析 73.1.3數(shù)據(jù)表結(jié)構(gòu)設(shè)計 83.2數(shù)據(jù)持久層的設(shè)計與實現(xiàn) 83.3業(yè)務(wù)邏輯層的設(shè)計與實現(xiàn) 93.4控制器的設(shè)計與實現(xiàn) 93.5視圖層的實現(xiàn) 12總結(jié) 15參考文獻(xiàn) 16一、電子商務(wù)網(wǎng)站設(shè)計模式1.1MVC設(shè)計模式的概述MVC是一種設(shè)計模式,它強(qiáng)制性的將應(yīng)用程序的輸入、解決和輸出分開。使用MVC的應(yīng)用程序被分為3個核心部件:模型(Model)、視圖(View)、控制器(Controller)。它們各司其職,既分工明確又互相協(xié)作。MVC設(shè)計模式的典型流程[3][4]為:一方面Controller接受用戶的請求,并決定應(yīng)當(dāng)調(diào)用哪個Model來進(jìn)行解決,然后Model用業(yè)務(wù)邏輯來解決用戶的請求并返回數(shù)據(jù),最后Controller用相應(yīng)的View格式化Model返回的數(shù)據(jù),并通過表達(dá)層呈現(xiàn)給用戶。具體的關(guān)系如圖1.1所示。圖1·1模型、視圖、控制器之間的分工協(xié)作關(guān)系控制層(Controller)可以理解為從用戶接受請求,將模型與視圖匹配在一起,共同完畢用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴我們,它就是一個分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完畢什么樣的用戶請求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)解決。控制層的功能為:接受用戶的請求,根據(jù)用戶的請求調(diào)用某個模型進(jìn)行業(yè)務(wù)解決,將解決結(jié)果送給某個視圖進(jìn)行顯示。模型層(Model)就是業(yè)務(wù)流程/狀態(tài)的解決以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的解決過程對其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的解決結(jié)果。它的作用是反映整個應(yīng)用程序的狀態(tài),對用戶請求進(jìn)行業(yè)務(wù)邏輯解決,響應(yīng)狀態(tài)查詢,告知視圖并更新業(yè)務(wù)狀態(tài)。視圖層(View)代表用戶交互界面,對于Web應(yīng)用來說,可以概括為顯示界面,隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的解決也變得具有挑戰(zhàn)性。一個應(yīng)用也許有很多不同的視圖,MVC設(shè)計模式對于視圖的解決僅限于視圖上數(shù)據(jù)的采集和解決,以及用戶的請求,而不涉及在視圖上的業(yè)務(wù)流程的解決。業(yè)務(wù)流程的解決交予模型(Model)解決。視圖層的功能就是顯示模型的數(shù)據(jù),接受數(shù)據(jù)更新并請求更新視圖數(shù)據(jù),接受用戶輸入的數(shù)據(jù)并送給控制層。MVC設(shè)計模式不僅可以實現(xiàn)功能模塊和顯示模塊的分離,同時它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用行,是一個優(yōu)秀的創(chuàng)建軟件的途徑,特別實在JavaWeb應(yīng)用程序的構(gòu)架方面。JavaEE把MVC引入Web領(lǐng)域,在此基礎(chǔ)上架構(gòu)出一套稱為Model2[5]的體系,使JavaWeb應(yīng)用程序的健壯性、代碼重用和結(jié)構(gòu)方面新上一個新臺階。1.2電子商務(wù)網(wǎng)站應(yīng)用技術(shù)及系統(tǒng)框架的介紹在本系統(tǒng)的設(shè)計過程中,根據(jù)MVC模式,使用Struts2、Spring、Hibernate技術(shù)進(jìn)行系統(tǒng)的開發(fā)。(1)Struts[6][7]是Apache基金會Jakarta項目組的一個開源項目,它采用MVC模式,可以很好地幫助Java開發(fā)者開發(fā)Web應(yīng)用,它能大量減少開發(fā)Web應(yīng)用的時間,提高產(chǎn)品的重用度。Struts重要是采用Servlet和JSP技術(shù)來實現(xiàn)的,它把Servlet、JSP、自定義標(biāo)簽和信息資源(messageresources)整合到一個統(tǒng)一的框架中,Struts它只有一個中心控制器,他采用XML定制轉(zhuǎn)向的URL,采用Action來解決邏輯,開發(fā)人員運用其進(jìn)行開發(fā)時不用再自己編碼實現(xiàn)全套MVC模式。Struts這是它的一大優(yōu)點,使開發(fā)者能更進(jìn)一步的了解其內(nèi)部實現(xiàn)機(jī)制。StrutsFramework是MVC模式的體現(xiàn)。在系統(tǒng)中,Struts2充當(dāng)控制器的角色,它通過核心控制器FilterDispatch與攔截器Interceptor實現(xiàn)了Model2架構(gòu),及MVC架構(gòu),其體系結(jié)構(gòu)如圖1·2所示。圖1·2Struts的MVC實現(xiàn)(2)Spring是由RodJohnson創(chuàng)建并且是一個開源框架,是為了解決公司應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完畢以前只也許由EJB完畢的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡樸性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益[8]。簡樸的說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。在系統(tǒng)開發(fā)的過程中,Spring充當(dāng)?shù)氖钦麄€應(yīng)用的Bean資源管家,甚至涉及Struts2的業(yè)務(wù)控制器Action實例的接管,充當(dāng)Struts的得力助手。時代在發(fā)展,技術(shù)在進(jìn)步,人們對于各種復(fù)雜數(shù)據(jù)及業(yè)務(wù)邏輯的解決規(guī)定也在不斷的提高,MVC三層模型已不能滿足高性能,低耦合框架結(jié)構(gòu)的分層規(guī)定,此時,人們引入了持久層的概念,用于封裝底層數(shù)據(jù)的持久化與訪問操作。對象—關(guān)系映射ORM(object-RelationMapping)是用來將對象與對象之間的關(guān)系相應(yīng)到數(shù)據(jù)庫與表之間的關(guān)系的一種模式。Hibernate是一個面向Java環(huán)境的對象/關(guān)系數(shù)據(jù)庫映射工具。Hibernate是一個開源的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的封裝,使JAVA程序員可以隨心所欲的使用面向?qū)ο蟮木幊趟枷雭聿僮鲾?shù)據(jù)庫。它負(fù)責(zé)持久層,直接與底層數(shù)據(jù)庫打交道[9][10]。使用Struts2、Spring、Hibernate組合的框架[11]后,系統(tǒng)的框架如下圖2·3所示。圖1·3系統(tǒng)的框架圖1.3系統(tǒng)的軟件開發(fā)工具(1)開發(fā)工具M(jìn)yEclipseMyEclipse是公司級工作平臺,全稱是MyEclipseEnterpriseWorkbench,是對EclipseIDE的擴(kuò)展。MyEclipse是功能比較豐富的集成開發(fā)環(huán)境,比如編碼、調(diào)試、測試和發(fā)布功能,并且完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。(2)服務(wù)器TomcatTomcat是一個免費的開源的Serlvet容器,它是APache基金會的Jakarta項目中的一個核心項目,由APache,sun和其它一些公司及個人共同開發(fā)而成。(3)數(shù)據(jù)庫MySQLMySQL是由MySQLAB公司開發(fā)、發(fā)布并支持的全世界最流行的開源SQL數(shù)據(jù)庫管理系統(tǒng),于2023年被Sun公司收購[12]。二、電子商務(wù)網(wǎng)站的需求分析與功能設(shè)計需求分析在軟件開發(fā)過程中,具有舉足輕重的地位,它具有決策性,方向性,策略性的作用。需求分析的任務(wù)就是要解決“做什么”的問題,就是要全面地理解用戶的各項需求,并準(zhǔn)確地表達(dá)所接受的用戶需求。功能設(shè)計則是具體的說明系統(tǒng)要完畢的功能。2.1系統(tǒng)的需求分析系統(tǒng)的實際應(yīng)用性很明顯,電子商務(wù)發(fā)展非常迅速,人們追求的是簡捷、方便、省時,通過Internet選購商品,不必花費太多的時間去逛商場,坐在家里上網(wǎng)就可以買到稱心的商品,符合人們的心愿。但是,系統(tǒng)不僅僅只要有簡樸易學(xué)的操作界面,還需要考慮交易的安全性,所以在注重界面美觀、容易操作的基礎(chǔ)上,還要特別注意對信息進(jìn)行保管。關(guān)鍵要注意:在具有基本的功能這個基礎(chǔ)上要保證操作簡樸以及界面美觀,并要使顧客不久適應(yīng)這個系統(tǒng)。本系統(tǒng)的應(yīng)涉及的功能有:消費者可以瀏覽新聞和商品信息,可以查看商品的具體信息,當(dāng)注冊后可以購物,并可以對其購物車進(jìn)行管理,購物完畢后提交訂單,購物完畢后可以查看訂單。會員購物完畢后可以自動增長相應(yīng)的積分。管理員根據(jù)不同的權(quán)限可以對新聞模塊,訂單和商品模塊,會員管理模塊,流量記錄模塊進(jìn)行管理。具有高級權(quán)限的管理員可以添加新的管理員。電子商務(wù)網(wǎng)站重要有新聞發(fā)布模塊、會員管理模塊、商品管理模塊、購物車及訂單管理模塊、系統(tǒng)用戶管理與流量記錄模塊。系統(tǒng)的總體功能結(jié)構(gòu)圖如下3·1所示。圖2·1系統(tǒng)總體功能模塊圖三、電子商務(wù)網(wǎng)站的設(shè)計與實現(xiàn)3.1電子商務(wù)網(wǎng)站數(shù)據(jù)庫的設(shè)計與實現(xiàn)3.1.1數(shù)據(jù)庫的簡介本系統(tǒng)采用MySQL作為數(shù)據(jù)庫平臺,它對存儲過程、觸發(fā)器和視圖都有很好的支持,并且MySQL是開源的數(shù)據(jù)庫服務(wù)器,有助于減少開發(fā)成本。支持上千萬條的數(shù)據(jù)記錄。安裝簡樸,使用方便。3.1.2數(shù)據(jù)庫的需求分析網(wǎng)站的需求重點體現(xiàn)在各種信息的提供、保存、更新和查詢。這就規(guī)定數(shù)據(jù)庫結(jié)構(gòu)可以滿足各種信息的輸出和輸入。針對網(wǎng)站的需求,通過對網(wǎng)站各個模塊的需求分析,可以得到所需實體的數(shù)據(jù)結(jié)構(gòu):系統(tǒng)用戶信息:系統(tǒng)用戶的編號、賬戶、密碼、權(quán)限等信息。購物車信息:購物車編號、所屬會員編號、購物車的總金額、購物車狀態(tài)。購物車商品選購記錄信息:編號、所屬購物車編號、所屬商品編號、選購數(shù)量、成交價格、成交總價。訂單信息:編號、所屬的購物車編號、所屬的商品編號、訂單編號、訂單日期、訂單狀態(tài)。注冊會員信息:會員編號、所屬會員級別號、登錄賬號、密碼、會員真實姓名、電話、地址、郵政編碼、郵政編碼、最后一次登錄的日期、會員積分等。會員級別信息:會員級別編號、會員級別名稱、所需積分、優(yōu)惠比例。商品類別信息:編號、上級商品類別編號、商品類別名稱。商品信息:編號、所屬商品類別編號、商品名稱、商品市場價、商品促銷價、商品型號、商品圖片、商品視頻、商品描述、是否有促銷價、商品詳情靜態(tài)頁面途徑、商品狀態(tài)。新聞欄目信息:編號、上級欄目編號、新聞欄目編號、新聞欄目名稱。新聞信息:編號、所屬新聞欄目ID、新聞標(biāo)題、新聞內(nèi)容、新聞?wù)?、關(guān)鍵字、是否圖片新聞、圖片URL、新聞來源、新聞發(fā)布日期、作者、點擊數(shù)、排序優(yōu)先、狀態(tài)等。流量信息:編號、來源URL、受訪頁面的URL、訪客的URL、物理地址、訪問時間等。3.1.3數(shù)據(jù)表結(jié)構(gòu)設(shè)計表就是數(shù)據(jù)庫中用來存放數(shù)據(jù)的場合。在數(shù)據(jù)庫中可以有多個表,但表名應(yīng)當(dāng)是唯一的。同一數(shù)據(jù)庫中的表可以互相關(guān)聯(lián),也可以彼此獨立。該系統(tǒng)包含多個表,每張表存儲著該系統(tǒng)某項功能的數(shù)據(jù)信息[20],根據(jù)上述的數(shù)據(jù)需求分析,可以得到表結(jié)構(gòu)。如表3·1為系統(tǒng)用戶信息表,記錄了系統(tǒng)用戶的屬性信息。表3·1系統(tǒng)用戶表(admin)字段名稱數(shù)據(jù)類型主鍵自增允許為空描述IDint(11)是增1ID號LoginNamevarchar(20)否√登錄賬戶LoginPwdvarchar(50)否√登錄密碼Privilegesvarchar(50)否√權(quán)限3.2數(shù)據(jù)持久層的設(shè)計與實現(xiàn)持久層是專門負(fù)責(zé)持久化工作的邏輯層,由它統(tǒng)一與數(shù)據(jù)庫打交道。它封裝了所有與數(shù)據(jù)庫相關(guān)的操作和細(xì)節(jié)。持久層是業(yè)務(wù)邏輯層與底層數(shù)據(jù)庫之間的紐帶,除了完畢關(guān)系數(shù)據(jù)表的持久化以外,還要提供統(tǒng)一的數(shù)據(jù)訪問服務(wù)。Hibernate作為持久層中間件,功能強(qiáng)大。它可以使開發(fā)人員方便的實現(xiàn)數(shù)據(jù)表的持久化,為其提供統(tǒng)一的數(shù)據(jù)訪問服務(wù)。統(tǒng)一數(shù)據(jù)訪問接口。在系統(tǒng)中,所有的模塊使用統(tǒng)一的數(shù)據(jù)訪問接口,減少底層的代碼開發(fā)量,提高系統(tǒng)的維護(hù)效率。系統(tǒng)使用BaseDao及其實現(xiàn)為系統(tǒng)提供數(shù)據(jù)訪問服務(wù)。2.表的持久化及表的關(guān)聯(lián)運用Hibernate的功能實現(xiàn)新聞欄目表相應(yīng)的持久化類Newscolumns及其ORM映射文獻(xiàn)Newscolumns.hbm.xml實現(xiàn)新聞欄目的自身多對一的關(guān)聯(lián)。3.3業(yè)務(wù)邏輯層的設(shè)計與實現(xiàn)Dao組件已經(jīng)實現(xiàn)了統(tǒng)一的數(shù)據(jù)訪問,業(yè)務(wù)邏輯組件則調(diào)用Dao組件提供的數(shù)據(jù)訪問服務(wù),替業(yè)務(wù)控制器實現(xiàn)真正意義上的用戶請求解決[14]。通常的業(yè)務(wù)邏輯單元的劃分是針對用戶請求進(jìn)行的,從事務(wù)管理的角度而言,這種業(yè)務(wù)邏輯單元具有原子性,因此,一個用戶請求幕后往往會有一個相應(yīng)的業(yè)務(wù)解決單元,同時,它也是一個事務(wù)管理單元。在SSH2組合框架中,Spring負(fù)責(zé)接管業(yè)務(wù)邏輯層。運用Spring的面向切面功能,系統(tǒng)的所有業(yè)務(wù)邏輯組件統(tǒng)一采用Spring的BeanNameAutoProxyCreatorf自動創(chuàng)建事務(wù)代理,這樣就不必為每個業(yè)務(wù)邏輯組件創(chuàng)建事務(wù)代理,大大減少了application.xml中代碼的冗余度,提高了代碼的重用性和可維護(hù)性。Spring的控制反轉(zhuǎn)IoC功能,可以使我們將統(tǒng)一的數(shù)據(jù)訪問Dao組件注入到業(yè)務(wù)邏輯層中,使我們可以方便的調(diào)用Dao組件中方法。3.4控制器的設(shè)計與實現(xiàn)控制器在本系統(tǒng)是通過Struts2來實現(xiàn)的。Strut2通過核心控制器FilterDispatch與攔截器Interceptor攔截用戶請求,針對不同的用戶請求,調(diào)用相應(yīng)的業(yè)務(wù)控制器來進(jìn)行解決。業(yè)務(wù)控制器調(diào)用不同的業(yè)務(wù)邏輯解決,最終有業(yè)務(wù)控制器返回一個Result命名視圖。 使用Struts2的流程如下:用戶請求均通過直接調(diào)用Action類的相應(yīng)方法進(jìn)行解決,Action類中的相應(yīng)方法在收到請求后,一方面送交攔截器LoginedCheckInterceptor進(jìn)行Session過期、登錄有效性及操作權(quán)限驗證,當(dāng)Session已過期、尚未成功登錄或不具有新聞管理的權(quán)限時,由攔截器直接返回相應(yīng)的錯誤提醒頁面或登錄頁面。否則繼續(xù)交由Struts2的默認(rèn)攔截器進(jìn)行相關(guān)解決,最后調(diào)用有Spring2依賴注入進(jìn)行的業(yè)務(wù)邏輯解決組件Service實例進(jìn)行業(yè)務(wù)邏輯解決,根據(jù)Struts.xml中的視圖配置,將解決結(jié)果交由相應(yīng)的視圖組件返回展現(xiàn)給用戶。 下面將以系統(tǒng)用戶管理模塊為例,講述控制器的實現(xiàn)。 1.系統(tǒng)用戶管理業(yè)務(wù)控制器AdminAction類系統(tǒng)用戶管理業(yè)務(wù)控制器AdminAction類采用模型驅(qū)動,直接使用持久化類Admin充當(dāng)模型類,用于封裝表單屬性、請求參數(shù)及解決結(jié)果。AdminAction類的功能有:解決登錄請求,解決推出請求,解決瀏覽系統(tǒng)用戶請求,解決刪除系統(tǒng)用戶的請求,解決添加系統(tǒng)用戶的請求,解決更新系統(tǒng)用戶的請求等。下述的代碼講述的是登錄,注銷,瀏覽,新增系統(tǒng)的功能。/**系統(tǒng)管理員解決控制器*/@SuppressWarnings("serial")publicclassAdminActionextendsActionSupportimplementsModelDriven<Admin>{ /**通過依賴注入AdminService組件實例*/ AdminServiceservice; /**系統(tǒng)用戶管理所有請求中常用的參數(shù)值*/ privateStringrand; //隨機(jī)驗證碼 privateStringactionMsg; //Action間傳遞的消息參數(shù) privateList<Admin>adminList; //系統(tǒng)用戶列表 //采用模型驅(qū)動 privateAdminmodel=newAdmin();//用于封裝系統(tǒng)用戶屬性模型 publicAdmingetModel(){ returnmodel; } /**解決登錄請求*/ publicStringlogin(){ if(!rand.equalsIgnoreCase((String)ServletActionContext.getRequest().getSession().getAttribute("rand"))){ addActionError(getText("login_rand_error")); return"login"; }else{ AdmintempAdmin=service.adminLogin(model.getLoginName(),MD5.MD5Encode(model.getLoginPwd())); if(tempAdmin!=null){ ServletActionContext.getRequest().getSession().setAttribute("admin",tempAdmin); return"index"; }else{ addActionError(getText("login_fail")); return"login"; } } } /**解決注銷請求*/ publicStringlogout(){ ServletActionContext.getRequest().getSession().invalidate(); return"login"; } /**解決瀏覽系統(tǒng)用戶請求*/ publicStringbrowseAdmin(){ if(actionMsg!=null){ try{ actionMsg=newString(actionMsg.getBytes("ISO8859-1"),"gbk"); }catch(UnsupportedEncodingExceptione){ e.printStackTrace(); } addActionMessage(actionMsg); } adminList=service.browseAdmin(); returnSUCCESS; } /**解決新增系統(tǒng)用戶請求*/ publicStringaddAdmin(){ AdmintempAdmin=newAdmin(); tempAdmin.setLoginName(model.getLoginName()); tempAdmin.setLoginPwd(MD5.MD5Encode(model.getLoginPwd())); tempAdmin.setPrivileges(model.getPrivileges()); if(service.saveOrUpdateAdmin(tempAdmin)){ addActionMessage(getText("admin_add_succ")); }else{ addActionMessage(getText("admin_add_fail")); } returnSUCCESS; } //setXX()和getXX()方法省略}2.在Spring中配置業(yè)務(wù)控制器AdminAction類 將Struts2的業(yè)務(wù)控制器交給Spring容器來負(fù)責(zé),可以充足的運用Spring容器的IoC特性。Spring使用單例模式,為每個用戶的請求生成一個全新的實例。在applicationContext.xml中的配置如下:<!--部署Struts2負(fù)責(zé)系統(tǒng)用戶管理的控制器AdminAction--><beanid="adminAction"class="com.ebuy.struts.action.AdminAction"scope="prototype"> <propertyname="service"ref="adminService"/> </bean>在Spring中配置過業(yè)務(wù)控制器后,就可以在Struts.xml中直接引用AdminAction的beanid了,無需指定AdminAction的全類名。3.Struts.xml中配置業(yè)務(wù)控制器 用戶的具體請求,業(yè)務(wù)控制器中的解決方法及結(jié)果展現(xiàn)視圖之間的相應(yīng)關(guān)系,必須在Struts2的配置文獻(xiàn)Struts.xml中進(jìn)行對的的配置方能生效。對于哪些具有一定命名規(guī)則的用戶請求可以使用通配符實現(xiàn)動態(tài)方法調(diào)用,如“admin_*”來表達(dá)。在Struts.xml中的配置如下:<packagename="admin"extends="ebuy"namespace="/admin"> <!--配置系統(tǒng)用戶管理的AdminAction映射--> <actionname="updateAdmin"class="adminAction"method="updateAdmin"> <resultname="input">/admin/editAdmin.jsp</result> <interceptor-refname="loginedCheck"/> <interceptor-refname="defaultStack"/> </action> <actionname="admin_*"class="adminAction"method="{1}"> <result>/admin/{1}.jsp</result> <resultname="input">/admin/{1}.jsp</result> <resultname="index">/admin/index.jsp</result> <resultname="login">/admin/login.jsp</result> <resultname="toBrowseAdmin"type="redirect-action"> <paramname="actionName">admin_browseAdmin</param> </result> <interceptor-refname="loginedCheck"/> <interceptor-refname="defaultStack"/></action>控制器的配置流程是:一方面完畢業(yè)務(wù)控制類的功能實現(xiàn),然后將業(yè)務(wù)控制類注入到Spring的配置文獻(xiàn)中,最后在Struts2中配置相應(yīng)的視圖結(jié)果。3.5視圖層的實現(xiàn)視圖層的功能就是顯示模型的數(shù)據(jù),接受用戶輸入的數(shù)據(jù)并送給控制層,接受數(shù)據(jù)更新并請求更新視圖數(shù)據(jù)。視圖層沒有任何的業(yè)務(wù)操作,它只負(fù)責(zé)接受用戶數(shù)據(jù)和顯示用戶數(shù)據(jù)。本節(jié)將給出系統(tǒng)運營時頁面的部分效果圖。1.前臺頁面顯示畫面。用戶初次進(jìn)入網(wǎng)站首頁面展示的效果圖3·1所示。圖3·1網(wǎng)站首頁面進(jìn)入首頁后,用戶可以瀏覽商品信息,網(wǎng)站新聞等內(nèi)容。假如用戶需要購物,則需注冊賬號,注冊頁面如下圖3·2所示。圖3·2注冊頁面用戶購買完商品后,可以再購物車中查看所購商品,并在其中可以修改數(shù)量,清空購物車等。效果圖如下圖3·3所示。圖3·3購物車管理的頁面確認(rèn)過訂單信息后,可以提交訂單,訂單提交成功后會生成一個訂單編號,通過訂單編號,可以查看訂單的狀態(tài),進(jìn)行訂單的管理。訂單管理的效果圖如下圖3·4所示。圖3·4訂單管理頁面2.后臺管理員管理頁面系統(tǒng)用戶進(jìn)入頁面時,一方面要進(jìn)行登錄,登錄頁面如下圖3·5所示。圖3·5管理員登錄管理員登錄后,會根據(jù)其權(quán)限分派相應(yīng)的功能。登錄后的頁面,如圖3·6所示。圖3·6后臺管理主頁面后臺的訂單管理頁面的展示如下圖3·7所示。圖3·7后臺的訂單管理頁面總結(jié)電子商務(wù)網(wǎng)站是現(xiàn)在流行的一種網(wǎng)上購物方式。隨著互聯(lián)網(wǎng)的普及以及電子商務(wù)的發(fā)展和人們
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 煤礦井下工作安全協(xié)議書范本
- 鹵味店長合作協(xié)議書范文范本
- 美妝供應(yīng)商合作協(xié)議書范文范本
- 紅薯代加工合作協(xié)議書范文模板
- 2023-2024學(xué)年四川省達(dá)州市普通高中4月高三調(diào)研測試數(shù)學(xué)試題
- 特教英語:策略與實踐-從理論到實踐開啟特教新篇章
- 幼兒園秋季安全總結(jié)5篇
- 銀行防范非法集資活動總結(jié)
- 外部培訓(xùn)合同(3篇)
- 培訓(xùn)機(jī)構(gòu)頒獎晚會主持詞
- 買賣合同法律風(fēng)險防范講座課件
- 《種樹郭橐駝傳》課件25張-統(tǒng)編版高中語文選擇性必修下冊
- 八年級體育與健康學(xué)科:第二章 素質(zhì)與鍛煉之柔韌練習(xí)教案-柔韌性練習(xí)1
- 遼寧省阜新市基層診所醫(yī)療機(jī)構(gòu)衛(wèi)生院社區(qū)衛(wèi)生服務(wù)中心村衛(wèi)生室名單目錄信息
- 人教版九年級英語全一冊總復(fù)習(xí)課件
- 體育運動類知識競賽參考題庫200題(含答案)
- 第一單元 分?jǐn)?shù)乘法應(yīng)用題專項過關(guān)卷(單元測試)六年級上冊數(shù)學(xué)人教版
- 華為大學(xué)人才培養(yǎng)與發(fā)展實踐
- 圖形推理1概要課件
- 蘇教版二年級心理健康教育上冊第三課《不開心的時候》課件
- 2021年徐州市國盛控股集團(tuán)有限公司校園招聘筆試試題及答案解析
評論
0/150
提交評論