20基于java的數碼商品網上商城的設計與實現_第1頁
20基于java的數碼商品網上商城的設計與實現_第2頁
20基于java的數碼商品網上商城的設計與實現_第3頁
20基于java的數碼商品網上商城的設計與實現_第4頁
20基于java的數碼商品網上商城的設計與實現_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于JAVA的數碼商品網上商城的設計與實現摘要 IAbstract II1緒論 11.1國內外對本課題的研究動態分析 1國內外研究動態 1本課題研究的意義和目標及方案概述 22開發工具與環境 32.1硬件環境 32.2軟件壞境 3MyEclipse簡介 32.4ApacheTomcat服務器 32.5MySQL數據庫系統 42.6服務器配置 42.7配置WEB站點 52.8數據庫配置 53系統總體設計 63.1需求分析 63.2必要性分析 73.3可行性分析 73.4技術分析 94系統總體功能設計 11系統總體功能結構圖 11數據庫結構設計 11利用JaBean技術連接數據庫 13所有到的技術 165詳細設計與實現 185.1前臺部分 185.2后臺部分 236系統測試與運行 277總結 29參考文獻 30致謝 31摘要研究的是基于JAVA在網絡上架構一個動態的電子商務網站,它是在WindowsXP下,以MYSQL為數據庫開發平臺,Tomcat網絡信息服務作為應用服務器,采用JSP(JavaServerPages)技術開發的網上購物系統。他分前臺部分和后臺部分,前臺部分由用戶使用,主要包括用戶注冊,購物車管理,訂單管理,個人資料管理,留言板管理等功能;后臺部分由管理員使用,主要包括商品管理,處理訂單等功能。建立后的網站系統是一個動態、交互式、具有商品提供、系統管理等功能的電子商務網站。關鍵字:JSP;MYSQL;Tomcat;網上購物系統

