版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGEI摘要隨著社會需求的不斷加大,科學(xué)技術(shù)也發(fā)展得越來越迅速,國內(nèi)互聯(lián)網(wǎng)使用人數(shù)的日趨上漲,互聯(lián)網(wǎng)給我們生活的各個方面都提供了非常大的便利,網(wǎng)上購物就是這些便利之中非常突出的一方面,它是一種企業(yè)對消費者的B2C電商模式。本畢業(yè)設(shè)計就是模擬晨光文具網(wǎng)店模式開發(fā)的,設(shè)計了一個晨光文具網(wǎng)上商城,包括前臺和后臺的一些商品瀏覽、購物和管理的操作。在此文中,將介紹晨光文具網(wǎng)上商城的結(jié)構(gòu)和功能還有其用到的一些工具和實現(xiàn)過程。具體包括商城前臺用戶的注冊和登錄,商品的分類展示和推送瀏覽以及加入購物車,訂單的查看和付費等一系列操作。本設(shè)計是在MyEclipse的Java視圖環(huán)境下設(shè)計的,數(shù)據(jù)庫采用的是MySQL,商城的設(shè)計與實現(xiàn)是基于JavaWeb的。商城操作界面友好,在瀏覽器上能夠穩(wěn)定運行,具有可行性,給人們便捷良好的購物體驗,也提高了管理人員的工作效率。關(guān)鍵詞網(wǎng)上商城MyEclipseJavaWeb數(shù)據(jù)庫AbstractWiththeincreasingofsocialdemand,alsomoreandmorerapiddevelopmentofscienceandtechnology,increasinglyriseinthenumberofdomesticInternetuse,Internetgivesusallaspectsoflifeareverybigconvenience,onlineshoppingistheconvenienceofaveryprominentontheonehand,itisakindofenterprisetoconsumermodelofB2Celectricalbusiness.Thisgraduationdesignistosimulatethedevelopmentofchenguangstationerystoremodel,designedachenguangstationeryonlinemall,includingthefrontandbackofsomegoodsbrowsing,shoppingandmanagementoperation.Inthispaper,thestructureandfunctionofchenguangstationeryonlinemallaswellassometoolsandimplementationprocessareintroduced.Specifically,itincludestheregistrationandloginofusersinthefrontdeskofthemall,theclassificationdisplayandpushbrowsingofcommodities,aswellasaseriesofoperationssuchasaddingtotheshoppingcart,orderviewingandpayment.ThisdesignisdesignedintheJavaviewenvironmentofMyEclipse,thedatabaseisMySQL,andthedesignandimplementationofthemallisbasedonJavaWeb.Themallhasafriendlyoperationinterface,stableoperationonthebrowser,andfeasibility,whichgivespeopleaconvenientandgoodshoppingexperience,andimprovestheworkingefficiencyofmanagers.Keywords:OnlineMallMyEclipseJavaWebDatabase長春工程學(xué)院畢業(yè)設(shè)計(論文)長春工程學(xué)院畢業(yè)設(shè)計(論文)PAGEII目錄TOC\o"1-2"\h\z\u1引言 11.1課題背景 11.2商城設(shè)計思想 11.3項目內(nèi)容 11.4商城設(shè)計目標 12系統(tǒng)需求分析 22.1技術(shù)經(jīng)濟分析 22.2模塊需求分析 23項目開發(fā)的技術(shù)準備 33.1 JavaWeb介紹 33.2 MySQL介紹 43.3相關(guān)技術(shù)介紹 44總體設(shè)計 64.1方案設(shè)計 64.2商城相關(guān)功能模塊總體設(shè)計 74.3商城數(shù)據(jù)庫設(shè)計 75 詳細設(shè)計 135.1用戶注冊界面設(shè)計 135.2用戶登錄界面設(shè)計 145.3商城首頁設(shè)計 155.4商品詳情界面設(shè)計 175.5購物車界面設(shè)計 185.6訂單顯示界面設(shè)計 195.7管理員登錄界面設(shè)計 205.8管理員后臺管理總體界面設(shè)計 215.9管理員管理分類信息界面設(shè)計 215.10管理員管理用戶界面設(shè)計 235.11管理員管理商品界面設(shè)計 245.12管理員管理訂單界面設(shè)計 256系統(tǒng)相關(guān)功能的測試及調(diào)試 266.1用戶注冊功能測試 266.2用戶登錄功能測試 286.3首頁熱門商品與最新商品顯示功能測試 296.4訂單相關(guān)功能測試 316.5購物車相關(guān)功能測試 326.6后臺管理員登錄功能測試 347遇到的問題及解決措施 358總結(jié) 35參考文獻 38致謝 39附錄 40長春工程學(xué)院畢業(yè)設(shè)計(論文)PAGE461引言1.1課題背景現(xiàn)代社會,科技發(fā)展日新月異,電子產(chǎn)品層出不窮,而第三次科技革命的產(chǎn)物互聯(lián)網(wǎng)更是對我們的生活產(chǎn)生了巨大的影響,我們能夠清晰的感受到它對我們生活方方面面的影響,如今科學(xué)技術(shù)飛速發(fā)展,生活節(jié)奏越來越快,在互聯(lián)網(wǎng)的支持和快節(jié)奏的生活模式的催化下下,線上購物已經(jīng)越來越成為一種潮流,人們可以方便快捷地獲取信息,甚至挑選并購買自己心儀的產(chǎn)品。本商城是基于JavaWeb開發(fā)的的應(yīng)用程序,根據(jù)晨光文具網(wǎng)店在MyEclipse環(huán)境下使用java編程語言結(jié)合MySQL數(shù)據(jù)庫開發(fā)的晨光文具網(wǎng)上商城設(shè)計。1.2商城設(shè)計思想本商城主要采用基于B/S方式的多層次結(jié)構(gòu)設(shè)計,數(shù)據(jù)庫采用的是MySQL,降低商城開發(fā)成本,不僅具有易維護的優(yōu)點,本身也比較安全穩(wěn)定。1.3項目內(nèi)容本商城主要用來實現(xiàn)晨光文具的網(wǎng)上購物流程。在瀏覽器中即可直接運行,方便簡潔。商城的主要功能如下:(1)用戶注冊功能:用戶可在商城首頁免費注冊賬戶,以便后續(xù)購買;(2)用戶登錄功能:已注冊用戶可憑借用戶名和密碼等信息登錄網(wǎng)上商城;(3)用戶查看商品功能:查看各文具商品的信息及價格;(4)購物車相關(guān)功能:已注冊登錄用戶可以查看、刪除、清空自己加入購物車的文具商品;(5)訂單相關(guān)功能:已注冊登錄用戶可以查看自己商品訂單,并選擇訂單進行付款生成相關(guān)訂單信息;(6)后臺相關(guān)功能:管理員可查看已上架的文具商品、添加商品類別和信息、對用戶訂單進行編輯操作,還可管理商城已注冊的用戶;1.4商城設(shè)計目標在進行詳盡的用戶需求分析后,就本次畢業(yè)設(shè)計的要求設(shè)計出系統(tǒng)的設(shè)計目標。實現(xiàn)項目內(nèi)容要求的各項基本功能:以晨光網(wǎng)店的經(jīng)營模式為模型,設(shè)計一個能夠?qū)Τ抗馕木哌M行線上銷售的軟件,該軟件應(yīng)該有以下功能:(1)實現(xiàn)用戶的注冊與登錄。(2)查看最新商品和熱門商品的詳細信息。(3)商城用戶在登錄后進行購物車的查看、管理系列操作。(4)商城用戶在登錄后進行訂單查看、管理系列操作。(5)商城管理員后臺管理用戶、訂單、商品信息。2系統(tǒng)需求分析2.1技術(shù)經(jīng)濟分析如果晨光文具這個品牌的商品不存在線上銷售方式,那么在文具行業(yè)中它會丟失很大的市場,如今人們都是在奮力努力加快自己前進的步伐來追趕社會的發(fā)展速度,稍不留意就會被這個競爭激烈的時代所淘汰,所以在網(wǎng)購時代的大背景下,很少有人會花時間一家家的挑選比較來購買文具,這時候晨光文具線上銷售也就是晨光文具網(wǎng)上商城就顯得尤其必要,不僅是在同行業(yè)其他品牌的激烈“競走比賽”中沒有掉隊而丟掉市場,更方便豐富了人們的購物選擇,可以實現(xiàn)便捷高效的辦公學(xué)習(xí)生活。綜合以上分析,采用本設(shè)計是抓住晨光文具線上市場、增加品牌影響力和利潤、使企業(yè)順應(yīng)現(xiàn)代經(jīng)濟發(fā)展節(jié)奏、方便人們生活的捷徑。2.2模塊需求分析2.2.1商城用戶用戶信息中包含2個模塊,分別是用戶注冊,用戶登錄。用戶可在首頁免費注冊,在注冊時需要填寫相關(guān)資料以完成注冊。用戶可憑借注冊時填寫的用戶名和密碼等信息登錄商城。2.2.2商品檢索商品檢索中包含3個模塊,分別是商品分類查詢,商品推送顯示和商品詳情顯示。商品分類查詢是用戶可在商城首頁根據(jù)分類選擇想要購買的商品并查看商品相關(guān)信息。商品推送顯示是在首頁顯示最熱門和最新的商品的簡單信息。商品詳情顯示是進入到單個商品信息顯示頁面中,會顯示商品的價格、參數(shù)等詳細信息。2.2.3商城管理員商城管理員的操作中包含3個模塊,分別是訂單管理,商品管理和用戶管理。商城管理員在登錄商城管理系統(tǒng)后可管理用戶的訂單。商城管理員在登錄商城管理系統(tǒng)后可管理已上架商品信息和分類信息。商城管理員在登錄商城管理系統(tǒng)后可管理商城已注冊的用戶信息。2.2.4商城購物商城購物包含2個模塊,分別是用戶購物車管理和訂單查看。商城已注冊登錄用戶可管理自己的購物車。商城已注冊登錄用戶可查看自己的訂單。3項目開發(fā)的技術(shù)準備相關(guān)軟硬件技術(shù)支持:計算機配置:華碩CPU:Intel四核2940內(nèi)存:4GB硬盤500GB操作系統(tǒng):Windows1064位開發(fā)環(huán)境:MyEclipse10開發(fā)語言:JAVA數(shù)據(jù)庫:MySQLJavaWeb介紹Java語言本身就是一種高級計算機語言,它是由SUN公司(已被Oracle公司收購)于1995年5月推出的一種可以編寫跨平臺應(yīng)用軟件、完全面向?qū)ο蟮某绦蛟O(shè)計語言。自問世以來,與之相關(guān)的技術(shù)和應(yīng)用發(fā)展得非???。在計算機、移動電話、家用電器等領(lǐng)域中,Java技術(shù)無處不在。SUN公司將Java劃分為三個技術(shù)平臺,它們分別是JavaSE(JavaPlatformStandardEdition)、JavaEE(JavaPlatformEnterpriseEdition)、JavaME(JavaPlatformMicroEdition)。Web是萬維網(wǎng)(WorldWideWeb)的簡稱,Web技術(shù)誕生于歐洲原子能研究中心(CERN)。1989年3月,CERN的物理學(xué)家TimBerners-Lee提出了一個新的因特網(wǎng)應(yīng)用,命名為Web,其目的是讓全世界的科學(xué)家能利用因特網(wǎng)交換文檔。同年,他編寫了第一個瀏覽器與服務(wù)器軟件。1991年,CERN正式發(fā)布了Web技術(shù)。更多的人開始了解計算機網(wǎng)絡(luò)是因為Web(萬維網(wǎng))的出現(xiàn),通過Web使用網(wǎng)絡(luò),享受網(wǎng)絡(luò)帶來的便利。Web對用戶和用戶的機器要求都很低,用戶機器只要安裝瀏覽器軟件就可以訪問Web,而用戶只要了解瀏覽器的簡單操作就可以在Web上查找信息、交換電子郵件、聊天等。現(xiàn)在,涉及到人們?nèi)粘I畹母鱾€方面的大量信息與服務(wù)都是由Web提供,很多人已經(jīng)越來越離不開Web了。MySQL介紹數(shù)據(jù)庫是指長期保存在計算機的存儲設(shè)備上,按照一定規(guī)則組織起來的數(shù)據(jù)集合,可以實現(xiàn)各種用戶或應(yīng)用之間的共享。數(shù)據(jù)庫管理系統(tǒng)指一種操作和管理數(shù)據(jù)庫的大型軟件,用于建立、使用和維護數(shù)據(jù)庫,對數(shù)據(jù)庫進行統(tǒng)一管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。1985年,三個瑞典人DavidAxmark、AllanLarsson和MichaelWidenius成立了一家公司,這就是MySQLAB的前身,這個公司最初并不是為了開發(fā)數(shù)據(jù)庫產(chǎn)品,而是在實現(xiàn)想法的過程中需要一個數(shù)據(jù)庫并希望能夠使用開源的產(chǎn)品。但在當時并沒有一個合適的選擇。因此自己設(shè)計了一個利用索引順序存取數(shù)據(jù)的方法,也就是ISAM(IndexedSequentialAccessMethod)存儲引擎核心算法的前身。此軟件以創(chuàng)始人之一MichaelWidenius女兒My的名字命名。MySQL的Logo為海豚標志,代表速度、動力、精確等MySQL所擁有的特性。隨著該數(shù)據(jù)庫的功能不斷完善、性能的不斷提高,可靠性也不斷增強。2005年10月,發(fā)布了里程碑的一個版本,MySQL5.0,在5.0中加入了游標、存儲過程、觸發(fā)器、視圖、事務(wù)的支持。在5.0之后的版本里,MySQL明確的表現(xiàn)出邁向高性能數(shù)據(jù)庫的發(fā)展步伐。MySQL公司與2008年1月16號被SUN公司收購,而在2009年Oracle公司又收購了SUN公司。MySQL的發(fā)展前途一片光明。MySQL是關(guān)系型數(shù)據(jù)庫系統(tǒng),支持標準的結(jié)構(gòu)化查詢語言,同時MySQL為客戶端提供了不同的程序接口和鏈接庫。MySQL是一款免費開源、小型的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),具有免費使用、配置簡單、穩(wěn)定性好、性能優(yōu)良的特點。許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇MySQL作為網(wǎng)站數(shù)據(jù)庫。3.3相關(guān)技術(shù)介紹3.3.1商城設(shè)計環(huán)境相關(guān)介紹商城設(shè)計在MyEclipse10的平臺上,使用JDK和Tomcat完成,JDK我用的是1.7的版本,Tomcat用的是版本7。所有的Java應(yīng)用程序都要以JDK作為前提,以它作為程序的基石。Tomcat服務(wù)器也是商城必不可少的配置,安裝并且啟動Tomcat服務(wù)器,我們的程序才得以正確運行并在瀏覽器上顯示相關(guān)的頁面。3.3.2JavaWeb主要框架介紹JavaWeb編程技術(shù)中主要包含的框架有Hibernate框架、Struts2框架等等。Hibernate是一個開放源代碼的對象關(guān)系映射框架,Hibernate的第一個版本于2001年年底發(fā)布,2003年6月發(fā)布了Hibernate2,2005年3月,Hibernate3正式發(fā)布。Hibernate官方網(wǎng)站的網(wǎng)址為http://www.H/,從這個網(wǎng)站可以獲得所有Hibernate發(fā)行包和Hibernate的詳細信息。Hibernate軟件包包括HibernateCore、HibernateShards、HibernateSearch、HibernateTools、HibernateMetamodelGenerator等,其中HibernateCore軟件包包含Hibernate所有核心功能。在JavaWeb應(yīng)用程序中要添加Hibernate的支持,需要將有關(guān)的庫文件復(fù)制到WEB-INF/lib目錄中,如果只需要Hibernate基本支持,應(yīng)將Hibernate軟件包解壓目錄的lib/requried目錄中的JAR文件復(fù)制到WEB-INF/lib目錄中,運行Hibernate應(yīng)用程序可能還需要其他庫文件,如數(shù)據(jù)庫驅(qū)動程序庫,應(yīng)將這些庫也添加到WEB-INF/lib目錄中。Struts2框架實現(xiàn)了MVC設(shè)計模式。其中,模型(Model)層的工作由JavaBean完成,視圖(View)層的工作由JSP完成,包含頁面設(shè)計代碼用來與用戶交互,控制器(Controller)層的工作由Servlet完成,用來控制程序之間的相互調(diào)用。Struts2主要包括控制器、Action對象、視圖JSP頁面和配置文件等。以上所有是Struts2成為構(gòu)建JavaWeb應(yīng)用的基本框架。ApacheStruts是用于開發(fā)JavaWeb應(yīng)用程序的開源框架。最早由CraigR.McClanahan開發(fā),2002年有Apache軟件基金會接管。Struts提供了Web應(yīng)用開發(fā)的優(yōu)秀框架,是世界上應(yīng)用最廣泛的MVC框架。然而,隨著Web應(yīng)用開發(fā)的需求日益增長,Struts已不能滿足需要,修改Struts框架已成為必要。因此,ApacheStruts小組和另一個JavaEE框架WebWork聯(lián)手共同開發(fā)了一個更高級的框架Struts2。Struts2結(jié)合了Struts和WebWork的共同優(yōu)點,對開發(fā)者更友好,具有支持AJAX、快速開發(fā)和可擴展等特性。它已成為構(gòu)建、部署和維護動態(tài)的、可擴展的Web應(yīng)用框架。Struts2并不是Struts的簡單升級,可以說Struts2是一個既新又不新的MVC框架。相對于Struts而言,Struts2從設(shè)計思想到框架結(jié)構(gòu)和Struts的區(qū)別非常大,然而它是在WebWork的基礎(chǔ)上轉(zhuǎn)化而來,并不是一個完全新開發(fā)的MVC框架。3.3.3Servlet、JSP和EL服務(wù)器端小程序(Servlet),它是一種Java程序,使用ServletAPI及相關(guān)類編寫,使用它可以使得Web服務(wù)器的功能更加豐富。JSP(JavaServerPages)是一種動態(tài)頁面技術(shù),它的主要目的是將表示邏輯從Servlet中分離出來,在JSP中可以通過靜態(tài)包含和動態(tài)包含實現(xiàn)代碼重用。表達式語言(ExpressionLanguage,EL)是JSP2.0新增加的特性,它是一種可以在JSP頁面中使用的數(shù)據(jù)訪問語言,可以自然地輸出JavaBean中的相關(guān)屬性信息。它的語法是以美元$符號開始,再加上{}這樣兩個括號,代碼位于括號中間,例如在本商城之中取出商品名稱:${p.pname}。用EL輸出null值的時候,程序也不會拋出空指針異常,作為一種數(shù)據(jù)訪問語言,EL有自己的運算符、語法和保留字。EL并不是一種通用的編程語言,它只是一種數(shù)據(jù)訪問語言。它很簡單,也不需要附加了解其他語言知識,甚至不用學(xué)習(xí)Java語言就可以使用表達式語言。4總體設(shè)計4.1方案設(shè)計晨光文具網(wǎng)上商城是一個有關(guān)于晨光文具的線上交易網(wǎng)站,可用于網(wǎng)上商城的商品顯示用戶的注冊、登錄、購物,是面向所有商城用戶的一個線上文具商城。開始設(shè)計這個網(wǎng)上商城之前,我參考了晨光文具在淘寶京東的大型線上購物平臺上的官方旗艦店,瀏覽了它的頁面設(shè)計與商品顯示等相關(guān)信息,在圖書館也查閱了有關(guān)JavaWeb程序設(shè)計的大量案例資料,做了合理的需求分析和可行性分析,構(gòu)建出了商城的基本骨架。其基本工作主要是基于晨光文具的一個線上商城,商城用戶可以在此進行選購晨光品牌商品。需求分析是軟件開發(fā)過程中的一個關(guān)鍵性的環(huán)節(jié),它的成功與否決定著軟件產(chǎn)品的質(zhì)量。本次畢業(yè)設(shè)計的晨光文具網(wǎng)上商城所需實現(xiàn)的內(nèi)容如下:用戶操作流程模型:其主要內(nèi)容包括用戶注冊,登錄,查看商品信息,加入購物車,結(jié)算,訂單查詢等過程。其流程模型具體如下圖所示:用戶操作流程模型:注冊——>登錄——>加入購物車——>提交訂單——>結(jié)算——>退出用戶訂單結(jié)算流程:查看購物車——>確認購物車——>生成訂單——>去付款——>退出商城后臺管理員管理:管理員在登錄商城后臺管理系統(tǒng)后,可以對商城已上架商品、商品分類、商城已注冊用戶、用戶訂單進行相關(guān)管理操作。4.2商城相關(guān)功能模塊總體設(shè)計根據(jù)商城功能分析,晨光文具網(wǎng)上商城可以分為兩大模塊:商城前臺用戶功能模塊和商城后臺管理員功能模塊,這兩個模塊下都有若干個子模塊,用來分別實現(xiàn)用戶功能和管理員的功能,如圖4-1所示是整個系統(tǒng)的功能總體設(shè)計圖。圖4-1功能總體設(shè)計圖4.3商城數(shù)據(jù)庫設(shè)計商城實體包括用戶、商品、訂單、分類、管理員。數(shù)據(jù)庫分為商城已注冊的用戶表(user)、用戶的訂單表(orders)、訂單詳情的信息表(orderitem)、商品的全部分類表(category)、商品的詳情信息表(product)、管理員信息表(admin)。4.3.1數(shù)據(jù)庫的邏輯設(shè)計(1)用戶表(user)設(shè)計用戶表包含用戶編號(主鍵非空)、用戶名稱、用戶密碼等用戶信息,在商城的注冊登錄還有管理員后臺管理用戶等操作中都需要對數(shù)據(jù)庫中的用戶表進行操作,使用或更新表中的相關(guān)信息。如表4-1所示是用戶表的表結(jié)構(gòu):表4-1用戶表(user)序號英文名中文名類型是否為主鍵允許為空1uid用戶編號Varchar(32)是否2username用戶名稱varchar(20)否否3password用戶密碼varchar(20)否否4name真實姓名varchar(20)否否5email用戶郵箱varchar(20)否否6telephone用戶電話varchar(20)否否7birthday出生日期date否是8sex用戶性別varchar(10)否是9state激活狀態(tài)int否是10code激活碼varchar(64)否是訂單信息表(orderitem)設(shè)計訂單信息表包含了外鍵oid和pid,在商城的顯示訂單詳情操作中需要對數(shù)據(jù)庫中的訂單信息表進行操作,使用或更新訂單信息表中的相關(guān)信息。如表4-2所示是訂單信息表的表結(jié)構(gòu):表4-2訂單信息表(orderitem)序號英文名中文名類型是否為主鍵允許為空1itemid編號varchar(32)是否2count購買數(shù)量int否是3subtotal小計double否是4pid商品idvarchar(32)否是5oid訂單idvarchar(32)否是訂單表(orders)設(shè)計訂單表包含訂單編號(主鍵非空)、訂單時間、訂單金額等訂單信息,在商城的查看訂單還有管理員后臺管理訂單等操作中都需要對數(shù)據(jù)庫中的訂單表進行操作,使用或更新表中的相關(guān)信息,表中的外鍵uid引用用戶表,表示商城用戶和用戶訂單是一對多的關(guān)系,一個用戶可以有多個訂單,如表4-3所示是訂單表的表結(jié)構(gòu):表4-3訂單表(orders)序號英文名中文名類型是否為主鍵允許為空1oid訂單編號varchar(32)是否2ordertime訂單時間datetime否是3total訂單金額double否是4state訂單狀態(tài)int否是5address收貨地址varchar(30)否是6name訂單名稱varchar(20)否是7telephone聯(lián)系電話varchar(20)否是8uid用戶編號varchar(32)否是商品分類表(category)設(shè)計商品分類表包含類別編號(主鍵非空)、類別名稱,在商城用戶按分類查看商品詳情還有管理員后臺管理商品分類等操作中都需要對數(shù)據(jù)庫中的商品分類表進行操作,使用或更新表中的相關(guān)信息。商品分類和商品是一對多的關(guān)系,一個分類可以包含多個商品。如表4-4所示是商品分類表的表結(jié)構(gòu):表4-4商品分類表(category)序號英文名中文名類型是否為主鍵允許為空1cid類別編號varchar(32)是否2cname類別名稱varchar(20)否否管理員表(admin)設(shè)計管理員負責(zé)后臺相關(guān)功能,和前臺用戶操作不相關(guān)聯(lián)。如表4-5所示是管理員表的表結(jié)構(gòu):表4-5管理員表(admin)序號英文名中文名類型是否為主鍵允許為空1adminid管理員編號char(32)是否2adminname管理員名稱varchar(50)否否3adminpwd管理員密碼varchar(50)否否商品信息表(product)設(shè)計商品信息表包含商品編號(主鍵非空)、商品名稱等商品信息,在商城用戶查看商品詳情、首頁顯示熱門商品和最新商品還有管理員后臺管理商品等操作中都需要對數(shù)據(jù)庫中的商品信息表進行操作,使用或更新表中的相關(guān)信息。外鍵c_id引用分類表。如表4-6所示是商品信息表的表結(jié)構(gòu):表4-6商品信息表(product)序號英文名中文名類型是否為主鍵允許為空1pid商品編號varchar(32)是否2pname商品名稱varchar(32)否否3market_price市場價格varchar(50)否是4shop_price商城價格double否否5pimage商品圖片varchar(200)否是6pdate商品日期date否是7is_hot熱門商品int否是8pdesc商品描述varchar(255)否是9pflag上架商品int否是10cid類別編號varchar(32)否是E-R模型圖對于網(wǎng)上商城而言,允許多個用戶同時登錄,用戶也可以查看或購買多個商品,也可以有多個訂單,但每個用戶只有一個購物車,購物車中可放有多個商品,管理員可以管理多件商品和多個訂單以及多個用戶。如圖4-2是商城概念模型的總E-R圖:用戶用戶登錄商城商品購物車訂單查詢查看查看管理員管理管理商城nnnnnn11111111圖4-2晨光文具網(wǎng)上商城總E-R圖4.3.3各個分E-R圖商品商品編號類別商城價格描述圖片市場價格······圖4-3商城商品E-R圖用戶用戶用戶名密碼地址郵箱性別電話圖4-4商城用戶E-R圖訂單訂單訂單編號用戶名收貨地址練習(xí)電話訂單小計訂單數(shù)量訂單狀態(tài)用戶編號圖4-5用戶訂單E-R圖購物車購物車商品名稱市場價格商城價格商品數(shù)量圖4-6用戶購物車E-R圖管理員管理員密碼名稱編號圖4-7后臺管理員E-R圖詳細設(shè)計5.1用戶注冊界面設(shè)計用戶注冊:非商城注冊用戶首次進入商城只能瀏覽商品,需要注冊后才能登錄到網(wǎng)上商城進行購買商品操作。在注冊時要填入自己的相關(guān)信息,填寫用戶名、密碼、郵箱和電話等相關(guān)信息。系統(tǒng)在通過驗證填寫的系列信息正確后提示用戶注冊成功去激活,否則會提示填寫信息有誤,注冊失敗,重新注冊!用戶在注冊時需要填入如用戶名、密碼、郵箱、電話等信息,這些信息由用戶在前臺界面輸入,在UserServlet類中編寫注冊方法,使用工具類BeanUtils中的populate()方法將所有信息封裝到user對象中,調(diào)用service層的注冊方法完成注冊操作,該方法會將用戶填寫的注冊信息保存到數(shù)據(jù)庫中,并且發(fā)送激活郵件給用戶郵箱。注冊界面如圖5-1所示。圖5-1用戶注冊界面5.2用戶登錄界面設(shè)計用戶登錄時要驗證用戶名、密碼等驗證信息是否正確還有用戶的激活狀態(tài),只有在信息正確并且處于激活狀態(tài)時才可以成功登錄。登錄成功之后,若勾選了記住用戶名,下一次再登錄的時候,會展示出來用戶名,實現(xiàn)時要修改登錄方法的邏輯,登錄成功之后,判斷是否勾選了記住用戶名,若勾選了,將用戶名保存到cookie中,這個時候還要將用戶名進行編碼,避免中文亂碼,最后在登錄界面加載成功的時候需要從cookie中獲取用戶名且展示出來。該模塊的主要作用是為用戶提供注冊和登錄網(wǎng)上商城的身份,并判斷用戶名和密碼是否完全吻合。用戶登錄后可以瀏覽商品并將商品加入購物車,在購物車中增加或刪除商品,查看自己的訂單信息。管理員是后臺管理者,不參與商城前臺用戶的操作環(huán)節(jié),因此管理員的登錄界面和用戶的登錄是完全分開的,這樣方便管理,也避免了因后臺數(shù)據(jù)泄露導(dǎo)致的一系列安全問題給商城和用戶帶來經(jīng)濟損失,給商城和用戶更好的安全保障。商城用戶登錄界面如圖5-2所示。圖5-2商城用戶登錄界面如圖5-3是商城用戶的登錄流程圖:提示用戶先行激活!提示用戶先行激活!用戶登錄該用戶是否激活登錄成功!信息驗證YY提示用戶名或密碼出錯!NN圖5-3商城用戶登錄流程圖5.3商城首頁設(shè)計在商城首頁中用戶可以根據(jù)首頁顯示的熱門商品和最新商品的推送或者是按商品分類來挑選商品,并加入購物車,生成訂單進行結(jié)算。首頁中商品的圖片及文字是網(wǎng)頁的超鏈接,用戶可以通過點擊查看商品的參數(shù)介紹,查看商品詳情考慮是否購買此商品。熱門商品和最新商品是根據(jù)數(shù)據(jù)庫中商品表中的熱門和新品字段的設(shè)置來從數(shù)據(jù)庫中推送顯示,前臺頁面使用EL表達式取出所需的商品表中的商品信息。首頁中導(dǎo)航欄主要用來顯示商品分類、用戶的注冊、登錄以及登錄成功后查看購物車和訂單的鏈接模塊,操作頁面統(tǒng)一友好,具有良好的用戶體驗。在首頁的顯示中,還加入了輪番圖動態(tài)顯示,增加商城的設(shè)計美感也宣傳了晨光品牌,主要運用了div+css頁面布局技術(shù),將內(nèi)容更加美觀地展示出來,后臺還需要把其他頁面與首頁顯示的功能鏈接結(jié)合到一起已完成整套的功能操作。圖5-4首頁輪播圖界面圖5-5首頁熱門商品界面圖5-6首頁最新商品界面5.4商品詳情界面設(shè)計用戶在成功登錄到網(wǎng)上商城后,可以點擊熱門或最新商品來查看商品信息,也可以通過分類來查看,商品的圖片和下方的名稱都是通往商品詳情的鏈接,點擊均可以查看商品詳情,在ProductServlet中的getById方法獲取商品的pid,調(diào)用Service中的方法獲取商品并返回,Service層中會調(diào)用Dao層中的方法實現(xiàn)。商品都是分頁展示,在ProductServlet中編寫findByPage方法獲取pagenumber、cid、pagesize,調(diào)用服務(wù)層中的方法獲取分頁數(shù)據(jù)并返回,服務(wù)層中的方法會再去調(diào)用Dao層中的方法去實現(xiàn),這樣子的分頁顯示會使得頁面更加簡潔友好。商品詳情包括商品的名稱、編號、價格、介紹等信息,使得用戶對商品有一個更好的了解,方便用戶選購商品,在此頁面上還有加入購物車的操作,連接購物車頁面。有關(guān)商品的方法都封裝在ProductServlet類之中。圖5-7商品詳情界面5.5購物車界面設(shè)計用戶如果點擊加入購物車,就可以查看自己加入的商品,購物車詳情中包含商品名稱、價格、加購數(shù)量、錢款小計等相關(guān)信息,如果用戶心意有變還可以在購物車中進行添加商品、移除商品、清空購物車商品、提交訂單等的操作。添加、移除等的操作都封裝在CartServlet類中。點擊加入購物車向CartServlet發(fā)出請求,在CartServlet中編寫添加方法,通過pid獲取商品,通過session獲取購物車對象,封裝CartItem加入購物車,再調(diào)用添加方法。清空和移除操作都是在CartServlet中編寫相應(yīng)方法,獲取封裝相應(yīng)對象,再結(jié)合服務(wù)層、Dao層中的方法執(zhí)行相關(guān)操作。如果用戶在沒有向購物車中添加商品的情況下查看自己的購物車詳情或執(zhí)行移除、清空操作,則會提示用戶購物車中空空如也,先去商城逛逛,選擇商品加入購物車。圖5-8購物車顯示界面5.6訂單顯示界面設(shè)計訂單顯示界面顯示用戶提交到訂單中的商品,并可查看訂單的狀態(tài)。訂單顯示包括用戶提交的訂單的編號還有商品的相關(guān)信息,點擊去付款就可以到付款界面,填寫收貨的相關(guān)信息就可以下單了。有關(guān)訂單的操作方法都封裝在OrderServlet類之中。在OrderServlet類中編寫保存方法,封裝訂單對象,調(diào)用服務(wù)層(Service)中的方法,服務(wù)層(Service)中的方法會去調(diào)用Dao層中的相應(yīng)方法,執(zhí)行生成訂單操作。訂單顯示也是分頁顯示,Dao層中的方法將查詢到的結(jié)果封裝成map將查詢結(jié)果的每一條記錄封裝成map,將所有的map放入list中返回,遍歷map的list,獲取每一個訂單的詳情,使用beanutils進行封裝即可,再去封裝orderitem和product對象,最后將orderitem對象放入訂單項列表中,獲取訂單詳情操作和此處類似,不再贅述。付款時在訂單詳情頁面上寫收貨人信息,選擇支付銀行,點擊"確認訂單",向商城發(fā)送請求。在Orderservlet中編寫支付方法,接受收貨人信息、訂單號調(diào)用Service獲取訂單,設(shè)置收貨人信息再更新訂單。支付成功之后,訂單狀態(tài)會相應(yīng)改變。在OrderServlet類中編寫callback方法獲取第三方發(fā)送過來的數(shù)據(jù)(order_id),通過id獲取訂單,修改訂單的狀態(tài),更新訂單狀態(tài)。圖5-9訂單顯示界面圖5-10填寫收貨信息界面圖5-11訂單付款界面5.7管理員登錄界面設(shè)計管理員功能操作和用戶功能操作是分開進行的,用戶的登錄在前臺,管理員的登錄則在后臺。但是方法都是封裝在UserServlet之中的。管理員輸入用戶名和密碼后,點擊登錄按鈕時,表單會向UserServlet類發(fā)出請求,在UserServlet類中調(diào)用管理員登錄方法完成登錄,在這個方法中會對管理員填入的信息進行驗證,并在數(shù)據(jù)庫中的admin表中查找匹配的管理員。如果沒有通過驗證則返回錯誤提示信息,然后返回后臺管理登錄界面。如圖5-12為管理員登陸界面:圖5-12管理員登錄界面5.8管理員后臺管理總體界面設(shè)計管理員在后臺可以對已注冊的商城用戶、商品、商品分類、用戶訂單進行管理。管理員的這些操作通過dao層中的對應(yīng)方法訪問數(shù)據(jù)庫,通過相關(guān)語句將數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容查詢出來并顯示到頁面中。在后臺主頁面的編寫中使用了dtree的方法,在左側(cè)的樹上上添加一個連接"分類列表",點擊分類列表將所有的分類展示在右邊的主頁面上。圖5-13商城管理系統(tǒng)首頁界面5.9管理員管理分類信息界面設(shè)計后臺管理員在管理分類時可以查看分類、添加分類、編輯修改分類、刪除分類,這些相關(guān)操作方法都封裝在AdminCategoryServlet類之中。在left.jsp上添加一個連接父節(jié)點"分類管理",在分類管理下面添加一個子節(jié)點"分類列表",在AdminCategoryServlet類中編寫findAll方法調(diào)用service查詢所有分類,返回一個list,并請求轉(zhuǎn)發(fā)置分類顯示頁面。添加分類時發(fā)送給AdminCategoryServlet一個請求,在該類中編寫save方法獲取cname,設(shè)置cid封裝category對象,調(diào)用服務(wù)層(Service)中的方法完成添加操作,服務(wù)層(Service)中的方法會去調(diào)用Dao中的實現(xiàn)方法保存,在重定向到分類列表頁面顯示。圖5-14查看所有分類界面圖5-15添加分類界面圖5-16編輯修改分類界面5.10管理員管理用戶界面設(shè)計后臺管理員可以查看在商城的已注冊用戶,包括用戶的性別、用戶名、密碼、郵箱、激活狀態(tài)等相關(guān)信息,還可以編輯修改用戶信息、刪除用戶。具體操作與后臺分類管理大同小異,此處不在贅述。圖5-17管理員管理用戶界面圖5-18管理員編輯修改用戶界面5.11管理員管理商品界面設(shè)計后臺管理員可以在管理商品時可以查看已上架商品、添加商品,編輯修改商品信息、刪除商品,添加商品的操作方法封裝在AddServlet類之中,查看已上架商品、編輯修改商品信息、刪除商品的一系列操作方法封裝在AdminProductServlet類之中。具體操作與后臺分類管理大同小異,此處不在贅述。圖5-19為查看已上架商品功能截圖、圖5-20為添加商品功能截圖、圖5-21為編輯修改某一上架商品信息功能截圖:圖5-19管理員查看已上架商品信息界面圖5-20管理員添加商品界面圖5-21管理員編輯修改商品信息界面5.12管理員管理訂單界面設(shè)計后臺管理員在管理訂單時可以查看所有訂單和訂單詳情,并且刪除訂單,這些相關(guān)操作方法都封裝在AdminOrderServlet類之中。如圖5-22是管理員查看訂單界面:圖5-22查看訂單界面6系統(tǒng)相關(guān)功能的測試及調(diào)試 到商城設(shè)計的后期,基本的功能都已經(jīng)實現(xiàn),但是在完善的過程中還是需要很多的代碼調(diào)試和功能測試,只有在一步步的調(diào)試和測試的過程中理想的功能操作和頁面才慢慢顯示出來。這樣也能夠更好的確保軟件的質(zhì)量,及時更改系統(tǒng)錯誤,提高商城的穩(wěn)定性,使其功能更加完善。6.1用戶注冊功能測試表6-1商城用戶注冊模塊測試用例字段名稱描述標識符C1測試項商城主頁中的注冊鏈接,用戶注冊的功能測試輸入標準1.打開商城主頁,點擊相應(yīng)的注冊鏈接。2.輸入一些正確的用戶名、密碼、郵箱等注冊信息,點擊“注冊”。4.漏輸入用戶名或密碼、郵箱等信息,點擊“注冊”。輸出標準1.模塊未做任何操作,單擊商城其他鏈接,能夠正常跳轉(zhuǎn),無提示信息。2.在輸入正確的用戶名、密碼、郵箱等注冊信息時,能夠成功注冊,提示去激活。3.在輸入非法登錄信息或者漏填信息時,顯示注冊失敗。測試目標:用戶注冊功能實現(xiàn);測試環(huán)境:MyEclipse中借助Tomcat服務(wù)器運行商城項目,通過瀏覽器顯示結(jié)果;輸入數(shù)據(jù):用戶填寫用戶名、密碼、郵箱、真實姓名等相關(guān)信息;測試步驟:在MyEclipse中打開Tomcat服務(wù)器并在此條件下運行商城項目,在瀏覽器上出現(xiàn)注冊界面,用戶在此界面上填寫注冊所需相關(guān)信息后點擊注冊按鈕;預(yù)期結(jié)果:顯示出注冊成功去激活的信息界面以提示注冊用戶去激活。表6-2用戶注冊模塊測試結(jié)果標識符C1測試結(jié)果激活不成功與預(yù)期的偏差正常應(yīng)該點擊激活郵件中的鏈接成功激活說明的問題用戶注冊模塊未通過功能測試,還需繼續(xù)調(diào)試如圖6-1、圖6-2為用戶注冊功能測試截圖:圖6-1用戶注冊提示激活測試圖6-2用戶激活測試6.2用戶登錄功能測試表6-3商城用戶登錄模塊測試用例字段名稱描述標識符C2測試項商城主頁中的登錄鏈接,用戶登錄的功能測試輸入標準1.打開商城主頁,點擊相應(yīng)的登錄鏈接。2.輸入一些正確的用戶名、密碼等信息,點擊“登錄”。3.輸入一些非法的用戶名、密碼等信息,點擊“登錄”。4.漏輸入用戶名或密碼等信息,點擊“登錄”。5.用戶在未激活狀態(tài)下,輸入正確登錄信息,點擊“登錄”。輸出標準1.模塊未做任何操作,單擊商城其他鏈接,能夠正常跳轉(zhuǎn),無提示信息。2.在輸入正確的用戶名、密碼等登錄信息時,能夠正常登錄,無提示信息。3.在輸入非法登錄信息或者漏填信息時,顯示登錄失敗,提示用戶名與密碼不匹配。4.在未激活狀態(tài)下,用戶輸入正確登錄信息登錄,提示先激活再登錄。在用戶登錄頁面中用戶輸入用戶名和密碼等相關(guān)信息后,點擊登錄,通過在數(shù)據(jù)庫中的查詢,會先驗證信息的正確性和用戶的激活狀態(tài),只有驗證正確且已經(jīng)激活后才可以成功登錄,進入商城首頁。輸入錯誤的用戶名或者密碼會彈出用戶名密碼不匹配的錯誤提示。具體測試環(huán)境、測試步驟等相關(guān)操作和用戶注冊類似,此處不再贅述。表6-4用戶登錄模塊測試結(jié)果標識符C2測試結(jié)果記住用戶名時用戶名顯示亂碼與預(yù)期的偏差正常應(yīng)該正確顯示用戶名說明的問題登錄模塊未通過功能測試,還需繼續(xù)調(diào)試如圖6-3、圖6-4為用戶登錄信息驗證測試截圖:圖6-3用戶登錄信息驗證測試圖6-4用戶登錄激活狀態(tài)驗證測試6.3首頁熱門商品與最新商品顯示功能測試表6-5商城首頁顯示熱門商品與最新商品模塊測試用例字段名稱描述標識符C3測試項商城首頁顯示熱門商品與最新商品的功能測試輸入標準打開商城首頁,下方能看見最新商品和熱門商品的信息顯示。輸出標準能夠正確顯示熱門商品和最新商品,與數(shù)據(jù)庫中的商品設(shè)置相匹配。表6-6商城首頁顯示熱門商品與最新商品模塊測試結(jié)果標識符C3測試結(jié)果正常操作無任何異常處理出現(xiàn)與預(yù)期的偏差無說明的問題商城首頁顯示熱門商品與最新商品模塊通過了功能測試如圖6-5、圖6-6分別是首頁顯示熱門商品、最新商品功能測試的截圖:圖6-5首頁熱門商品顯示圖6-6首頁最新商品顯示6.4訂單相關(guān)功能測試表6-7商城前臺訂單模塊測試用例字段名稱描述標識符C4測試項商城前臺訂單的查看與付款功能測試輸入標準打開商城首頁,點擊“我的訂單”鏈接。輸出標準用戶未登錄時,提示用戶先登錄用戶登錄后,點擊“我的訂單”,顯示訂單相關(guān)信息。用戶登錄后,進入“我的訂單”,點擊“去付款”,進入付款頁面。表6-8商城前臺訂單模塊測試結(jié)果標識符C4測試結(jié)果正常操作無任何異常處理出現(xiàn)與預(yù)期的偏差無說明的問題商城前臺訂單模塊通過了功能測試如圖6-8為成功查看訂單界面截圖、圖6-9為訂單付款界面截圖:圖6-7檢查權(quán)限界面圖6-8訂單顯示界面圖6-9訂單付款界面6.5購物車相關(guān)功能測試表6-9商城前臺購物車模塊測試用例字段名稱描述標識符C5測試項商城前臺購物車查看、添加、移除、清空相關(guān)操作功能測試輸入標準1.打開商城首頁,點擊“購物車”鏈接。2.未登錄狀態(tài)點擊“購物車”。3.登錄后點擊“購物車”,顯示購物車。4.登錄后將商品添加進入,再點擊“購物車”,顯示購物車。5.登錄后點擊“購物車”,顯示購物車,點擊其中某一項的“刪除”,顯示購物車6、登陸后點擊“購物車”,顯示購物車,點擊其中的“清空”,顯示購物車。輸出標準1.用戶未登錄時點擊“購物車”,提示用戶先登錄。2.用戶登錄后,點擊“購物車”,顯示用戶加入購物車中的商品相關(guān)信息。3.用戶登錄后,點擊“購物車”,點擊某一項進行刪除,顯示刪除后的購物車信息。4.用戶登錄后,將某一商品加入購物車,點擊“購物車”,顯示添加商品之后的購物車信息。5.用戶登錄后,進入購物車,點擊“清空”,顯示顯示購物車空空如也的顯示界面,提示去商城逛逛。對購物車的功能主要是查看購物車商品、添加商品進購物車、從購物車移除商品、清空購物車。主要測試這些功能是否正常。表6-10商城前臺購物車模塊測試結(jié)果標識符C5測試結(jié)果正常操作無任何異常處理出現(xiàn)與預(yù)期的偏差無說明的問題商城前臺購物車模塊通過了功能測試用戶未登錄時提示檢查權(quán)限先登錄圖6-10提示檢查權(quán)限先登錄向購物車中添加商品圖6-11向購物車中添加商品從購物車中移除商品圖6-12從購物車中移除商品清空購物車,購物車中無商品圖6-13清空購物車6.6后臺管理員登錄功能測試表6-11后臺管理員登錄模塊測試用例字段名稱描述標識符C6測試項管理員登錄模塊的功能測試輸入標準1.打開商城后臺,輸入一些正確的用戶名、密碼等信息,點擊“登錄”。2.打開商城后臺,輸入一些非法的用戶名、密碼等信息,點擊“登錄”。3.漏輸入用戶名或密碼等信息,點擊“登錄”。輸出標準1.在輸入正確的用戶名、密碼等登錄信息時,能夠正常登錄,無提示信息。2.在輸入非法登錄信息或者漏填信息時,顯示登錄失敗,提示用戶名與密碼不匹配。表6-12后臺管理員登錄模塊測試結(jié)果標識符C6測試結(jié)果正常操作無任何異常處理出現(xiàn)與預(yù)期的偏差無說明的問題管理員登錄模塊通過了功能測試如圖6-14為后臺管理員登錄模塊測試截圖:圖6-14
管理員登錄提示錯誤測試截圖遇到的問題及解決措施(1)記住用戶名時中文用戶名亂碼問題。這個問題是在測試過程中發(fā)現(xiàn)的,勾選記住用戶名之后再次登錄時用戶名那一欄沒有正確顯示用戶名,而是一串亂碼,后來查閱資料發(fā)現(xiàn)是沒有給它編碼的問題,在Cookie中進行中文編碼就解決了。(2)首頁展示熱門商品和最新商品是商品介紹字數(shù)控制問題。這個問題也是在測試過程中發(fā)現(xiàn)的,運行時發(fā)現(xiàn)商品介紹的字數(shù)太長影響了頁面布局,后面的字數(shù)會疊加到下一個商品上,顯得非常混亂也很不美觀,后面用了EL技術(shù)將字數(shù)控制在合適的范圍,這樣頁面就比較有條理,具體代碼:${fn:substring(p.pname,0,8)}(3)后臺添加分類是圖片添加初次成功,在運行項目不顯示問題。問題原因是我們的項目是在Tomcat中,第一次添加商品成功后圖片是正常顯示的,但是再次編譯項目時,Tomcat中的程序會被覆蓋,而我們從計算機上加入的商城圖片并不在Tomcat之中,所以之后商品圖片就會看不見。解決辦法是將商品圖片加入到Tomcat之中,就不會出現(xiàn)這種現(xiàn)象。(4)注冊時郵件中的激活鏈接問題。這個問題是由于我的電腦點不開那個鏈接,這個原因是由于我的電腦瀏覽器的某個尚不明確的配置導(dǎo)致,由于瀏覽器配置我目前還無法對它進行更改,所有在網(wǎng)上查閱資料尋找其他的解決辦法,最后發(fā)現(xiàn)復(fù)制激活鏈接再到瀏覽器中粘貼上就可以成功激活了。(5)訂單支付時銀行支付通道問題。支付時銀行的支付通道關(guān)閉,檢查后發(fā)現(xiàn)銀行的支付網(wǎng)站代碼錯誤,在相關(guān)文件中更改到支付通道為開發(fā)的銀行即可。后面又出現(xiàn)易寶支付的測試賬號凍結(jié)問題,解決辦法只能是自己注冊一個,但是易寶平臺只針對企業(yè)公司或者是商家來注冊,所以最后我未能注冊注冊成功,但是付款功能在實現(xiàn)的時候所填寫的收貨人的相關(guān)信息在后臺數(shù)據(jù)庫中都能夠成功寫入并更新,由于次商城只是我個人的設(shè)計,并沒有得到晨光公司的授權(quán),不可能真正實現(xiàn)收付款與發(fā)貨等操作,所以這也是從另一個角度顯示支付功能的實現(xiàn)。8總結(jié)本次畢業(yè)設(shè)計我的項目是晨光文具網(wǎng)上商城,社會需求是科學(xué)技術(shù)發(fā)展的最大動力,在社會可行性上,本商城可以讓人們很便利地在任何有網(wǎng)絡(luò)的地方進行晨光品牌的文具選購,給人們安全、便捷、放心的購物體驗,如今互聯(lián)網(wǎng)發(fā)展迅速,網(wǎng)購越來越成為一股潮流而融入到人們的生活中。晨光文具網(wǎng)上商城采用的是JavaWeb技術(shù),MySQL數(shù)據(jù)庫支持,JavaWeb的相關(guān)技術(shù)較成熟,MySQL數(shù)據(jù)庫庫也越來越靈活可靠,所以商城在技術(shù)方面是可行的。商城程序在瀏覽器上即可運行,且商城程序的安裝與運行并不會對計算機有任何影響,商城的操作界面美感友好,與現(xiàn)今絕大多的的網(wǎng)上商城沒有較大的操作方式上的差異,故本畢業(yè)設(shè)計有很強的操作可行性。但是由于未能得到晨光品牌的授權(quán),本系統(tǒng)只是完成了晨光文具在線上的展示與銷售流程,并不能真正的進行商品購買,客戶在瀏覽商品后真正想要購買時,可以注冊一個易寶賬戶進行付款,但是只能夠是測試,真正的購買得需要官方授權(quán)才能實現(xiàn),所以在這一方面上商城還需要進一步完善。時間過得真快,已經(jīng)到了畢業(yè)設(shè)計書寫畢業(yè)論文的收尾階段了,十幾周以來,我從開始的一籌莫展慢慢努力,如今也即將完成了自己的畢業(yè)設(shè)計了。通過這段時間的設(shè)計和學(xué)習(xí),我發(fā)現(xiàn)了自身的不足之處,學(xué)習(xí)能力也提高了很多。剛開始設(shè)計時只有一個構(gòu)想,開題報告什么的都不知道從哪方面去寫,動手進行商城的設(shè)計時我發(fā)現(xiàn)自己的知識儲備是如此的匱乏,對商城沒有一個整體的規(guī)劃,拿著電腦就懵頭懵腦的寫,導(dǎo)致在這個過程中出現(xiàn)了很多錯誤,不是頁面不是自己自己想象中的樣式,就是根本沒有實現(xiàn)設(shè)想中的功能,問題此起彼伏,往往是解決完這個那個又冒出來。所有后面我就在草稿紙上大概將我對商城功能和頁面設(shè)計的一些想法和要求都盡可能細致的列出來,從前臺到后臺一項一項的去完成,這樣子就有條理一些,自己心中也有個總體的規(guī)劃。在完成相關(guān)功能時,我遇見了很多問題也查閱了很多資料,不管是我的運行環(huán)境還是相關(guān)代碼都出現(xiàn)過錯誤。在我的商城項目做到一半的時候,不知道什么原因,我的Eclipse出現(xiàn)問題,有一個插件沒有正常結(jié)束它的生命周期,導(dǎo)致我的項目卡住,好幾天我都沒有找出解決辦法,這段時間我非常焦慮暴躁,后面在老師的建議下我改用MyEclipse來完成的。這個小插曲讓我明白不管遇見什么問題,首先自己不要慌張,先積極地去尋找解決辦法,實在沒找著解決辦法的時候就轉(zhuǎn)換一下自己的思維,不要自己將自己困住,靈活一點。在相關(guān)代碼方面,有很多細節(jié)問題我都是查閱資料來解決的,郵件激活問題、后臺添加商品問題、商品介紹問題等等,都是查閱資料找到的解決辦法,有可能找的資料自己看的時候并不是很懂其中的意思,所以我還會去找涉及到的相關(guān)技術(shù)的一些例子,通過范例來理解資料中的講解,很大程度上加快了我的編碼進度,還有在查閱資料時發(fā)現(xiàn)的一些良好的編碼方法或是編碼習(xí)慣,在排查錯誤和代碼條理上幫了我很多,我的學(xué)習(xí)能力大大提高。在完成某一項功能的編碼之后就會編譯一下測試功能是否正常,在這個階段我就發(fā)現(xiàn)了很多大大小小的錯誤或者說是不滿意,但是我還算是比較耐心的利用圖書館的資源或者是通過網(wǎng)絡(luò)來找尋解決辦法,一個一個的解決、調(diào)試。畢業(yè)設(shè)計是我大學(xué)四年以來幾乎是獨自完成的一個最為細致的項目設(shè)計,在這段時間中非常感謝我的老師和同學(xué)的幫助,我真的學(xué)習(xí)到了很多,不管是專業(yè)技術(shù)方面還是學(xué)習(xí)能力或者說是心態(tài)方面,我都獲益匪淺。長春工程學(xué)院畢業(yè)設(shè)計(論文)參考文獻[1]沈澤剛,秦玉平.JavaWeb編程技術(shù).北京:清華大學(xué)出版社,2014.[2].關(guān)東升,田登山.JSP網(wǎng)絡(luò)程序設(shè)計.北京:郵電大學(xué)出版社,2011.8[3].崔洋,賀亞茹.MySQL數(shù)據(jù)庫應(yīng)用從入門到精通.北京:中國鐵道出版社,2016.1[4]施瓦茨等.高性能MySQL(第3版)[M].北京:電子工業(yè)出版社,2013.5[5]沈澤剛,秦玉平.Java語言程序設(shè)計.北京:清華大學(xué)出版社,2010.9[6]王石磊.JavaWeb開發(fā)技術(shù)詳解.北京:清華大學(xué)出版社,2014.1[7]馬小軍,張玉祥.軟件工程基礎(chǔ)與應(yīng)用.北京:清華大學(xué)出版社,2017[8]孫宇霞等.Java編程從基礎(chǔ)到應(yīng)用.北京:清華大學(xué)出版社,2014[9]傅兵.軟件質(zhì)量和測試.北京:清華大學(xué)出版社,2017[10]王小科.JavaScript程序設(shè)計.北京:人民郵電出版社,2014.7.[11]陳恒編著.基于Eclipse平臺的JSP應(yīng)用教程[M].北京:清華大學(xué)出版,2015[12]劉鑫編著.JSP從零開始學(xué):視頻教學(xué)版[M].北京:清華大學(xué)出版社,2016[13]石志國,薛為民,董潔.JSP應(yīng)用教程.北京:清華大學(xué)出版社.北京交通大學(xué)出版社,2004[14]王英英,李小威編著.MySQL5.7從零開始學(xué).北京:清華大學(xué)出版社,2018[15]瘋狂軟件編著.Spring+MyBatis企業(yè)應(yīng)用實戰(zhàn).北京:電子工業(yè)出版社,2017.1[16]李俊山等編著.數(shù)據(jù)庫原理及應(yīng)用(SQLServer).北京:清華大學(xué)出版社,2017[17]王斐主編.JavaWeb開發(fā)基礎(chǔ)--從Servlet到JSP.北京:清華大學(xué)出版社,2014[18]QST青軟實訓(xùn)編著.JavaWeb技術(shù)及應(yīng)用.北京:清華大學(xué)出版社,2015致謝時光飛逝,我的大學(xué)生活伴隨著畢業(yè)設(shè)計也步入最后階段,回想起在長春工程學(xué)院的四年時光,有歡笑,有淚水,在學(xué)習(xí)上有過難題解決的喜悅,也有找不到解決辦法的焦急與沮喪,但是不管是哪一種情況,一路走來,我從來不是一個人。感謝長春工程學(xué)院,四年以來在學(xué)習(xí)環(huán)境和生活環(huán)境等各個方面給與我們學(xué)生最大的照顧,讓我就算是離家?guī)浊Ч镆材軌蚴孢m的在這里學(xué)習(xí),沒有學(xué)校的精心培育,我也不能順利的在這里學(xué)習(xí)生活直至畢業(yè),祝愿學(xué)校越來越好!感謝學(xué)校的老師們四年來不辭辛苦的教育我們,不管是在學(xué)習(xí)上還是在生活上都無微不至的關(guān)心我們,在我們遇到問題的時候耐心、細致的幫助我們找尋解決辦法。就在這最后的階段,我在完成畢業(yè)設(shè)計的時候,遇見自己想不通的問題時,我的老師們都抽時間幫助我,不管是初期的文檔編寫還是后面的程序設(shè)計還有如今的論文書寫,他們都盡心盡力幫我找出我沒發(fā)現(xiàn)的問題,指導(dǎo)我去解決問題,希望老師們身體健康,工作順利!感謝我的同學(xué)們四年來對我的包容和幫助,大學(xué)四年我們待在一起的時間最長,生活上我有很多毛病,你們都包容我,給我合適的建議引導(dǎo)我改正;一起學(xué)習(xí)討論問題時指出我的錯誤,和我一起找問題正解,希望同學(xué)們乘風(fēng)破浪,前程似錦!感謝這最美好的四年中我所遇到所有的一切!附錄用戶相關(guān)代碼://用戶模塊publicclassUserServletextendsBaseServlet{ privatestaticfinallongserialVersionUID=1L; //用戶退出 publicStringexit(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ request.getSession().invalidate(); response.sendRedirect(request.getContextPath()); returnnull; } //用戶登錄 publicStringlogin(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ try{ //獲取用戶名和密碼 Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); //調(diào)用service完成登錄,返回值為:true UserServiceus=newUserServiceImpl(); Useruser=us.login(username,password); //判斷user,根據(jù)結(jié)果生成顯示 if(user==null){ //用戶名和密碼不匹配 request.setAttribute("msg","用戶名和密碼不匹配請重新登錄!"); return"/jsp/login.jsp"; } //用戶名不為空,判斷激活狀態(tài) if(Constant.USER_IS_ACTIVE!=user.getState()){ //未激活 request.setAttribute("msg","請先去激活再登錄!"); return"/jsp/login.jsp"; } //登錄成功,保存用戶的登錄狀態(tài) request.getSession().setAttribute("user",user); /**記住用戶名**/ //判斷復(fù)選框記住用戶名是否勾選 if(Constant.SAVE_NAME.equals(request.getParameter("savename"))){ Cookiec=newCookie("saveName",URLEncoder.encode(username,"utf-8")); c.setMaxAge(Integer.MAX_VALUE); c.setPath(request.getContextPath()+"/"); response.addCookie(c); } //跳轉(zhuǎn)至index.jsp response.sendRedirect(request.getContextPath()); }catch(Exceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); request.setAttribute("msg","用戶登錄失敗"); return"/jsp/msg.jsp"; } returnnull; } //轉(zhuǎn)至用戶登錄界面 publicStringloginUI(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ return"/jsp/login.jsp"; }商品相關(guān)代碼:/**前臺商品模塊*/publicclassProductServletextendsBaseServlet{ privatestaticfinallongserialVersionUID=1; //商品詳情 //商品分頁展示 publicStringfindByPage(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ try{ //1.獲取pagenumbercid設(shè)置pagesize intpageNumber=1; pageNumber=Integer.parseInt(request.getParameter("pageNumber")); intpageSize=12; Stringcid=request.getParameter("cid"); //2.調(diào)用service分頁查詢商品參數(shù)3個返回值pagebean ProductServiceps=newProductServiceImpl(); PageBean<Product>bean=ps.findByPage(pageNumber,pageSize,cid); //3.將pagebean放入request中,請求轉(zhuǎn)發(fā)product_list.jsp request.setAttribute("pb",bean); }catch(Exceptione){ request.setAttribute("msg","分頁查詢失敗!"); return"/jsp/msg.jsp"; } return"/jsp/product_list.jsp"; }}分類相關(guān)代碼://分類模塊publicclassCategoryServletextendsBaseServlet{ privatestaticfinallongserialVersionUID=1L; //跳轉(zhuǎn)到添加頁面 publicStringaddUI(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ //TODOAuto-generatedmethodstub return"/admin/category/add.jsp"; } //添加分類 publicStringsave(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ try{ //TODOAuto-generated
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第45屆世界技能大賽全國選拔賽-汽車噴漆-試題
- 2024故宮科技課件:利用AR技術(shù)重現(xiàn)古宮殿風(fēng)貌
- 《中國建筑史》課件
- 《養(yǎng)成好習(xí)慣》教案創(chuàng)新
- 《鐵杵成針》創(chuàng)新教學(xué)策略
- 2HAZOP分析及風(fēng)險評估課件:2024年專業(yè)版
- 初三上冊化學(xué)第十單元酸和堿測試題及答案
- 產(chǎn)房護理質(zhì)量評價標準
- 2024年教育改革:《生理學(xué)》電子教案在混合式教學(xué)中的應(yīng)用
- 2024年環(huán)境科學(xué):《蜜蜂》課件
- 火力發(fā)電廠施工圖設(shè)計內(nèi)容深度規(guī)定
- 酒店經(jīng)理管理酒店運營
- 園長進班指導(dǎo)制度方案及流程
- 裝修垃圾清運處置方案
- JC-T 2536-2019水泥-水玻璃灌漿材料
- 品牌授權(quán)協(xié)議書
- 藝術(shù)設(shè)計就業(yè)職業(yè)生涯規(guī)劃
- 《狙擊手》和《新神榜楊戩》電影賞析
- 槍庫應(yīng)急處置預(yù)案
- 老年患者術(shù)后譫妄的護理干預(yù)
- 《凸透鏡成像的規(guī)律》課件
評論
0/150
提交評論