網(wǎng)上購物系統(tǒng)畢業(yè)論文-鄭光運(yùn).doc_第1頁
網(wǎng)上購物系統(tǒng)畢業(yè)論文-鄭光運(yùn).doc_第2頁
網(wǎng)上購物系統(tǒng)畢業(yè)論文-鄭光運(yùn).doc_第3頁
網(wǎng)上購物系統(tǒng)畢業(yè)論文-鄭光運(yùn).doc_第4頁
網(wǎng)上購物系統(tǒng)畢業(yè)論文-鄭光運(yùn).doc_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

沈陽工程學(xué)院畢業(yè)設(shè)計論文 摘 要摘 要本網(wǎng)上購物系統(tǒng)是一個基于Internet,采用B2C(Business to Consumers)模式,并根據(jù)現(xiàn)有的網(wǎng)上購物系統(tǒng)的現(xiàn)狀而設(shè)計開發(fā)的電子商務(wù)平臺。它不但可以擴(kuò)大商家的規(guī)模和市場影響力,而且可以減少企業(yè)的經(jīng)營成本,提高工作效率。本文首先介紹了網(wǎng)上購物系統(tǒng)的現(xiàn)狀及開發(fā)背景,然后論述了系統(tǒng)的設(shè)計目標(biāo),系統(tǒng)需求和總體設(shè)計方案,較詳細(xì)的論述了系統(tǒng)的詳細(xì)設(shè)計和實(shí)現(xiàn)。最后,本文對網(wǎng)上購物系統(tǒng)進(jìn)行了系統(tǒng)檢測并提出了還需要改進(jìn)的問題。 本系統(tǒng)主要為用戶提供了會員注冊,購物車管理,用戶資料修改等功能,為管理員提供了商品管理,用戶信息管理等功能。在設(shè)計方面,本系統(tǒng)采用B/S三層結(jié)構(gòu),同時使用JSP技術(shù)進(jìn)行動態(tài)頁面的設(shè)計,從系統(tǒng)的安全性和代碼的可重用性方面考慮,運(yùn)用JavaBean對程序的關(guān)鍵代碼進(jìn)行封裝。后臺數(shù)據(jù)庫選用My SQL數(shù)據(jù)庫。關(guān)鍵詞 B/S結(jié)構(gòu),JavaBean,JSPI沈陽工程學(xué)院畢業(yè)設(shè)計論文 AbstractAbstractThe shop online system is a electronic commercial platform which has been designed according to the situation of shop online system based on Internet with B2C mode. It can not only enhance the scale of shopping centre and market influence, and can also reduce the enterprises running cost, improve work efficiency.The thesis has firstly introduced the practical situation and the developing background of the system. And then has described the designing goal、system need and the whole designing plan, has described the detailed design and reality of the system in detail. Finally, conclusion has been drawn about the system and problem has also been raised. The system has mainly provided users with the following functions: membership registration、shopping car management、goods search、information modify etc. It has also provided managers with goods management、customer information management、news management 、ad management and so on. It has been designed with B/S mode of three-tier structure, JSP technology in dynamic page design. Considering from the security and reusing code of the system, key codes has been secured by JavaBean technology. My SQL database has been used as the background database.Key Words B/S structure,JavaBean,JSP 37沈陽工程學(xué)院畢業(yè)設(shè)計論文 目 錄目 錄摘 要IAbstractII第1章 緒 論1第2章 網(wǎng)上購物系統(tǒng)概述22.1 系統(tǒng)開發(fā)背景22.1.1網(wǎng)上購物的發(fā)展22.1.2 網(wǎng)上購物系統(tǒng)的現(xiàn)狀22.2 系統(tǒng)實(shí)現(xiàn)的目標(biāo)32.3 系統(tǒng)開發(fā)的意義3第3章 網(wǎng)上購物系統(tǒng)關(guān)鍵技術(shù)43.1標(biāo)準(zhǔn)JAVA43.2 JDBC技術(shù)43.3 Hibernate技術(shù)53.4 JSP/Servlet83.5 Struts技術(shù)93.5.1 Struts簡介93.5.2web應(yīng)用的配置文件93.5.3 書寫ActionForm類10第4章 系統(tǒng)分析134.1 網(wǎng)站的設(shè)計目標(biāo)134.2 網(wǎng)站的可行性分析134.3 開發(fā)技術(shù)的選擇134.4系統(tǒng)的主要架構(gòu)及開發(fā)模式144.4.1基于B/S的體系結(jié)構(gòu)144.4.2基于MVC的應(yīng)用開發(fā)模型154.5網(wǎng)站的深入調(diào)查164.6網(wǎng)站設(shè)計的特點(diǎn)174.7網(wǎng)站開發(fā)的設(shè)計思想174.8系統(tǒng)設(shè)計的總體規(guī)則17第5章 系統(tǒng)數(shù)據(jù)庫設(shè)計185.1 系統(tǒng)數(shù)據(jù)庫表的基本設(shè)計185.2主要功能中數(shù)據(jù)庫的實(shí)現(xiàn)185.3 數(shù)據(jù)表介紹195.4 數(shù)據(jù)庫建表語句24第6章 系統(tǒng)功能實(shí)現(xiàn)276.1 網(wǎng)站的功能分析276.2平臺功能模塊的設(shè)計分析276.3系統(tǒng)功能流程分析286.3.1前臺購物流程286.3.2注冊功能流程286.3.3用戶登錄流程296.3.4商品管理流程306.3.5購物車流程31第7章 環(huán)境的搭建與系統(tǒng)測試337.1系統(tǒng)運(yùn)行環(huán)境的搭建337.1.1 JAVA虛擬機(jī)的安裝337.1.2 Tomcat環(huán)境搭建337.2系統(tǒng)測試337.2.1系統(tǒng)關(guān)鍵部分測試分析337.2.2測試分析總結(jié)及說明347.2.3 系統(tǒng)的性能分析34結(jié) 論35致 謝36沈陽工程學(xué)院畢業(yè)設(shè)計論文 第1章 緒 論第1章 緒 論目前,網(wǎng)絡(luò)正以一種前所未有的沖擊力在影響著人類的活動,包括人類的生產(chǎn)和日常生活。網(wǎng)絡(luò)的誕生和發(fā)展,顛覆了傳統(tǒng)的信息傳播方式,沖破了存在于傳統(tǒng)交流方式中時間和空間的種種壁壘,極大地改變了人類從物質(zhì)到精神、從形式到內(nèi)容、從生產(chǎn)到生活的各種活動,并且給人類帶來了新的機(jī)遇和挑戰(zhàn)。2006年1月17日,中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)在京發(fā)布“第十七次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告”。報告顯示,截至2005年12月31日,我國上網(wǎng)用戶總數(shù)突破1億,為1.11億人,其中寬帶上網(wǎng)人數(shù)達(dá)到6430萬人。目前,我國網(wǎng)民數(shù)和寬帶上網(wǎng)人數(shù)均位居世界第二。國家頂級域名CN注冊量首次突破百萬,達(dá)到109萬,成為國內(nèi)用戶注冊域名的首選,穩(wěn)居亞洲第一。上網(wǎng)計算機(jī)數(shù)達(dá)到4950萬臺,網(wǎng)絡(luò)國際出口帶寬達(dá)到136106M,網(wǎng)站數(shù)達(dá)到69.4萬個。IP地址總數(shù)達(dá)到7439萬個,僅次于美國和日本,位居世界第三。在互聯(lián)網(wǎng)服務(wù)業(yè)務(wù)方面:電子郵件、搜索引擎、網(wǎng)上銀行、在線交易、網(wǎng)絡(luò)廣告、網(wǎng)絡(luò)新聞、網(wǎng)絡(luò)游戲等服務(wù)業(yè)務(wù)仍然快速的發(fā)展著。而本次設(shè)計的任務(wù)是,構(gòu)建一個電子商務(wù)網(wǎng)站,采用的主要技術(shù)是基于服務(wù)器端的JSP、Java的組件JavaBean,以及網(wǎng)頁編程語言HTML。JSP是Java Server Page的縮寫,是由Sun Microsystems公司倡導(dǎo)、許多公司參與建立一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),它在動態(tài)網(wǎng)頁的建設(shè)中有強(qiáng)大而特別的功能。JSP是一種服務(wù)器端HTML(或XML)嵌入Java代碼的腳本語言,是開發(fā)Web動態(tài)網(wǎng)站快速而有效的工具,JSP的技術(shù)的優(yōu)勢:1. JSP技術(shù)是用Java語言作為腳本語言的。Java語言是成熟的、強(qiáng)大的、易擴(kuò)充的編程語言。2. 高效性與安全性。JSP在執(zhí)行前先被編譯成字節(jié)碼,字節(jié)碼由Java虛擬機(jī)解釋執(zhí)行,比源碼解釋效率高。3. 可維護(hù)性。由于JSP技術(shù)是一種開放的、跨平臺的結(jié)構(gòu),因此Web服務(wù)器、平臺及其他組件能很容易升級或切換,且不會影響JSP基本的應(yīng)用程序。4.穩(wěn)定性。5.產(chǎn)品的多樣性。目前,在國內(nèi)JSP還是一種較新的技術(shù)。但JSP+Servlet+JDBC+JavaBean目前已經(jīng)成為開發(fā)電子商務(wù)平臺的主流技術(shù)。隨著國內(nèi)與國際的接軌,JSP必將成為網(wǎng)站開發(fā)技術(shù)的首選。沈陽工程學(xué)院畢業(yè)設(shè)計論文 第2章 網(wǎng)上購物系統(tǒng)概述第2章 網(wǎng)上購物系統(tǒng)概述2.1 系統(tǒng)開發(fā)背景近年來隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)上購物已經(jīng)越來越貼近我們的生活,在以后也會有一個良好的發(fā)展勢頭,下面我們就看看網(wǎng)上購物的發(fā)展和現(xiàn)狀。2.1.1網(wǎng)上購物的發(fā)展近年來,隨著Internet的迅速崛起,互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道并逐步進(jìn)入傳統(tǒng)的流通領(lǐng)域。于是電子商務(wù)開始流行起來,越來越多的商家在網(wǎng)上建起在線商店,向消費(fèi)者展示出一種新穎的購物理念。網(wǎng)上購物系統(tǒng)作為B2B,B2C(Business to Customer,即企業(yè)對消費(fèi)者),C2C(Customer to Customer,即消費(fèi)者對消費(fèi)者)電子商務(wù)的前端商務(wù)平臺,在其商務(wù)活動全過程中起著舉足輕重的作用。本文主要考慮的是如何建設(shè)B2C的網(wǎng)上購物系統(tǒng)。網(wǎng)上購物是一種具有交互功能的商業(yè)信息系統(tǒng)。它向用戶提供靜態(tài)和動態(tài)兩類信息資源。所謂靜態(tài)信息是指那些比經(jīng)常變動或更新的資源,如公司簡介、管理規(guī)范和公司制度等等;動態(tài)信息是指隨時變化的信息,如商品報價,會議安排和培訓(xùn)信息等。網(wǎng)上購物系統(tǒng)具有強(qiáng)大的交互功能,可使商家和用戶方便的傳遞信息,完成電子貿(mào)易或EDI交易。這種全新的交易方式實(shí)現(xiàn)了公司間文檔與資金的無紙化交換。2.1.2 網(wǎng)上購物系統(tǒng)的現(xiàn)狀目前在國內(nèi)PHP與ASP應(yīng)用最為廣泛。而JSP由于是一種較新的技術(shù),國內(nèi)采用的較少。但在國外,JSP已經(jīng)是比較流行的一種技術(shù),尤其是電子商務(wù)類的網(wǎng)站,多采用JSP。采用PHP的網(wǎng)站如新浪網(wǎng)(sina)、中國人(Chinaren)等,但由于PHP本身存在的一些缺點(diǎn),使得它不適合應(yīng)用于大型電子商務(wù)站點(diǎn),而更適合一些小型的商業(yè)站點(diǎn)。首先,PHP缺乏規(guī)模支持。其次,缺乏多層結(jié)構(gòu)支持。對于大負(fù)荷站點(diǎn),解決方法只有一個:分布計算。數(shù)據(jù)庫、應(yīng)用邏輯層、表示邏輯層彼此分開,而且同層也可以根據(jù)流量分開,組成二維陣列。而PHP則缺乏這種支持。還有上面提到過的一點(diǎn),PHP提供的數(shù)據(jù)庫接口支持不統(tǒng)一,這就使得它不適合運(yùn)用在電子商務(wù)中。ASP和JSP則沒有以上缺陷,ASP可以通過Microsoft Windowsd的COM/DCOM獲得ActiveX規(guī)模支持,通過DCOM和Transcation Server獲得結(jié)構(gòu)支持;JSP可以通過SUN Java的Java Class和EJB獲得規(guī)模支持,通過EJB/CORBA以及眾多廠商的Application Server獲得結(jié)構(gòu)支持。三者中,JSP應(yīng)該是未來發(fā)展的趨勢。世界上一些大的電子商務(wù)解決方案提供商都采用JSP/Servlet。比較出名的如IBM的Ebusiness,它的核心是采用JSP/Servlet的WebSphere;西方另外一個非常著名的電子商務(wù)軟件提供商,Intershop。它原來的產(chǎn)品Intershop1 2, 3, 4占據(jù)了主要的電子商務(wù)軟件份額。它們都是通過CGI來提供支持 的。但去年10月后它推出了Enfinity,一個采用JSP/Servlet的電子商務(wù)Application Server,而且聲言不再開發(fā)傳統(tǒng)軟件??偟膩碚f,ASP,PHP,JSP三者都有相當(dāng)數(shù)量的支持者,而這三者也各有所長,在開發(fā)過程中,我們應(yīng)該根據(jù)實(shí)際的需要來使用最合適的技術(shù),本系統(tǒng)則采用較新的JSP技術(shù),一方面JSP的安全性和跨平臺性比較好,另一方面,我也希望能從開發(fā)該系統(tǒng)的過程中,深入學(xué)習(xí)一下這門編程語言。2.2 系統(tǒng)實(shí)現(xiàn)的目標(biāo)現(xiàn)在流行的網(wǎng)上購物系統(tǒng)不僅要有漂亮的網(wǎng)頁,更要有嚴(yán)謹(jǐn)?shù)囊?guī)劃,注重每一個細(xì)小的環(huán)節(jié)。這樣才能使得在電子交易時避免不必要錯誤發(fā)生。我們將使用HTML、JSP等技術(shù)來編輯網(wǎng)頁,并運(yùn)用JDBC技術(shù)把數(shù)據(jù)庫和動態(tài)網(wǎng)頁相關(guān)聯(lián)。傳統(tǒng)的管理信息系統(tǒng)信息獲取方法是由專業(yè)文字錄入人員將信息輸入到管理系統(tǒng)的數(shù)據(jù)庫中,這種方法在數(shù)據(jù)量不大時有很多的應(yīng)用場合。當(dāng)數(shù)據(jù)量比較大,并且有較強(qiáng)的專業(yè)性時,錄入的費(fèi)用和出錯的可能性都相應(yīng)上升。本設(shè)計在實(shí)際應(yīng)用中的解決方案是建立網(wǎng)站, 以及自己的數(shù)據(jù)庫,使得所需商品信息可以及時的保存、更新,可以更好的及時了解商品買賣的情況。2.3 系統(tǒng)開發(fā)的意義Internet的發(fā)展,為改變傳統(tǒng)的商業(yè)運(yùn)作模式提供了一種技術(shù)上的可行性的方案:利用Internet的技術(shù)和協(xié)議,建立各種企業(yè)內(nèi)部網(wǎng)Intranet,企業(yè)外部網(wǎng)Extranet,通過廉價的通訊手段,將買家與賣家、廠商和合作伙伴緊密結(jié)合在了一起,消除時間與空間帶來的障礙,從而大大的節(jié)約了交易成本,擴(kuò)大了交易范圍。而在實(shí)際的生活中,這種方案已經(jīng)被廣泛的運(yùn)用到了實(shí)際的商業(yè)活動中了,人們將這種交易模式稱為:電子商務(wù)。 當(dāng)今比較流行的網(wǎng)上購物系統(tǒng)國外有“淘寶()”,國內(nèi)有“當(dāng)當(dāng)()”。它們都是相當(dāng)優(yōu)秀的電子商務(wù)網(wǎng)站,對其他的網(wǎng)站提供了良好的典范。設(shè)計中可以學(xué)習(xí)參考他們的思想,了解和熟悉整個網(wǎng)站的開發(fā)流程及完整的電子商務(wù)網(wǎng)站應(yīng)有的功能和注意事項(xiàng)。 設(shè)計和完成一個電子商務(wù)網(wǎng)站的,將會牽涉到許多技術(shù)上的問題,如:動態(tài)網(wǎng)頁制作技術(shù)的,后臺數(shù)據(jù)庫的設(shè)計和管理,通過實(shí)際的制作個網(wǎng)站,可以避免紙上談兵,在實(shí)踐中掌握上述技術(shù)的使用。沈陽工程學(xué)院畢業(yè)設(shè)計論文 第3章 網(wǎng)上購物系統(tǒng)關(guān)鍵技術(shù)第3章 網(wǎng)上購物系統(tǒng)關(guān)鍵技術(shù)3.1標(biāo)準(zhǔn)JAVA系統(tǒng)涉及到標(biāo)準(zhǔn)JAVA方面的知識,其中很重要的一部分是集合框架,它用來儲存多個對象,使其可批量產(chǎn)生對象并將其填加到集合對象中,集合框架中范型技術(shù)又使得數(shù)據(jù)傳輸時的安全性得到保障。在后面介紹的Hibernate、JSP等技術(shù)中都將用到簡單的標(biāo)準(zhǔn)JAVA知識,比如在使用Hibernate技術(shù)持久化數(shù)據(jù)時,我們需要編寫實(shí)體類并用和方法對對象屬性進(jìn)行設(shè)置和獲得,而在JSP技術(shù)中我們需要編寫JavaBean也設(shè)計到簡單的標(biāo)準(zhǔn)JAVA知識,所以系統(tǒng)的設(shè)計者需要對JAVA有一定的基礎(chǔ)。3.2 JDBC技術(shù)在系統(tǒng)開發(fā)中,建立了兩個項(xiàng)目,其中名為xindouInit項(xiàng)目是用來完成初始化工作的,在其中運(yùn)用到了JDBC技術(shù),運(yùn)用此項(xiàng)技術(shù)可對底層數(shù)據(jù)庫完成初始化任務(wù),將相應(yīng)的圖片和字符插入到數(shù)據(jù)庫,這些數(shù)據(jù)都將動態(tài)的顯示到網(wǎng)頁中,由于底層數(shù)據(jù)庫是My SQL數(shù)據(jù)庫所以還需要有相應(yīng)數(shù)據(jù)庫的驅(qū)動以及路徑,并在一段靜態(tài)代碼塊中實(shí)現(xiàn)數(shù)據(jù)庫的連接,如下為實(shí)現(xiàn)連接的代碼:public class DBCon private static Connectioncon;private static Stringurl=jdbc:mysql:/:3306/xindou?characterEncoding=utf8;public static Stringuser=root;public static Stringpwd=1234;public static Connection getCon()if(con=null)try Class.forName(com.mysql.jdbc.Driver);con=DriverManager.getConnection(url,user,pwd); catch (Exception e) e.printStackTrace();return con;public static void execute(String sql)if(con=null)getCon();try PreparedStatement pstmt=con.prepareStatement(sql);pstmt.execute(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();System.out.println(sql語法錯誤);本系統(tǒng)運(yùn)用了My SQL下面將關(guān)于My SQL的驅(qū)動和路徑列出:Driver: com.mysql.jdbc.Driverurl: jdbc:mysql:/:3306/xindou?characterEncoding=utf8;運(yùn)用JDBC技術(shù)只是為了完成數(shù)據(jù)的初始化任務(wù),后面的一系列數(shù)據(jù)持久化任務(wù)將有Hibernate去完成,因?yàn)樗哂懈玫撵`活性。3.3 Hibernate技術(shù)前面已經(jīng)介紹了運(yùn)用JDBC技術(shù)只是為了完成數(shù)據(jù)的初始化任務(wù),剩下的數(shù)據(jù)持久化將由Hibernate技術(shù)去完成,因?yàn)樗`活,很容易完成各項(xiàng)數(shù)據(jù)庫交互任務(wù)。Hibernate可以將注冊用戶的信息持久化到數(shù)據(jù)庫,還可以將一系列對網(wǎng)站操作的數(shù)據(jù)持久化到數(shù)據(jù)庫,比如保存用戶所購買的物品,除此之外還可以對數(shù)據(jù)庫進(jìn)行數(shù)據(jù)查詢操作,如當(dāng)用戶需要查詢所購買的物品時是Hibernate在底層去實(shí)現(xiàn),然后將查詢的結(jié)果顯示到網(wǎng)頁上,以下為一些比較重要的Hibernate代碼:Hibernate在對數(shù)據(jù)進(jìn)行持久化造作時需要有實(shí)體類,由于比較簡單就不在這里贅述了,在這里主要是講一下Hibernate的配置文件:配置文件:rootjdbc:mysql:/:3306/xindou?useUnicode=true&characterEncoding=utf8org.hibernate.dialect.MySQLDialectcom.mysql.jdbc.Driver1234com.mysql.jdbc.Driverfalse映射實(shí)體類的映射文件: Hibernate映射文件涉及許多關(guān)系,如一對一、一對多、多對多,在相關(guān)資料上都可以做查詢,這里不再贅述(以上代碼有多處刪改只是為了篇幅不至于太累贅)。以下代碼為hibernate解析文件和產(chǎn)生會話對象的代碼:import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class SessionFactoryHolderprivate static SessionFactory sessionFactory;statictry/*Configuration是Hibernate程序的啟動類 ,負(fù)責(zé)解析配置文件(包括hibernate.cfg.xml* 及其注冊的實(shí)體映射文件,即*.hbm.xml),并負(fù)責(zé)構(gòu)建SessionFactory對象,一旦工作* 完成,Configuration就可以釋放掉,解析的結(jié)果保存在SessionFactory*/Configuration cfg=new Configuration();sessionFactory=cfg.configure().buildSessionFactory();catch(Throwable t)t.printStackTrace();throw new ExceptionInInitializerError();/*Session負(fù)責(zé)同數(shù)據(jù)庫交互,該對象線程不安全,創(chuàng)建及銷毀該對象并不會影響性能,建議:使用時 * 現(xiàn)去創(chuàng)建,使用完畢釋放*/public static Session getSession()return sessionFactory.openSession();public static Session getCurrentSession() return sessionFactory.getCurrentSession();3.4 JSP/Servlet在系統(tǒng)中Servlet主要完成了三個很重要的功能,即網(wǎng)頁的顯示、Cookie的保存、過濾器,JSP則是簡單化了的Servlet,因?yàn)槊慨?dāng)JSP要執(zhí)行的時候都要先翻譯成相應(yīng)的Servlet才能得以執(zhí)行,這里重點(diǎn)說明Cookie的保存,Cookie是存在于客戶端的,我們可以將客戶購買的物品保存在Cookie中,等客戶端提交時再錄入數(shù)據(jù)庫,以下為Cookie要保存物品和刪除物品的代碼:向cookie購物車中添加某商品,如果該商品存在,商品數(shù)量加1。public List save(Shopcart cart,HttpServletRequest request,HttpServletResponse response)Cookie cookie = CookieOperate.FindCookie(shopcart, request.getCookies();Listgoods= CookieOperate.getGoodsFromCookie(cookie=null?null:cookie.getValue();save(cart, goods);String savecookie = CookieOperate.toCookieString(goods);CookieOperate.SaveCookie(new Cookie(shopcart,savecookie), response);return goods;public List modifyAmount(Shopcart cart,Integer amount,HttpServletRequest request,HttpServletResponse response)Cookie cookie = CookieOperate.FindCookie(shopcart, request.getCookies();Listgoods= CookieOperate.getGoodsFromCookie(cookie=null?null:cookie.getValue();modifyAmount(cart, amount, goods);String savecookie = CookieOperate.toCookieString(goods);CookieOperate.SaveCookie(new Cookie(shopcart,savecookie), response);return goods;cookie中購物車中存在某商品,將其刪除。publicListdelete(Shopcartcart,HttpServletRequest request,HttpServletResponse response)Stringcookie=CookieOperate.FindCookie(shopcart, request.getCookies().getValue();List goods = CookieOperate.getGoodsFromCookie(cookie);delete(cart, goods);cookie = CookieOperate.toCookieString(goods);CookieOperate.SaveCookie(new Cookie(shopcart,cookie), response);return goods;3.5 Struts技術(shù)3.5.1 Struts簡介Struts是由apache(阿帕其)開源聯(lián)盟提供的一套基于構(gòu)建java web應(yīng)用程序的框架,他的目標(biāo)是分離web程序的表示層(view),控制層(control)和模型層(model),即mvc模式。使程序員將更多的精力投入到后臺的業(yè)務(wù)邏輯設(shè)計,而不是底層的web基礎(chǔ)框架。Struts的所有功能都是建立在已有的java web組件上,例如servlet,jsp或者java bean,它只是利用一種方式將這些元素組織起來,使他們協(xié)同工作。并不是開發(fā)一種新的組件總之,struts只是mvc框架,用于快速開發(fā)java web應(yīng)用,struts的核心重在C(Controller),包括中心控制器ActionServlet和我們定制的Action,也為V(View)提供了一些列的標(biāo)簽。Struts幾乎沒有涉及到M(Model)除了actionform,所以struts可以采用java實(shí)現(xiàn)的任何形式的商業(yè)邏輯。3.5.2web應(yīng)用的配置文件web.xml(主要配置struts提供的中心控制器ActionServlet)。 actionorg.apache.struts.action.ActionServlet config/可以不寫,但是如果想要有多個struts配置文件,則用以下方式 /WEB-INF/struts-config.xml,/WEB-INF/struts-config-dis.xml action *.do 3.5.3 書寫ActionForm類public class LoginForm extends ActionForm private String name;private String password;public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) ActionErrors errors=new ActionErrors();ActionMessage message=new ActionMessage(“name.errors”);errors.add(“name”,message);return errors;public void reset(ActionMapping mapping, HttpServletRequest request) /用于重置屬性,主要是多選框的重置下面為本系統(tǒng)運(yùn)用到的一個關(guān)于ActionForm類:ackage tarena.form;import org.apache.struts.action.ActionForm;SuppressWarnings(serial)public class AddressForm extends ActionForm private String tbName;private String ddlProvince;private String ddlCity;private String ddlCounty;private String tbAddress;private String tbZip;private String tbPhone;private String tbMobile;public String getDdlCity() return ddlCity;public void setDdlCity(String ddlCity) this.ddlCity = ddlCity;public String getDdlCounty() return ddlCounty;public void setDdlCounty(String ddlCounty) this.ddlCounty = ddlCounty;public String getDdlProvince() return ddlProvince;public void setDdlProvince(String ddlProvince) this.ddlProvince = ddlProvince;public String getTbAddress() return tbAddress;public void setTbAddress(String tbAddress) this.tbAddress = tbAddress;public String getTbMobile() return tbMobile;public void setTbMobile(String tbMobile) this.tbMobile = tbMobile;public String getTbName() return tbName;public void setTbName(String tbName) this.tbName = tbName;public String getTbPhone() return tbPhone;public void setTbPhone(String tbPhone) this.tbPhone = tbPhone;public String getTbZip() return tbZip;public void setTbZip(String tbZip) this.tbZip = tbZip;沈陽工程學(xué)院畢業(yè)設(shè)計論文 第4章 系統(tǒng)分析第4章 系統(tǒng)分析系統(tǒng)分析是平臺開發(fā)的一個不可缺少的環(huán)節(jié),為了能夠使本系統(tǒng)更好、更完善地被設(shè)計出來,就必須先進(jìn)行調(diào)查研究。在系統(tǒng)調(diào)查的基礎(chǔ)上,對新系統(tǒng)的功能進(jìn)行細(xì)致的分析,從而才能夠開發(fā)出完整的系統(tǒng)設(shè)計4.1 網(wǎng)站的設(shè)計目標(biāo)本平臺利用現(xiàn)在比較廣泛的JSP+My SQL數(shù)據(jù)庫的架構(gòu)實(shí)現(xiàn)的,此系統(tǒng)分為前臺管理和后臺管理。前臺管理是友好的操作界面,供用戶瀏覽、查詢使用。包括:瀏覽商品、查詢商品、訂購商品、購物車、用戶維護(hù)等功能;后臺管理是提供給管理員的,其中包括:商品管理、用戶管理等。使管理員從繁瑣的手工操作中解脫出來,并提高了辦公效率。4.2 網(wǎng)站的可行性分析隨著計算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)人口的增加,網(wǎng)絡(luò)世界也越來越廣博,越來越豐富,電子商務(wù)已經(jīng)成為網(wǎng)上的一股潮流。我們相信要不了太長有時間,顧客就可以在網(wǎng)絡(luò)世界上獲得他們在現(xiàn)實(shí)世界上可以獲得的所有商品和服務(wù)。可行性研究是為了弄清楚系統(tǒng)開發(fā)的項(xiàng)目是不是可以實(shí)現(xiàn)和值得進(jìn)行研究的過程,實(shí)際上是一次大大簡化系統(tǒng)分析和系統(tǒng)設(shè)計的過程,所以,進(jìn)行可執(zhí)行性的分析是非常必要的,也是很重要的,經(jīng)過最初的設(shè)計目標(biāo)和進(jìn)行的市場調(diào)查得出以下四點(diǎn)的可行性分析:經(jīng)濟(jì)可行性:該平臺設(shè)計只是作為本人的畢業(yè)設(shè)計,又因?yàn)楸救说脑O(shè)計能力有限,其功能還不能完善,所以沒有什么經(jīng)濟(jì)效益可談。技術(shù)可行性:JSPServlet的技術(shù)已經(jīng)較為成熟。運(yùn)行可行性:該系統(tǒng)需要搭建JVM即JAVA虛擬機(jī)和Tomcat環(huán)境,在此環(huán)境下系統(tǒng),并且在正確連接數(shù)據(jù)庫后可以正常運(yùn)行。法律可行性:該平臺是作為畢業(yè)設(shè)計與商業(yè)無關(guān),又因?yàn)槭亲灾鏖_發(fā)設(shè)計,因此不會構(gòu)成侵權(quán),在法律上是可行的。通過以上的可行性分析,我將采用JSPServlet相結(jié)合的技術(shù),運(yùn)用My SQL數(shù)據(jù)庫對網(wǎng)站進(jìn)行建設(shè)。4.3 開發(fā)技術(shù)的選擇合理的選擇開發(fā)技術(shù),對于網(wǎng)站開發(fā)的完成情況有著非常重要的影響。要開發(fā)一個網(wǎng)站,首先要選擇一個動態(tài)網(wǎng)頁開發(fā)技術(shù)。當(dāng)前比較流行的動態(tài)網(wǎng)頁開發(fā)技術(shù)有JSP、ASP、PHP。它們的特性比較如下。表4.1 asp/jsp/php比較表技術(shù)名稱ASPJSPPHP對數(shù)據(jù)庫的支持好好好開發(fā)難易度容易容易較難使用平臺Windows9X/NTWindows/UNIXUNIX安全性不好好不好對組件的支持支持支持不支持執(zhí)行方式解釋執(zhí)行編譯之后執(zhí)行解釋執(zhí)行跨平臺不好好好這三種都是在傳統(tǒng)的HTML代碼中,利用HTML標(biāo)簽的擴(kuò)展,構(gòu)成頁面。不難看出,JSP的綜合實(shí)力是最強(qiáng)的,尤其是在安全性和跨平臺性兩個方面,比其他的兩種技術(shù)都要好,因此,最后我們選擇基于Java的JSP技術(shù)作為動態(tài)網(wǎng)頁的開發(fā)技術(shù)。4.4系統(tǒng)的主要架構(gòu)及開發(fā)模式系統(tǒng)的建設(shè)關(guān)鍵在于其所使用的架構(gòu),而網(wǎng)上購物這種基于web的系統(tǒng),傳統(tǒng)的c/s架構(gòu)已經(jīng)不能滿足大量用戶的訪問和操作,b/s基于瀏覽器的架構(gòu)則是目前網(wǎng)絡(luò)系統(tǒng)應(yīng)用的主流,它將大量的數(shù)據(jù)處理工作交給服務(wù)器端來處理,客戶端只用通過普通的IE瀏覽器即可訪問系統(tǒng),方便快捷而且利于系統(tǒng)的更新和維護(hù),java語言在該方面更是得天獨(dú)厚,j2ee規(guī)范的出現(xiàn)則使系統(tǒng)的開發(fā)更加規(guī)范,層次更加清楚,更利于對復(fù)雜事務(wù)的處理,而且在安全性方面也做的更好?;趍vc的開發(fā)流程則使開發(fā)過程更加清晰明了,利于做一些復(fù)雜的邏輯實(shí)現(xiàn),從而節(jié)省了開發(fā)周期和開發(fā)成本。4.4.1基于B/S的體系結(jié)構(gòu)在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進(jìn)行處理,將用戶所需信息返回到瀏覽器。B/S結(jié)構(gòu)簡化了客戶機(jī)的工作,客戶機(jī)上只需配置少量的客戶端軟件。服務(wù)器將擔(dān)負(fù)更多的工作,對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。瀏覽器發(fā)出請求,而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成等工作全部由Web Server完成。實(shí)際上B/S體系結(jié)構(gòu)是把二層C/S結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機(jī)的任務(wù)中分離出來,由Web服務(wù)器單獨(dú)組成一層來負(fù)擔(dān)其任務(wù),這樣客戶機(jī)的壓力減輕了,把負(fù)荷分配給了Web服務(wù)器。這種三層體系結(jié)構(gòu)如圖4.1所示。Browse瀏覽器Web服務(wù)器數(shù)據(jù)庫圖4.1 B/S三層架構(gòu)示意圖 這種結(jié)構(gòu)不僅把客戶機(jī)從沉重的負(fù)擔(dān)和不斷對其提高的性能的要求中解放出來,也把技術(shù)維護(hù)人員從繁重的維護(hù)升級工作中解脫出來。由于客戶機(jī)把事務(wù)處理邏輯部分分給了功能服務(wù)器,使客戶機(jī)一下子苗條了許多,不再負(fù)責(zé)處理復(fù)雜計算和數(shù)據(jù)訪問等關(guān)鍵事務(wù),只負(fù)責(zé)顯示部分,所以維護(hù)人員不再為程序的維護(hù)工作奔波于每個客戶機(jī)之間,而把主要精力放在功能服務(wù)器上程序的更新工作。這種三層結(jié)構(gòu)在層與層之間相互獨(dú)立,任何一層的改變不會影響其它層的功能。 這種結(jié)構(gòu)是把程序的運(yùn)行分為了三層架構(gòu),由服務(wù)器負(fù)責(zé)處理程序的運(yùn)行,包括底層數(shù)據(jù)庫的操作也是,這些都是用戶不可間的,而是由服務(wù)器端運(yùn)行的,當(dāng)數(shù)據(jù)庫操作完成以后把從數(shù)據(jù)庫中操作得到的數(shù)據(jù)連同網(wǎng)頁傳輸?shù)娇蛻舳?,這樣就大大減輕了客戶端的負(fù)擔(dān)是顯示網(wǎng)頁的速度大大的提高,用戶就不用在漫長的等待網(wǎng)頁的顯示給網(wǎng)頁的瀏覽量等都帶來了好處。4.4.2基于MVC的應(yīng)用開發(fā)模型在傳統(tǒng)的基于Web的應(yīng)用系統(tǒng)中,例如ASP,CGI等,通常開發(fā)者將業(yè)務(wù)邏輯,數(shù)據(jù)邏輯、展示邏輯等混雜在一起,在同一個界面面里既進(jìn)行后臺數(shù)據(jù)庫的訪問和操作,同時還包含業(yè)務(wù)流程和頁面表示。這樣編寫出來的程序,既不利于程序員對業(yè)務(wù)代碼的調(diào)試,同時也不利于編輯人員進(jìn)行交互頁面的設(shè)計。同時系統(tǒng)也不具備可擴(kuò)展性,當(dāng)我們要在現(xiàn)有業(yè)務(wù)上進(jìn)行擴(kuò)展的時候,通常無法借助于現(xiàn)有的資源和應(yīng)用,而只能夠重新編寫,大大增加了投資,延長了系統(tǒng)上線的時間,失去了競爭市場的優(yōu)勢。在本網(wǎng)上購物系統(tǒng)中,將采用通行的MVC模式來構(gòu)建應(yīng)用。這種結(jié)構(gòu)解決了前面所述的所有問題,在我們的應(yīng)用集成網(wǎng)絡(luò)中,通過企業(yè)級高端J2EE應(yīng)用服務(wù)器實(shí)現(xiàn)MVC開發(fā)模型。MVC的邏輯圖如下。應(yīng)用服務(wù)器容器業(yè)務(wù)組件數(shù)據(jù)庫Web服務(wù)器瀏覽器JspServerlet控制器圖4.2 應(yīng)用服務(wù)器之上采用MVC開發(fā)的邏輯示意圖Contr

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論