AbstractTheresearchuseJAVAinadynamicnetworkofe-commercewebsitesstructure,whichisinWindowsXP,MYSQLfordatabasedevelopmentinplatform,Tomcatapplicationserverasanetworkinformationservices,useJSP(JavaServerPages)technologydevelopmentonlineshoppingsystem.Prospectsandthebackgroundofsomeofhishours,theprospectsofusers,includingusersregistered,ashoppingcartmanagement,ordermanagement,personalinformationmanagement,messageboardmanagementfunctions;Backgroundinpartbymanagers,includingcommoditymanagement,processingorders,andotherfunctionslinks.Aftertheestablishmentofthewebsiteisadynamic,interactive,withcommodities,systemsmanagement,andotherfunctionsofthee-commercewebsiteusers.Keywords:JSP;MYSQL;Tomcat;Onlineshoppingsystem1緒論以計算機及網絡技術的飛速發展,Internet/Intranet應用在全球范圍內日益普及,當今社會正快速向信息化社會前進,信息自動化的作用也越來越大。從而使我們從繁雜的事務中解放出來,提高了我們的工作效率。首先,目前國內很多大中城市的商場還是以售貨員站柜臺為主,這樣給商場帶來很多管理上的問題;其次,由于商場是人群集中的地區,這樣為管理以及保安等方面也帶來很多的不便。網上商城購物是經營活動在互聯網上的一種具體表現形式,和傳統的經營模式比較,網上商城具有客源面更廣,運營成本更低,廣告宣傳效應更快,交易更方便快捷等等優勢。我在西安百腦匯IT公司實習過一段時間,該公司主要是代理一些數碼產品的銷售,包括數碼相機、、MP3、MP4,筆記本等產品,涉及的品牌有索尼、佳能、臺電、昂達、蘋果、華碩等國內外著名品牌。該公司為了擴大銷售范圍,目前已經開始在Internet建立了網上商城,取得了很大的成就,提高了該公司的市場競爭力。通過網上商城,該公司可以在第一時間讓客戶了解最新產品,為客戶提供網上咨詢購物,使得全國各地的得到便利,同時增加了該公司所代理的商品銷售量。在該公司的這段時間,我認識到網上購物系統的巨大優勢,它已經越來越受到人們的重視。在美、日等信息化程度較高的國家和地區,網絡商店發展速度迅猛,美國的世界級超一流的零售商,如沃爾瑪凱瑪特,家庭倉儲、科羅格、J.C培尼等紛紛擠身于網絡經商的行列。調查表明:美國的家庭已越來越習慣于在家中從網上購物。法國網上購物發展速度也很快。據法國電子商務及遠程銷售聯合會2008年1月24日公布的數據,2007年法國網上購物繼續保持強勁上漲勢頭,網上購物總額大幅增加。數據顯示,法國去年網上購物交易總額達161億歐元,增長了35%,而2004年網上購物總額還只有57億歐元。該聯合會預計,到2010年,法國網上購物交易總額將達到314億歐元。在我國,網上購物從無到有也不過短短幾年時間。我國第一家網上購物發生在1996年,燕莎友誼商場首次通過網上商城售出一個景泰藍,雖然貨款的支付不是在網上進行的,但這畢竟為我國零售業奏出了網上購物的先聲。根據中國互聯網信息中心最近提供的《中國互聯網絡發展狀況統計報告》調查顯示,網上購物已經由以前的嘗試性購買向日常的生活習慣發展,其中以書籍、計算機產品、音像制品及器材等為網上購物的主要對象,服裝、體育用品、生活家居用品等消費額也開始大幅度提高。根據中國互聯網信息中心最近提供的《中國互聯網絡發展狀況統計報告》調查顯示,網上購物已經由以前的嘗試性購買向日常的生活習慣發展,其中以書籍、計算機產品、音像制品及器材等為網上購物的主要對象,服裝、體育用品、生活家居用品等消費額也開始大幅度提高。但是,與強勁的網絡購物需求相比,我國受到計算機軟硬件基礎比較薄弱,技術水平比較低下,系統開發人員十分緊缺等不利因素的影響,現有購物網站系統普遍存在著功能比較單一,維護比較復雜,通用性又不強等問題,有的購物網站甚至直接采用靜態網頁發布商品信息。所有這些,已經嚴重制約了我國互聯網的發展。國外雖然有比較成熟的系統,但價格非常昂貴,動輒幾十萬上百萬,而且還不一定適合我國國情,需要化大量的人力物力進行二次開發。如何設計開發出功能強大,費用低廉,通用性強,適合我國國情的購物網站系統,這將是我們急需解決的一個重要課題。1.3本課題研究的意義和目標及方案概述以計算機及網絡技術的飛速發展,Internet/Intranet應用在全球范圍內日益普及,當今社會正快速向信息化社會前進,信息自動化的作用也越來越大。從而使我們從繁雜的事務中解放出來,提高了我們的工作效率。首先,目前國內很多大中城市的商場還是以售貨員站柜臺為主,這樣給商場帶來很多管理上的問題;其次,由于商場是人群集中的地區,這樣為管理以及保安等方面也帶來很多的不便。網上商城購物是經營活動在互聯網上的一種具體表現形式,和傳統的經營模式比較,網上商城具有客源面更廣,運營成本更低,廣告宣傳效應更快,交易更方便快捷等等優勢。本系統是基于JAVA在網絡上架構一個動態的電子商務網站,它是在Windows2000下,以MYSQL為數據庫開發平臺,Tomcat網絡信息服務作為應用服務器,采用JSP(JavaServerPages)技術開發的網上購物系統。他分前臺部分和后臺部分,前臺部分由用戶使用,主要包括用戶注冊,購物車管理,訂單管理,個人資料管理,留言板管理等功能;后臺部分由管理員使用,主要包括商品管理,處理訂單等功能。2開發工具與環境2.1硬件環境硬件環境(訪問者):建議用戶在力所能及的情況下采用高配置的硬件資源。硬件壞境(開發者):pentiumIV處理器,512M內存,80G硬盤空間。2.2軟件壞境訪問者:IE,Netscape等瀏覽器。開發者:操作系統:Windows2000/XP開發工具包:JDK1.6支持JAVA運行。服務器:ApacheTomcat2.3MyEclipse簡介MyEclipse企業級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數據庫和J2EE的開發,發布,以及應用程序服務器的整合方面極大的提高效率。它是功能豐富的J2EE集成開發環境,包括了完備的編碼,調試,測試和發布的功能,完整的支持HTML,Struts,JSF,CSS,JavaScript.SQL,Hibernate等[1]。在結構上,MyEclipse的特征可以分為7類:模型;開發工具;開發工具;4.應用程序服務器的連接器;項目部署服務;6.數據庫服務;整合幫助。簡單而言,MyEclipse是Eclipse的插件,也是一款功能強大的J2EE集成開發環境,支持代碼編寫,配置,測試以及除錯[2]。2.4ApacheTomcat服務器Tomcat服務器是一個免費的開發的源代碼的Web應用服務器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache,Sun和其它一些公司及個人共同開發而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規范總能在Tomcat中得到體現。Tomcat6支持最新的和規范。因為Tomcat技術先進、性能穩定,而且免費,因而深受Java愛好者的喜愛并得到了部分軟件開發商的認可,成為目前比較流行的Web應用服務器,因為它運行時占用的系統資源小,擴展性好,支持負載平衡與郵件服務等開發應用系統常用的功能;而且它還在不斷的而且它還在不斷的在改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat是一個小型的輕量級應用服務器,在中小型系統和并發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache服務器,可利用它響應對HTML頁面的訪問請求。實際上Tomcat部分是Apache服務器的擴展,但它是獨立運行的,所以當你運行tomcat時,它實際上作為一個與Apache獨立的進程單獨運行的[3]。2.5MySQL數據庫系統MySQL名字的來歷MySQL是一個小型關系型數據庫管理系統,開發者為瑞典MySQLAB公司,在2008年1月16號公司被Sun公司收購。MySQL被廣泛地應用在Internet上的中小型網站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站數據庫[4]。MySQL具有如下特點:1.使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性。2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多種操作系統.3.為多種編程語言提供了API。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4.支持多線程,充分利用CPU資源。5優化的SQL查詢算法,有效地提高查詢速度。6.提供TCP/IP、ODBC和JDBC等多種數據庫連接途徑。7.提供用于管理、檢查、優化數據庫操作的管理工具。8.可以處理擁有上千萬條記錄的大型數據庫。2.6服務器配置第一步:從官方網站:,安裝;第二步:JDK的環境配置;第三步:安裝和配置完畢后,檢驗安裝配置是否正確。第四步:安裝MyEclipse.2.7配置WEB站點直接運行下載的apache-tomcat-.exe文件,按照一般的Windows程序安裝步驟即可安裝好Tomcat,安裝時它會自動尋找JDK的位置。安裝過程中需要選擇一個文件夾作為Tomcat的安裝目錄。安裝完成以后,添加一個Tomcat的環境變量,添加方法和JDK的環境變量的添加方法相同,設置變量名為TOMCAT_HOME,變量值為C:\Tomcat。設置完畢后就可以運行Tomcat服務器了。Tomcat成功啟動后,在瀏覽器中輸入://localhost:8080/,如果出現歡迎界面,則說明Tomcat安裝成功。2.8數據庫配置安裝的服務器,并連接數據庫[5]。(1)下載安裝(2)加載純java的驅動程序登錄MySql的官網下載驅動程序,將驅動程序復制到tomcat服務器所使用的JDK的\jre\lib\ext文件夾中,應用程序加載SQLServer驅動程序代碼如下:try{ Class.forName("com.mysql.jdbc.Driver")}catch(Exceptionex){}

3系統總體設計3.1需求分析本網站系統是一個動態、交互式、具有商品提供、系統管理等功能的電子商務網站。經過分析本系統功能模塊,有前臺部分和后臺部分1)前臺部分由用戶使用,包括用戶注冊,用戶登錄購物車管理,商品分類查詢,等幾個部分2)后臺部分管理員登錄,添加商品模塊,查詢修改商品模塊,添加鏈接模塊等模塊。本系統中心對象為商品,根據以上的需求分析,系統流程主要功能用戶注冊購買商品,系統適用對象包括管理員和注冊用戶,因此包括兩個基本流程圖。—管理員:管理員登陸管理員登陸維護商品信息錄入商品信息管理用戶基本信息瀏覽商品圖3.1系統功能圖—管理員圖—注冊用戶:用戶注冊用戶注冊用戶登錄查看商品購買商品管理個人信息圖3.2系統功能圖—注冊用戶圖這兩類在每一個操作模塊都要實現自身的功能用,并且在整個流程中負責承上啟下。下面根據系統功能圖,分別描述系統要實現的功能。1.管理員登錄:系統初始化商品管理員用戶,這些管理員能夠通過該入口進入并進行管理操作。2.管理員管理商品:首先要求能夠添加商品,包括的信息有商品名、商品類別、商品簡介、商品數量、商品定價等。管理員可以刪除某個已經添加的商品。3.用戶注冊:注冊用戶信息包括登錄名、密碼、真實姓名、性別、、生日,銀行卡號,電子郵箱。4.用戶登錄:系統注冊用戶使用自己注冊的用戶名登錄系統,進行購物、管理購物車。5.用戶管理購物車:uonghu可以隨時查看自己已經選購的商品及購買的數量、金額。3.2必要性分析我國網上購物市場有巨大的潛力。首先,對于消費者來說:第一,可以在家“逛商店”,訂貨不受時間的限制;第二,獲得較大量的商品信息,可以買到當地沒有的商品;第三,網上支付較傳統拿現金支付更加安全,可避免現金丟失或遭到搶劫;第四,從訂貨、買貨到貨物上門無需親臨現場,既省時又省力;第五,由于網上商品省去租店面、召雇員及儲存保管等一系列費用,總的來說其價格較一般商場的同類商品更便宜。其次,對于商家來說,由于網上銷售沒有庫存壓力、經營成本低、經營規模不受場地限制等,在將來會有更多的企業選擇網上銷售,通過互聯網對市場信息的及時反饋適時調整經營戰略,以此提高企業的經濟效益和參與國際競爭的能力。3.3可行性分析社會性互聯網形態下的外部大的市場環境日趨成熟,對傳統產業的影響不可忽視。目前我國的大中城市,電腦和網絡的應用已經非常普遍,互聯網的迅速崛起已經催生出了年僅32歲身價幾十億的丁磊那樣的中國首富,他的財富迅速超過了傳統產業的一些巨頭,包括一些“鋼鐵大王”和一些當年的紅色資本家幾代人奮斗的資本積累,丁磊之所以能夠成為中國的首富,說明互聯網產業的市場空間不容忽視,隨著經濟的發展和人們思想意識的逐漸開放,更多的人加入到買電腦上網的行列。網上購物人群迅速擴大,各種網絡設施的完善,經濟的持續發展及人們生活水平的提高,網上購物已逐漸成為人們習慣性的行為。經濟性網絡正在沖擊著人們的傳統消費習慣和思維、生活方式。越來越多的人們逐漸習慣于到網上查找信息,當他產生某種需求到網上查找相關產品和企業信息時就成了潛在的客戶,當信息能滿足他的需要的時候,他就成了客戶。即使暫時不需要產品,等到他需要的時候,他就會再次到網上查看有關資料,成為顧客。假如企業、產品沒有上網,而競爭對手的產品信息上了網,該客戶只看到競爭對手的資料而沒有你的信息,其結果必然造成你還沒有來的及與競爭對手比質量、比價格、比服務就已經敗下陣來了,只因為這名消費者根本就不知道你的存在,你就被排除在外了。技術性J2EE是各廠商共同發起的,并得到廣泛認可的一個工業標準。它利用了Java2平臺的技術優勢,為企業提供系統整體解決方案的開發、部署和管理等相關問題的一套完整的體系結構。J2EE技術的基礎就是Java2平臺,J2EE不僅加強了該平臺中的許多優點,如:“編寫一次、到處運行的特性、存取數據庫的JDBCAPI、CORBA技術的支持等之外,還提供了對業務邏輯封裝的EJB(EnterpriseJavaBeans)組件技術、支持訪問的Servlets和JSP,以及XML的全面支持,另外它還定義了關于事務管理的JTA和JTS接口,及保證消息傳遞的JMS服務等。J2EE架構中的核心就是EJB組件,通過EJB組件化技術將企業系統的實際業務邏輯進行封裝。在平臺的后端,J2EE標準定義了各種基礎的服務,包括數據庫訪問支持的JDBC、事務管理的接口JTS、對象命名服務JNDI、消息傳遞的JMS服務以及訪問其他組件的接口等。這些基礎的服務將一個企業的已有系統有機地集成到J2EE平臺中,然后通過前端的多種接入手段提供給最終用戶。對于一個企業而言,如何構建自己的信息化平臺,并且充分利用現有的IT資源,便是一個很重要的課題。而J2EE架構則為各級規模的企業提供了良好的整體解決方案[6]。JSP(JavaServerPages)技術是由Sun公司發布的用于開發動態Web應用的一項技術。它以其簡單易學、跨平臺的特性,在眾多動態Web應用程序設計語言中異軍突起,在短短幾年中已經形成了一套完整的規范,并廣泛地應用于電子商務等各個領域中。在國內,JSP現在也得到了比較廣泛的重視,得到了很好的發展,越來越多的動態網站開始采用JSP技術。本章就對JSP及其相關技術進行簡單的介紹。3.4技術分析Struts技術分析Struts是Apache基金會Jakarta項目組的一個OpenSource項目,它采用MVC模式,能夠很好地幫助java開發者利用J2EE開發Web應用。和其他的java架構一樣,Struts也是面向對象設計,將MVC模式"分離顯示邏輯和業務邏輯"的能力發揮得淋漓盡致。Structs框架的核心是一個彈性的控制層,基于如JavaServlets,JavaBeans,ResourceBundles與XML等標準技術,以及JakartaCommons的一些類庫。Struts有一組相互協作的類(組件)、Servlet以及jsptaglib組成。基于struts構架的web應用程序基本上符合JSPModel2的設計標準,可以說是一個傳統MVC設計模式的一種變化類型。Struts的流程如下:輸入用戶名密碼提交表單、提交到action屬性的login.do,通過ActionServlet讀文件找到action下的path屬性找到.do,通過name屬性找form-beans中的form-bean的name屬性得到ActionForm的包名類名,先實例化form,把表單的值填充給form,調用form的validate方法驗證、ActionErrors返回null表示驗證通過,否則失敗返回input指定的頁面.驗證通過會實例化Action,執行Action的excute方法[7]。網頁制作技術網頁制作技術使用了HTML,CSS和javaScript三門語言,這三門語言在網頁實際中扮演者各自的角色。1)HTML所扮演的角色:HTML是Internet上用于設計網頁的主要語言,無論網頁包括動態,多媒體,圖形等各種復雜的元素,其基礎架構多是HTML.2)CSS所扮演的角色:CSS就是CascadingStyleSheet,譯為“層疊樣式表”,簡稱樣式表,它是一種制作網頁的新技術。“樣式”就是網頁中文字大小,顏色,圖片位置等格式,“疊層”的意思是,當在HTML中引用了無數個樣式(CSS)時,當樣式文件中樣式發生沖突時,瀏覽器將依據層疊進行處理。CSS是目前唯一的網頁頁面排版樣式標準。它能使瀏覽器都可以聽從指令,知道以何種布局,格式顯示各種元素及其內容。JavaScript所扮演的角色:JavaScript是一種基于對象的腳本語言,它的角色:用于開發Internet客戶端的應用程序,它可以結合HTML語言,在HTML中可以直接寫JavaScript代碼。具有無比的動態性和可移植性。MVC設計模式MVC是Model-View-Controller的簡稱,即模型-視圖-控制器[8]。MVC是XeroxPARC在20世紀80年代為編程語言Smalltalk-80發明的一種軟件設計模式,至今已被廣泛使用,MVC把應用程序分成3個核心模塊:模型(Model)、視圖(View)和控制器(Controller),它們分別擔當不同的任務。MVC設計模式是一個很好創建軟件的途徑,它所提倡的一些原則,像內容和顯示互相分離可能比較好理解。但是如果要隔離模型、視圖和控制器的構件,MVC將會使你的軟件在健壯性,代碼重用和結構方面上一個新的臺階。由于不同的層各司其職,每一層不同的應用具有某些相同的特征,有利于通過工程化、工具化管理程序代碼。控制器控制器接受用戶請求調用模型響應用戶請求選擇視圖顯示響應結果視圖顯示模型狀態接受數據更新請求向控制器發送請求模型處理業務邏輯響應狀態查詢通知視圖業務狀態更新圖3.3模型-視圖-控制器原理圖利用session共享數據協議時無狀態的,即信息無法通過協議本身進行傳遞。具體到Web中的Session指的就是用戶在瀏覽某個網站時,從進入網站到瀏覽器關閉所經過的這段時間,也就是用戶瀏覽這個網站所花費的時間。因此從上述的定義中我們可以看到,Session實際上是一個特定的時間概念。需要注意的是,一個Session的概念需要包括特定的客戶端,特定的服務器端以及不中斷的操作時間。A用戶和C服務器建立連接時所處的Session同B用戶和C服務器中建立連接時所處的Sessions是兩個不同的Session。為了跟蹤用戶的操作狀態,ASP應用Session對象。JSP使用了叫做Session的對象進行同樣的功能[9]。Jsp的session是使用bean的一個生存期限,一般為page,session意思是在這個用戶沒有離開網站之前一直有效,如果無法判斷用戶何時離開,一般依據系統設定,tomcat中設定為30分鐘.使用session功能,可以達到多個jsp程序從操作同一個javabean,那么這個javabean可以作為我們傳統意義上的"全局變量池"。

4系統總體功能設計整個系統功能需要以下數據項:用戶:用戶id、用戶名稱、登錄密碼、注冊名、用戶真實姓名、性別、生日、郵箱、地址、身份證銀行卡號等。商品:商品id、名稱、價格、圖片路徑、類型、簡要介紹、存儲地址、上傳人姓名、發布時間、是否推薦。管理員:管理員名稱、管理員密碼。根據各功能的分析,進行系統的總體模塊劃分。網上商城系統的主要功能模塊圖如圖4.1所示:首頁首頁用戶基本信息管理商品后臺維護購物車管理用戶注冊用戶登錄用戶注銷添加商品刪除商品購買商品商品結算圖4.1網上商城系統功能模塊圖數據庫在信息系統中占有及其重要的地位,數據庫結構設計的好壞關系到系統的運行效率、存儲數據的效率、系統的復雜程度等,合理的數據庫結構設計可以提高系統性能。數據庫分析是整個網上商城系統開發過程中的一個重要環節,具體分兩部分。1.概念模型分析,即E-R圖分析。2.邏輯模型分析,即表和字段分析。網上商城系統實體包括用戶實體,管理員實體,商品實體。對應的E-R圖如4.2圖:圖4.2網上商城系統E-R圖網上購物商城系統中的表包括:用戶基本信息表(userinfo)、商品基本信息表(goodsinfo)、管理員信息表(admininfo)。表字段的詳細設計分別如表4.1、表4.2、表4.3所示:表4.1用戶基本信息表(userinfo)字段名類型長度是否為空是否為主鍵描述UseridInteger4否是用戶IDRegnameVarchar50否否注冊名RealnameVarchar50否否真實姓名PasswordVarchar50否否密碼BirthdayDate50否否生日SexyChar2否否性別EmailVarchar50否否電子郵箱AddressVarchar100否否地址IdentifyidChar18否否身份證號BankidChar20否否銀行卡號表4.2商品基本信息表(goodsinfo)字段名類型長度是否為空是否為主鍵描述GoodsidInteger4否是商品編號GoodsnameVarchar20否否商品名GoodspriceFloat4否否商品價格GoodsnumInteger4否否商品數量GoodsmakerVarchar100否否商品供應商GoodsdescVarchar200否否商品介紹表4.3管理員信息表(admininfo)字段名類型長度是否為空是否為主鍵描述AdminnameVarchar20否是管理員名AdminpswVarchar20否否管理員密碼JavaBean是Java語言的一種規范,它主要是用來實現可重用的組建。在網上購物系統中,數據庫的操作能夠為所有的JSP頁面服務,因而有關數據庫的操作應該封閉到一個公共類中。系統公用類為整個系統提供服務,系統中的任何JSP功能頁面都能夠調用它們。數據庫連接類的主要功能是提供對MySQL數據庫的連接和數據操作[10]。這樣不僅可以使系統的代碼更加簡潔,而且還可以提高安全性。當實現一個接口的時候首先需要連接數據庫,如果每一個數據連接都要加載數據庫酒會是代碼過于多,因此我們數據庫的操作封裝到一個類中,具體如程序代碼11-1所示:1.加載純java的驅動程序登錄MySql的官網下載驅動程序,將驅動程序復制到tomcat服務器所使用的JDK的\jre\lib\ext文件夾中,應用程序加載SQLServer驅動程序代碼如下:try{ Class.forName("com.mysql.jdbc.Driver")}catch(Exceptionex){}2.和指定的數據庫建立連接[8]具體代碼如下:publicclassdbconn{ StringconnStr="jdbc:odbc:"; Connectionconn=null; Statementstmt=null; ResultSetrs=null; ResultSetMetaDatameta=null; @SuppressWarnings("unchecked") Hashtableht=null; @SuppressWarnings("unchecked") ArrayListal=null; publicdbconn() { try{ Class.forName("com.mysql.jdbc.Driver"); Stringurl="jdbc:mysql://localhost:3306/shop?user=root&password=root&useUnicode=true&characterEncoding=gb2312"; conn=DriverManager.getConnection(url); }catch(Exceptionex){ ex.printStackTrace(); } } System.out.println("查詢出錯"+ex.getMessage()); } returnal; } publicbooleanexecuteUpdate(Stringsql) { booleanflag=false; try { stmt=conn.createStatement(); stmt.executeUpdate(sql); System.out.println("更新成功"); flag=true; } catch(SQLExceptionup) { System.out.println("更新數據發生錯誤"); } returnflag; } publicvoiddestory() { try { if(rs!=null) { rs.close(); } if(stmt!=null) { stmt.close(); } if(conn!=null) { conn.close(); } rs=null; stmt=null; conn=null; } catch(Exceptionclose) { System.out.println("關閉時發生錯誤"); } }}struts開發Struts是JavaWeb框架,主要實現MVC設計模式的機制,減少程序開發的時間。在MVC設計模式中,Struts大致分為以下主要內容[11]。1.Struts標簽庫:處于視圖層,用來輔助JSP頁面代碼。類似于JSTL標簽庫。對象:視圖層與控制層的接口,可以看成是一個值對象提供getXXX(),setXXX()方法,在Struts中這個對象還提供了驗證數據的方法。控制器組件:繼承自Servlet.在控制層中控制頁面的轉向。并掉用模型層。3.Action對象:控制層與模型層之間的橋梁。在控制器與模型層進行交互時候,該對象被ActionServlet調用;在Action中可以調用業務邏輯層,并將頁面返回給ActionServlet組件。框架可以和Hibernate框架進行整合。Struts標簽庫Struts擁有強大的標簽庫,根據這些標簽可得內容,程序員在編寫網頁的時候,可以大大減少了代碼的編程量,從而使網頁中的代碼更加簡潔,Struts提供了5中標簽庫文件,他們分別為HTML標簽,Bean標簽,Logic標簽,Nested標簽,Tiles標簽。標簽Struts中HTML標簽庫中的大部分標簽與普通的HTM元素相對應,并且他們實現的功能也相對應。HTML標簽在JSP頁面中引用的代碼如下:<%@taglibprefix=“html”url=‘/WEB-INF/Struts-html.tld”%>該路徑下的文件名由Struts提供。2.Bean標簽Struts框架中的Bean標簽可以訪問已經存在于JSP范圍內的JavaBean。Bean標簽在JSP頁面引用的代碼為:<%@taglibprefix=“bean”url=“/WEB-INF/Struts-bean.tld”%>該路徑下的文件名由Struts提供。3.Login標簽Login標簽可以實現特定耳朵判斷條件,標簽處理類通過對標簽實現條件的判斷,選擇性的實現頁面代碼,從而實現同一JSP文件根據用戶身份來顯示不同的內容,Logic標簽在JSP頁面中引用的代碼如下:<%@taglibprefix=“logic”url=“/WEB-INF/Struts-bean.tld”%>該路徑下的文件名由Struts提供。配置StrutsStruts的核心在于它的Action,一般在 Action里面做對頁面的邏輯跳轉工作,例如,用戶在網頁中添加一條人員信息,如果添加成功,會看到包含所有人員信息列表,這就需要在Action里面接收到用戶從網頁中提交的數據,在把他們它們存在數據庫中,然后返回到人員列表頁面。Struts框架需要通過一個專門的配置文件來控制,它就是Struts-config.xml,當然也可以取其他數據庫的名字,只要在web.xml里面進行相關的配置,網站即可以找到Struts的配置文件。MVC設計模式MVC是Model-View-Controller的簡稱,即模型-視圖-控制器。MVC是XeroxPARC在20世紀80年代為編程語言Smalltalk-80發明的一種軟件設計模式,至今已被廣泛使用,MVC把應用程序分成3個核心模塊:模型(Model)、視圖(View)和控制器(Controller),它們分別擔當不同的任務。如圖3-1所示顯示了這幾個模塊各自的功能及它們的相互關系。控制器控制器接受用戶請求調用模型響應用戶請求選擇視圖顯示響應結果視圖顯示模型狀態接受數據更新請求向控制器發送請求模型處理業務邏輯響應狀態查詢通知視圖業務狀態更新圖4.3模型-視圖-控制器原理圖

5詳細設計與實現5.1前臺部分前臺部分由用戶使用,包括用戶注冊,用戶登錄購物車管理,商品分類查詢,等幾個部分。本系統包含系統公共類的定義與實現,系統平臺登陸模塊的實現,企業人事信息管理模塊的實現,企業新聞發布中心模塊的實現,企業資產管理模塊的實現,企業在線庫存系統的實現,企業BBS模塊的實現,安全退出模塊的實現。自定義ActionServlet控制器組建解決系統中文問題由于頁面及數據庫均采用中文操作系統GB2312的編碼方式,為是WEB服務器能夠正確的處理且JSP頁面能夠正確的顯示中文,必須對Struts內部編碼方式做一定的修改,使之能夠正確處理GB2312的編碼方式的功能。具體做法如下所述:1.自定義ActionServlet的編碼方式,代碼如下:packageorg.lxh.struts.action;importorg.apache.struts.action.ActionServlet;publicclassMyActionServletextendsActionServlet{ publicvoidprocess(ServletRequestrequest,ServletResponseresponse){try{request.setCharacterEncoding("gb2312");cess(request,response);}catch(Exceptione){e.printStackTrace();}}}2.配置文件在Struts系統加載ActionServlet控制器組件時候,加載自定義的控制器組建。修改中的<servlet-class>元素屬性,代碼如下:<servlet-class>action.myActionServlet</servlet-class>網站首頁首頁頁主要包含:用戶登錄,用戶注冊,用戶管理購物車,管理員登錄網站前臺首頁的運行結果如圖所示:圖5.1購物網站首頁圖用戶管理模塊用戶管理模塊主要包括用戶注冊,登錄及找回密碼3個部分1.用戶注冊頁面當用戶第一次登錄時首先要注冊,成為會員后,才可以購買物品.用戶可以通過單擊首頁的注冊按鍵來打開注冊頁面進行會員注冊操作,用戶注冊頁面的運行結果如圖所示:圖5.2用戶注冊頁面圖關鍵代碼如下:publicclassregistactionextendsServlet{ publicvoiddoPost(ServletRequestrequest,ServletResponseresponse)throwsIOException,ServletException { response.setContentType("text/html;charset=gb2312"); request.setCharacterEncoding("GBK"); PrintWriterout=response.getWriter(); Stringregname,realname,psw,birthday,sexy,email,addr,idfycard,bankID; Stringyear,month,day; regname=request.getParameter("regname"); realname=request.getParameter("realname"); psw=request.getParameter("psw"); year=request.getParameter("year"); month=request.getParameter("month"); day=request.getParameter("day"); birthday=year+"-"+month+"-"+day; ………2.配置文件<form-beanname="loginPeopleForm"type="org.lxh.struts.people.ssh.LoginPeopleForm/><forwardname="loginSuccess"path="/index.jsp"></forward>…….(部分代碼省略)3.創建Form類,里面封裝了注冊所需要的用戶名,密碼用戶權限等信息。4.創建Action類(部分代碼如下)publicclassLoginActionextendsAction{publicActionForwardexecute(ActionMappingmapping,ActionFormform,ServletRequestrequest,ServletResponseresponse)throwsException{……部分代碼省略}}用戶登錄為了使購物系統有一個安全的運行環境,在用戶購買商品以前首先要進行身份驗證,只有注冊了的用戶才可以購買商品。登錄頁面如圖5.3所示:圖5.3登錄頁面圖登錄模塊頁面的實現系統登陸時本系統最先使用的功能,用戶輸入正確信息才可以登錄。下面是關鍵代碼如下:……//省去了部分HTML代碼<fontcolor="C6DCDE"><b><fontcolor="227776">用戶名:</font></b></font><inputname=usertype=textstyle="background-color:#FFFFFF;border-left:1pxridge#C6DCDE;border-right:1pxridge#C6DCDE;border-top:1pxridge#C6DCDE;border-bottom:1pxridge#C6DCDE"cursor:pointer;size="12"maxlength="15"></td></tr><tr><tdstyle='padding-left:5px'height="20"><b><fontcolor="227776">密碼:</font></b><inputname=pwdtype=passwordstyle="background-color:#FFFFFF;border-left:1pxridge#C6DCDE;border-right:1pxridge#C6DCDE;border-top:1pxridge#C6DCDE;border-bottom:1pxridge#C6DCDE"size="12"maxlength="15"></td></tr>2.配置文件<form-beanname="loginPeopleForm"type="org.lxh.struts.people.ssh.LoginPeopleForm/><forwardname="loginSuccess"path="/index.jsp"></forward>…….(部分代碼省略)3.創建LoginForm類,里面封裝了登陸所需要的用戶名,密碼用戶權限等信息。4.創建LoginAction類(部分代碼如下)publicclassLoginActionextendsAction{publicActionForwardexecute(ActionMappingmapping,ActionFormform,ServletRequestrequest,ServletResponseresponse)throwsException{……部分代碼省略}}當用戶輸入相應的用戶名,密碼,權限等信息就通過表單提交到ActionForm中,通過ActionForm提交到loginAction中,對用戶提交的登錄信息進行驗證,正確就通過,不正確就返回登陸頁面重新登陸。職員登陸表單的name的屬性為userForm,它是Struts的配置文件中進行的配置。購物車模塊在超市購物,可以根據自己的需要將很多的物品挑選到購物車(籃)中。而在網上虛擬的購物商城中,通常都會采用一種被稱做“購物車”的技術來模擬現實生活。這種技術用起來十分方便,不但可以隨時添加,查看,修改,清空購物車中的內容,還可以隨時去收銀臺結帳。添加購物車就是把用戶選中的商品放在購物車中。當用戶在前臺首頁中單擊商品展示區的“購買”按鈕時,系統會將該商品的詳細信息展示在查看物品清單頁中,為了方便用戶隨時查看購物情況,在網站的首頁加入了查看購物車鏈接,通過它可以將所選物品信息放入購物車中顯示出來。運行結果如圖5.4所示:圖5.4購物車信息圖確認購買當用戶需繼續購買可點擊購物車中的繼續購買功能選項,返回主頁面繼續選擇商品。當用戶確定購買所需商品后,在購物車中的商品編號前打上對號,即可以選定商品,然后點擊購物車中的去收銀臺功能選項去支付所購買的商品。如下圖5.5所示:圖5.5確認訂單圖5.2后臺部分后臺功能只允許具有管理員權限的用戶使用,它是實現前臺功能的基礎。主要包括管理員身份驗證,添加商品模塊,查詢用戶信息管理模塊,添加鏈接模塊,公告信息管理模塊組成。判斷管理員的密碼是否正確的函數在前面已經介紹過了,希望讀者可以把前面的知識認真復習。根據需求分析的文檔可以得出管理員可以對商品進行添加,刪除,修改商品信息等操作,同時也可以對注冊用戶進行管理操作。后臺首頁網站后臺首頁運行結果,如圖所示:圖5.6后臺管理頁面圖管理員登錄1.頁面設計在前臺首頁單擊管理員入口,將轉到管理員登錄頁面。該頁面的功能是對管理員身份驗證,用戶輸入用戶名和密碼后單擊“登錄”按鍵,系統將判斷用戶名和密碼的有效性,如果通過驗證則轉到后臺首頁,反之則提示錯誤。管理員登錄頁面的運行結果如圖所示:圖5.7管理員登錄頁面圖在管理員登錄頁面中,對管理員的身份與數據庫進行驗證,關鍵代碼如下publicclassloginactionextendsServlet{ publicvoiddoGet(ServletRequestrequest,ServletResponseresponse) throwsIOException,ServletException { Sessionsession=request.getSession(); Stringuser=request.getParameter("admin"); Stringpwd=request.getParameter("UserPassword"); booleanflag=false; if(user.equals("chl")) { if(pwd.equals("chl")) { flag=true; } } 商品管理單擊“商品管理”,界面右側自動顯示相應的商品列表。該界面可以實現商品信息的添加、刪除操作[10],如圖所示:圖5.8商品管理界面圖商品的添加商品的信息包括:商品編號,商品名,商品價格,商品數量,商品供應商,商品介紹等。管理員在文本框中輸出這些信息后,提交并且插入到數據庫中。當前臺頁面將商品信息提交后,系統將信息傳遞給Servlet處理,信息在傳遞的過程中,類型都為字符型,所以插入數據庫之前都要將數據轉換成原來的形式。主要代碼:publicclassaddactionextendsServlet{ doPost(ServletRequestrequest,ServletResponseresponse) throwsIOException,ServletException { response.setContentType("text/html;charset=gb2312"); request.setCharacterEncoding("GBK"); PrintWriterout=response.getWriter(); booleanflag=false; Stringgname,gpricestr,gnumstr,gimg,gmaker,gintro; gname=request.getParameter("gname"); gpricestr=request.getParameter("gprice"); gnumstr=request.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論