自由商品交易系統(tǒng)_第1頁(yè)
自由商品交易系統(tǒng)_第2頁(yè)
自由商品交易系統(tǒng)_第3頁(yè)
自由商品交易系統(tǒng)_第4頁(yè)
自由商品交易系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

畢業(yè)設(shè)計(jì)(論文)設(shè)計(jì)(論文)題目自由商品交易系統(tǒng)自由商品交易系統(tǒng)摘要隨著科技的迅速發(fā)展,計(jì)算機(jī)技術(shù)已應(yīng)用到社會(huì)的各個(gè)領(lǐng)域。隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)的規(guī)模也逐漸增大,網(wǎng)絡(luò)的元素也隨之不斷增加,有的利用其通信,有的利用其商業(yè)用途,在網(wǎng)絡(luò)上進(jìn)行出售、收購(gòu)、宣傳等操作,從而使得網(wǎng)絡(luò)越來(lái)越成為現(xiàn)今社會(huì)上必不可少的元素,而網(wǎng)站就是這個(gè)網(wǎng)絡(luò)里很龐大的元素。通過(guò)商品交易系統(tǒng)這個(gè)平臺(tái),可以使用戶足不出戶就可以了解豐富的商品信息,極大的方便了用戶,系統(tǒng)的主要功能包括商品類(lèi)別管理、商品信息管理、訂單管理、會(huì)員管理、系統(tǒng)公告管理等。分為管理員用戶、會(huì)員用戶這二種用戶平臺(tái)。本系統(tǒng)前臺(tái)主要使用JSP作為開(kāi)發(fā)語(yǔ)言,后臺(tái)使用MYSQL作為數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)環(huán)境是MYECLIPSE,服務(wù)器采用TOMCAT,開(kāi)發(fā)出的一個(gè)基于WEB技術(shù)的B/S結(jié)構(gòu)的商品交易系統(tǒng)。關(guān)鍵詞電子商務(wù);JSP;B/S結(jié)構(gòu)ABSTRACTWITHTHERAPIDDEVELOPMENTOFSCIENCEANDTECHNOLOGY,THECOMPUTERTECHNOLOGYHASBEENAPPLIEDTOEACHFIELDOFTHESOCIETYALONGWITHTHECOMPUTERTECHNOLOGYANDTHERAPIDDEVELOPMENTOFCOMMUNICATIONTECHNOLOGY,THESCALEOFNETWORKISGRADUALLYINCREASING,NETWORKELEMENTALSOINCREASESCEASELESSLYSUBSEQUENTLY,SOMEUSETHEIRCOMMUNICATION,USINGSOMEOFITSCOMMERCIALPURPOSES,INTHENETWORKFORSALE,PURCHASE,PUBLICITYANDOTHEROPERATIONS,SOTHATTHENETWORKHASMOREANDMOREBECOMENOWADAYSESSENTIALELEMENTS,WHILETHEWEBSITEISVERYLARGEINTHENETWORKELEMENTS。THROUGHTHEB2CELECTRONICCOMMERCESYSTEMTHISPLATFORM,USERCANREMAINWITHINDOORSCANUNDERSTANDTHEWEALTHOFINFORMATIONGOODS,AGREATCONVENIENCETOUSERS,THEMAINFUNCTIONSOFTHESYSTEMINCLUDETHECOMMODITYCATEGORYMANAGEMENT,MERCHANDISEMANAGEMENT,ORDERMANAGEMENT,MEMBERMANAGEMENT,BULLETINMANAGEMENTSYSTEMASADMINISTRATOR,MEMBERSOFTHEUSERTOTHETWOUSERPLATFORM。THEFRONTOFTHESYSTEMUSINGJSPASADEVELOPMENTLANGUAGE,THEUSEOFMYSQLASADATABASEMANAGEMENTSYSTEM,THEDEVELOPMENTENVIRONMENTISMYECLIPSE,SERVERUSINGTOMCAT,DEVELOPEDAWEBTECHNOLOGYBASEDONB/SSTRUCTURECONVENIENTINFORMATIONINQUIRYSYSTEM。KEYWORDSELECTRONICCOMMERCEJSPB/SSTRUCTURE目錄摘要IABSTRACTII1緒論111課題背景112目的和意義113開(kāi)發(fā)工具及技術(shù)1131開(kāi)發(fā)工具1132JSP2133JAVASCRIPT314軟硬件需求32需求分析521可行性分析5211技術(shù)的可行性5212經(jīng)濟(jì)的可行性5213操作可行性5214法律的可行性522系統(tǒng)用戶用例圖5221普通用戶用例圖5222管理員用例圖623功能模塊需求分析624設(shè)計(jì)的基本思想825性能需求8251系統(tǒng)的安全性8252數(shù)據(jù)的完整性926界面需求93系統(tǒng)分析與設(shè)計(jì)1031數(shù)據(jù)庫(kù)的分析與設(shè)計(jì)10311數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)10312數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)12313數(shù)據(jù)庫(kù)的連接原理1432中文亂碼問(wèn)題處理154系統(tǒng)功能實(shí)現(xiàn)1841管理員登陸頁(yè)面1842管理員模塊19421商品類(lèi)別管理19422商品信息管理22423會(huì)員信息管理24424修改密碼25425退出系統(tǒng)2643普通用戶模塊26431系統(tǒng)主頁(yè)面實(shí)現(xiàn)26432商品類(lèi)別查詢(xún)27433用戶注冊(cè)275系統(tǒng)測(cè)試2851系統(tǒng)測(cè)試目的與意義2852測(cè)試過(guò)程2853其他錯(cuò)誤29結(jié)論30參考文獻(xiàn)31致謝32外文原文33中文翻譯411緒論11課題背景互聯(lián)網(wǎng)的興起從本質(zhì)上改變了整個(gè)社會(huì)的商品交易方式,國(guó)內(nèi)各大企業(yè)從上個(gè)世紀(jì)90年代互聯(lián)網(wǎng)興起之時(shí),就產(chǎn)生了通過(guò)網(wǎng)絡(luò)進(jìn)行銷(xiāo)售經(jīng)營(yíng)商品的想法。但是由于在互聯(lián)網(wǎng)上企業(yè)的信譽(yù)難以認(rèn)證、網(wǎng)絡(luò)的法規(guī)政策不健全、物流不發(fā)達(dá)等一系列的原因,限制了網(wǎng)上交易發(fā)展的步伐。進(jìn)入21世紀(jì)以后,隨著整個(gè)社會(huì)的發(fā)展、進(jìn)步,制約網(wǎng)上交易的各個(gè)瓶頸問(wèn)題逐一被擊破,各企業(yè)也紛紛的加入到電子商務(wù)的洪潮之中。中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)網(wǎng)絡(luò)營(yíng)銷(xiāo)工作委員會(huì)調(diào)查顯示,隨著國(guó)內(nèi)產(chǎn)業(yè)環(huán)境和消費(fèi)市場(chǎng)的成熟,網(wǎng)絡(luò)購(gòu)物將在今年實(shí)現(xiàn)更大發(fā)展。根據(jù)艾瑞咨詢(xún)最新研究數(shù)據(jù)顯示,2013年我國(guó)PC端網(wǎng)購(gòu)規(guī)模接近16000多億元,同比增速357,移動(dòng)端網(wǎng)購(gòu)整體交易規(guī)模達(dá)16764億元,同比增幅1654。網(wǎng)絡(luò)購(gòu)物這一消費(fèi)方式給人們生活帶來(lái)的變化,除了購(gòu)物場(chǎng)所的改變以外,更重要的是大大改變了傳統(tǒng)的消費(fèi)行為習(xí)慣,無(wú)論是否在網(wǎng)上購(gòu)物,上網(wǎng)查看產(chǎn)品的相關(guān)信息,已經(jīng)成為購(gòu)物決策環(huán)節(jié)的重要組成部分,這一環(huán)節(jié)對(duì)購(gòu)物行為的實(shí)際發(fā)生起到了至關(guān)重要的指導(dǎo)作用。12目的和意義與傳統(tǒng)方式銷(xiāo)售相比在線銷(xiāo)售有很多的優(yōu)點(diǎn)如1檢索便捷在線銷(xiāo)售提供了多種檢索途徑,可以從分類(lèi)、新品、特價(jià)等途徑進(jìn)行檢索,快捷準(zhǔn)確。2信息量大與傳統(tǒng)銷(xiāo)售方式相比,在線銷(xiāo)售能夠提供海量產(chǎn)品信息。3成本低,風(fēng)險(xiǎn)小,無(wú)地域限制網(wǎng)絡(luò)銷(xiāo)售最突出的優(yōu)點(diǎn)是不再限制消費(fèi)者的購(gòu)買(mǎi)時(shí)段,擴(kuò)大和鞏固了客戶群,從而增加了企業(yè)的核心競(jìng)爭(zhēng)力,節(jié)省實(shí)際開(kāi)店時(shí)需要投入的成本和租用費(fèi)用。13開(kāi)發(fā)工具及技術(shù)131開(kāi)發(fā)工具此次設(shè)計(jì)主要采用MYECLIPSE加TOMCAT后臺(tái)服務(wù)器進(jìn)行,設(shè)計(jì)過(guò)程中頁(yè)面主要使用JSP技術(shù)完成,下面對(duì)MYECLIPSE、TOMCAT和MYSQL數(shù)據(jù)庫(kù)進(jìn)行簡(jiǎn)要介紹。1MYECLIPSEMYECLIPSE,是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā)JAVA,J2EE的ECLIPSE插件集合,MYECLIPSE的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開(kāi)元產(chǎn)品的支持十分不錯(cuò)。MYECLIPSE企業(yè)級(jí)工作平臺(tái)(MYECLIPSEENTERPRISEWORKBENCH,簡(jiǎn)稱(chēng)MYECLIPSE)是對(duì)ECLIPSEIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JAVAEE的開(kāi)發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JAVAEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,STRUTS,JSP,CSS,JAVASCRIPT,SQL,HIBERNATE。2TOMCATTOMCAT是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP程序的首選。可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好APAHCE服務(wù)器,可利用它響應(yīng)對(duì)HTML頁(yè)面的訪問(wèn)請(qǐng)求。實(shí)際上TOMCAT部分是APACHE服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)運(yùn)行TOMCAT時(shí),它實(shí)際上作為一個(gè)與APACHE獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。3MYSQLMYSQL使用C和C編寫(xiě),并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性;支持AIX、FREEBSD、HPUX、LINUX、MACOS、NOVELLNETWARE、OPENBSD、OS/2WRAP、SOLARIS、WINDOWS等多種操作系統(tǒng);為多種編程語(yǔ)言提供了API;支持多線程,充分利用CPU資源;提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑;可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說(shuō),MYSQL提供的功能已經(jīng)綽綽有余,而且由于MYSQL是開(kāi)放源碼軟件,因此可以大大降低總體擁有成本。132JSPJSP技術(shù)使用JAVA編程語(yǔ)言編寫(xiě)類(lèi)XML的TAGS和SCRIPTLETS,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)TAGS和SCRIPTLETS訪問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于WEB的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。WEB服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的JAVA程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。JSP與SERVLET一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端就是一個(gè)HTML文本,因此客戶端只要有瀏覽器能瀏覽。JSP頁(yè)面由HTML代碼和嵌入其中的JAVA代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些JAVA代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。SERVLET是JSP的技術(shù)基礎(chǔ),而且大型的WEB應(yīng)用程序的開(kāi)發(fā)需要JAVASERVLET和JSP配合才能完成。JSP具備了JAVA技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο螅哂衅脚_(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。JSP技術(shù)的優(yōu)點(diǎn)(1)一次編寫(xiě),到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/NET的局限性是顯而易見(jiàn)的。(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的JAR文件就可以運(yùn)行SERVLET/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)APPLICATION進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,JAVA顯示了一個(gè)巨大的生命力。(4)多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。JAVA已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。(5)支持服務(wù)器端組件。WEB應(yīng)用需要強(qiáng)大的服務(wù)器端組件來(lái)支持,開(kāi)發(fā)人員需要利用其他工具設(shè)計(jì)實(shí)現(xiàn)復(fù)雜功能的組件供WEB頁(yè)面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVABEANS組件來(lái)實(shí)現(xiàn)復(fù)雜商務(wù)功能。內(nèi)部對(duì)象說(shuō)明REQUEST客戶端請(qǐng)求,此請(qǐng)求會(huì)包含來(lái)自GET/POST請(qǐng)求的參數(shù);RESPONSE網(wǎng)頁(yè)傳回客戶端的響應(yīng);PAGECONTEXT網(wǎng)頁(yè)的屬性是在這里管理;SESSION與請(qǐng)求有關(guān)的會(huì)話;APPLICATIONSERVLET正在執(zhí)行的內(nèi)容;OUT用來(lái)傳送響應(yīng)的輸出流;CONFIG代碼片段配置對(duì)象;PAGEJSP網(wǎng)頁(yè)本身;EXCEPTION針對(duì)錯(cuò)誤網(wǎng)頁(yè),未捕捉的例外。133JAVASCRIPTJAVASCRIPT是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語(yǔ)言。同時(shí)也是一種廣泛用于客戶端WEB開(kāi)發(fā)的腳本語(yǔ)言,常用來(lái)給HTML網(wǎng)頁(yè)添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作。JAVASCRIPT的一個(gè)重要功能就是面向?qū)ο蟮墓δ埽ㄟ^(guò)基于對(duì)象的程序設(shè)計(jì),可以用更直觀、模塊化和可重復(fù)使用的方式進(jìn)行程序開(kāi)發(fā)。在HTML基礎(chǔ)上,使用JAVASCRIPT可以開(kāi)發(fā)交互式WEB網(wǎng)頁(yè)。JAVASCRIPT的出現(xiàn)使得網(wǎng)頁(yè)和用戶之間實(shí)現(xiàn)了一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,使網(wǎng)頁(yè)包含更多活躍的元素和更加精彩的內(nèi)容。在本系統(tǒng)中很多地方使用了JAVASCRIPT技術(shù),比如說(shuō),檢驗(yàn)用戶輸入數(shù)據(jù)的有效性,是否重復(fù),是否為空等等。14軟硬件需求硬件需求CPUPENTIUM以上計(jì)算機(jī)內(nèi)存512M以上軟件需求操作系統(tǒng)版本W(wǎng)INDOWSXP/VISTA/WIN7開(kāi)發(fā)工具M(jìn)YECLIPSE601后臺(tái)服務(wù)器APACHETOMCAT60開(kāi)發(fā)語(yǔ)言JAVA瀏覽器IE602需求分析21可行性分析開(kāi)發(fā)任何一個(gè)系統(tǒng),都會(huì)受到時(shí)間和資源上的限制。因此,在每一個(gè)項(xiàng)目開(kāi)發(fā)之前,都要進(jìn)行可行性分析,可以減少項(xiàng)目的開(kāi)發(fā)風(fēng)險(xiǎn),避免人力、物力和財(cái)力的浪費(fèi)。下面就技術(shù)、經(jīng)濟(jì)、操作和法律四個(gè)方面來(lái)介紹。211技術(shù)的可行性本系統(tǒng)開(kāi)發(fā)工具是MYECLIPSE和MYSQL數(shù)據(jù)庫(kù),開(kāi)發(fā)語(yǔ)言是JAVA,主要使用了J2EE的技術(shù),JAVA是一種面向?qū)ο缶幊陶Z(yǔ)言,簡(jiǎn)單易學(xué)而且靈活方便。大三時(shí)就學(xué)習(xí)了JAVA課程,大四期間也系統(tǒng)的了解了J2EE的知識(shí),本系統(tǒng)總體上開(kāi)發(fā)難度不高,數(shù)據(jù)庫(kù)的設(shè)計(jì)和操作是本系統(tǒng)設(shè)計(jì)的核心。在大學(xué)期間學(xué)習(xí)過(guò)軟件工程,軟件測(cè)試,UML統(tǒng)一建模語(yǔ)言等課程,每個(gè)學(xué)期也會(huì)完成對(duì)應(yīng)的課程設(shè)計(jì),具備一定的系統(tǒng)分析、設(shè)計(jì)和測(cè)試能力。因此,完成系統(tǒng)實(shí)現(xiàn)在技術(shù)上完全具有可行性。212經(jīng)濟(jì)的可行性本系統(tǒng)所用的軟件都是開(kāi)源的,為開(kāi)發(fā)軟件節(jié)省了大量的金錢(qián)和時(shí)間,達(dá)到降低成本,提高開(kāi)發(fā)效率的目的,本系統(tǒng)對(duì)計(jì)算機(jī)配置的要求不高,甚至網(wǎng)吧更換下來(lái)的低配置電腦都可以完全滿足需要,所以在經(jīng)濟(jì)上具有完全的可行性。213操作可行性本系統(tǒng)操作簡(jiǎn)單,輸入信息頁(yè)面大多數(shù)都是下拉框的選擇形式,在某些頁(yè)面,信息可以自動(dòng)生成,無(wú)需輸入,時(shí)間的輸入也是用的日歷控件,操作簡(jiǎn)便,對(duì)操作人員的要求很低,只需對(duì)WINDOWS操作熟練,加之對(duì)本系統(tǒng)的操作稍加培訓(xùn)即可工作,而且本系統(tǒng)可視性非常好,所以在技術(shù)上不會(huì)有很大難度。214法律的可行性本商品交易系統(tǒng)是自行開(kāi)發(fā)的管理系統(tǒng),是很有實(shí)際意義的系統(tǒng),開(kāi)發(fā)環(huán)境軟件和使用的數(shù)據(jù)庫(kù)都是開(kāi)源代碼,開(kāi)發(fā)這個(gè)系統(tǒng)不同于開(kāi)發(fā)普通的系統(tǒng)軟件,不存在侵權(quán)等問(wèn)題,即法律上是可行的。22系統(tǒng)用戶用例圖221普通用戶用例圖出于安全性的考慮,普通用戶只有瀏覽商品和商品查詢(xún)、商品購(gòu)買(mǎi)等功能,其他的刪除修改功能都沒(méi)有設(shè)計(jì),因?yàn)槠胀ㄓ脩糇钪饕P(guān)心的就是商品信息的更新和查詢(xún)等功能,普通用戶用例圖如圖21所示。普通用戶圖21普通用戶用例圖222管理員用例圖管理員是系統(tǒng)的核心用戶,涉及到七大功能模塊,管理員對(duì)系統(tǒng)的所有信息有著操作的權(quán)限,能夠及時(shí)動(dòng)態(tài)的更新系統(tǒng)的各項(xiàng)信息。管理員用例圖如圖22所示。管理員圖22管理員用例圖23功能模塊需求分析本系統(tǒng)最大的特點(diǎn)是使用操作簡(jiǎn)單、友好的提示信息。本系統(tǒng)將實(shí)現(xiàn)以下基本功能(1)系統(tǒng)具有簡(jiǎn)潔大方的頁(yè)面,使用簡(jiǎn)便,友好的錯(cuò)誤操作提示。(2)管理員用戶具有商品類(lèi)別管理、商品信息管理、商品信息更新管理、訂單管理、會(huì)員信息管理、公告管理、系統(tǒng)管理功能。網(wǎng)站首頁(yè)瀏覽商品在線下單個(gè)人信息維護(hù)網(wǎng)站論壇瀏覽登錄系統(tǒng)修改密碼商品類(lèi)別管理會(huì)員管理網(wǎng)站論壇管理商品信息更新訂單管理系統(tǒng)管理(3)普通用戶用戶具有瀏覽商品、商品查詢(xún)、購(gòu)買(mǎi)商品、修改個(gè)人信息等功能。(4)具有較強(qiáng)的安全性,避免用戶的惡意操作。系統(tǒng)的功能結(jié)構(gòu)圖,分普通用戶平臺(tái),管理員平臺(tái)。普通用戶功能模塊圖說(shuō)明普通用戶可以在線瀏覽商品,查詢(xún)商品,瀏覽公告信息,如果要購(gòu)買(mǎi)、下訂單操作,首先需要注冊(cè)一個(gè)個(gè)人賬號(hào),然后登陸到系統(tǒng)中,如功能圖23所示。23普通用戶用戶功能模塊圖管理員功能模塊圖說(shuō)明管理員是功能最多的一種用戶角色。1商品類(lèi)別信息管理模塊在該模塊中完成對(duì)商品類(lèi)別信息的管理,包括類(lèi)別錄入、查詢(xún)、修改、增加和刪除等功能操作。其中類(lèi)別信息包括類(lèi)別名稱(chēng)、類(lèi)別介紹等信息。2商品信息管理模塊在該模塊中定義了商品信息的管理,其功能包括商品錄入、查詢(xún)、刪除等操作。3會(huì)員管理模塊該模塊中包括瀏覽會(huì)員信息和刪除會(huì)員信息2個(gè)功能。4系統(tǒng)管理模塊在該模塊中定義了系統(tǒng)日常維護(hù)的功能,包括公告信息的添加和查詢(xún),修改功能,以及系統(tǒng)用戶管理和修改密碼等功能。管理員用戶功能模塊圖如圖24。普通用戶模塊商品信息瀏覽在線下訂單在線注冊(cè)網(wǎng)站論壇瀏覽個(gè)人信息維護(hù)圖24管理員用戶功能模塊圖24設(shè)計(jì)的基本思想設(shè)計(jì)思想遵循以下幾點(diǎn)1采用B/S模式進(jìn)行開(kāi)發(fā),其優(yōu)點(diǎn)是后臺(tái)與前臺(tái)處理層次分明,而且符合眾多已經(jīng)習(xí)慣網(wǎng)頁(yè)搜索方式的用戶。2采用面向?qū)ο蟮拈_(kāi)發(fā)與設(shè)計(jì)理念。運(yùn)用面向?qū)ο蠹夹g(shù)的前提是對(duì)整體系統(tǒng)的高度和準(zhǔn)確抽象,通過(guò)它可以保證系統(tǒng)良好的框架,進(jìn)而帶來(lái)產(chǎn)品較強(qiáng)的穩(wěn)定性和運(yùn)行效率。3采用模塊化設(shè)計(jì)。模塊化設(shè)計(jì)要求將整個(gè)系統(tǒng)劃分成基于小的模塊,有利于代碼的重載,簡(jiǎn)化設(shè)計(jì)和實(shí)現(xiàn)過(guò)程。4簡(jiǎn)單方便的系統(tǒng)界面。設(shè)計(jì)簡(jiǎn)單友好的系統(tǒng)界面,方便用戶較快的適應(yīng)系統(tǒng)的操作。5速度優(yōu)先原則。由于此工具最重要的評(píng)測(cè)標(biāo)準(zhǔn)就是速度,因此在設(shè)計(jì)過(guò)程中,具體過(guò)程盡量做到資源占用少,速度快。6設(shè)計(jì)既要突出重點(diǎn),又要細(xì)致周到。要符合設(shè)計(jì)需求,在有可能改進(jìn)的地方進(jìn)行擴(kuò)充,使系統(tǒng)更適應(yīng)用戶的需要。25性能需求251系統(tǒng)的安全性本商品交易系統(tǒng)在管理權(quán)限上要嚴(yán)格進(jìn)行控制,具體要求如下1要想管理本系統(tǒng)的商品信息,必須先要憑用戶名和密碼登陸到系統(tǒng)中,沒(méi)有權(quán)管理員用戶模塊修改個(gè)人密碼商品類(lèi)別管理商品信息管理會(huì)員管理網(wǎng)站論壇管理系統(tǒng)管理訂單管理限的用戶不能通過(guò)任何方式登錄系統(tǒng)查看系統(tǒng)的任何信息和數(shù)據(jù),以確保系統(tǒng)的嚴(yán)密性和安全性。2在具體實(shí)現(xiàn)中設(shè)定不同權(quán)限,不同權(quán)限用戶登錄到系統(tǒng)后,不能越級(jí)操作,管理員可以使使用所有模塊;普通用戶用戶只能在線瀏覽信息,比如,查詢(xún)商品信息、在線購(gòu)買(mǎi)、下訂單等功能。252數(shù)據(jù)的完整性1各種記錄信息的完整性,信息記錄內(nèi)容不能為空。2各種數(shù)據(jù)間相互聯(lián)系的正確性。3相同數(shù)據(jù)在不同記錄中的一致性。26界面需求界面設(shè)計(jì)目前已經(jīng)成為評(píng)價(jià)軟件質(zhì)量的一條重要指標(biāo),一個(gè)好的用戶界面可以增加用戶使用系統(tǒng)的信心和興趣,提高工作效率,JSP技術(shù)是用JAVA語(yǔ)言作為腳本語(yǔ)言的,JSP網(wǎng)頁(yè)為整個(gè)服務(wù)器端的JAVA庫(kù)單元提供了一個(gè)接口來(lái)服務(wù)于HTTP的應(yīng)用程序。創(chuàng)建動(dòng)態(tài)頁(yè)面非常方便。用戶界面是指軟件系統(tǒng)與用戶交互的接口,通常包括輸出、輸入、人機(jī)對(duì)話的界面格式等。1輸出設(shè)計(jì)輸出是由計(jì)算機(jī)對(duì)輸入的原始信息進(jìn)行加工處理,形成高質(zhì)量的有效信息,并使之具有一定的格式,提供管理者使用,這是輸出設(shè)計(jì)的主要職責(zé)和目標(biāo)。系統(tǒng)設(shè)計(jì)的過(guò)程正好和實(shí)施過(guò)程相反,并不是從輸入設(shè)計(jì)到輸出設(shè)計(jì),而是從輸出設(shè)計(jì)到輸入設(shè)計(jì),這是因?yàn)檩敵霰砀裰苯优c使用者相聯(lián)系,設(shè)計(jì)的出發(fā)點(diǎn)應(yīng)當(dāng)是保證輸出表格方便地為使用者服務(wù),正確及時(shí)反映和組成用于各部門(mén)的有用信息。輸出設(shè)計(jì)的原則是考慮既要全面反映不同管理層的各項(xiàng)需要,又要言簡(jiǎn)意賅,不要將用戶需要和不需要的都提供給用戶。2輸入設(shè)計(jì)輸入數(shù)據(jù)的收集和錄入是比較費(fèi)事的,需要大量的人力和一定設(shè)備,并且容易出錯(cuò)。如果輸入系統(tǒng)的數(shù)據(jù)有錯(cuò)誤,則處理后的輸出將擴(kuò)大這些錯(cuò)誤,因此輸入數(shù)據(jù)的正確性對(duì)于整個(gè)系統(tǒng)質(zhì)量的好壞是具有決定性意義的。輸入設(shè)計(jì)的原則有如下幾點(diǎn)1)輸入量應(yīng)保持在能滿足處理要求的最低限度。設(shè)計(jì)中可采用設(shè)置字段初值,下拉式數(shù)據(jù)窗口等方式盡量減少用戶鍵盤(pán)輸入量。輸入量越少,錯(cuò)誤率就越少,數(shù)據(jù)準(zhǔn)備時(shí)間也減少。2)輸入的準(zhǔn)備及輸入過(guò)程應(yīng)盡量容易進(jìn)行,從而減少錯(cuò)誤的發(fā)生。3)應(yīng)盡量早對(duì)輸入數(shù)據(jù)進(jìn)行檢查(盡量接近原數(shù)據(jù)發(fā)生點(diǎn)),以便使錯(cuò)誤及時(shí)得到更正。4)輸入數(shù)據(jù)盡早地用其處理所需的形式被記錄,以避免數(shù)據(jù)由一種介質(zhì)轉(zhuǎn)移到另一種介質(zhì)時(shí)需要轉(zhuǎn)錄而可能發(fā)生的錯(cuò)誤。3系統(tǒng)分析與設(shè)計(jì)31數(shù)據(jù)庫(kù)的分析與設(shè)計(jì)計(jì)算機(jī)信息系統(tǒng)以數(shù)據(jù)庫(kù)為核心,在數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下,進(jìn)行信息的收集、整理、存儲(chǔ)、檢索、更新、加工、統(tǒng)計(jì)和傳播等操作。數(shù)據(jù)庫(kù)已經(jīng)成為現(xiàn)在信息系統(tǒng)等計(jì)算機(jī)系統(tǒng)的基礎(chǔ)與核心部分。數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞直接影響到整個(gè)系統(tǒng)的質(zhì)量和效率。數(shù)據(jù)庫(kù)的設(shè)計(jì)一般經(jīng)過(guò)規(guī)劃。需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)5個(gè)步驟。311數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)概念設(shè)計(jì)是指在數(shù)據(jù)分析的基礎(chǔ)上自底向上的建立整個(gè)系統(tǒng)的數(shù)據(jù)庫(kù)概念結(jié)構(gòu),從用戶的角度進(jìn)行視圖設(shè)計(jì),然后將視圖集成,最后對(duì)集成的結(jié)構(gòu)分析優(yōu)化得到最后結(jié)果。數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)采用實(shí)體聯(lián)系(ER)模型設(shè)計(jì)方法。ER模型法的組成元素有實(shí)體、屬性、聯(lián)系,ER模型用ER圖表示,是提示用戶工作環(huán)境中所涉及的事物,屬性則是對(duì)實(shí)體特性的描述。概念設(shè)計(jì)的目標(biāo)是產(chǎn)生反映企業(yè)組織信息要求的數(shù)據(jù)庫(kù)概念結(jié)構(gòu),即概念模式。概念模式是獨(dú)立于數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu),獨(dú)立于支持?jǐn)?shù)據(jù)庫(kù)的DBMS,不依賴(lài)于計(jì)算機(jī)系統(tǒng)的。根據(jù)以上對(duì)數(shù)據(jù)庫(kù)的需求分析,并結(jié)合系統(tǒng)概念模型的特點(diǎn)及建立方法,建立ER模型圖。1普通用戶實(shí)體ER圖如圖31所示。實(shí)體屬性實(shí)體間關(guān)系密碼姓名性別年齡圖31普通用戶ER圖2商品類(lèi)別實(shí)體ER圖圖32商品類(lèi)別信息實(shí)體ER圖3商品信息ER圖圖33商品信息實(shí)體ER圖4公告信息ER圖商品類(lèi)別類(lèi)別名稱(chēng)類(lèi)別介紹普通用戶用戶名聯(lián)系方式是否刪除商品信息商品品牌商品名稱(chēng)商品介紹商品圖片商品價(jià)格類(lèi)別ID公告標(biāo)題公告內(nèi)容發(fā)布時(shí)間圖34公告信息實(shí)體ER圖5管理員信息ER圖圖35管理員信息實(shí)體ER圖6訂單信息ER圖圖36訂單信息實(shí)體ER圖312數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)我們知道,數(shù)據(jù)庫(kù)概念模型獨(dú)立于任何特定的數(shù)據(jù)庫(kù)管理系統(tǒng),因此,需要根據(jù)具體使用的數(shù)據(jù)庫(kù)管理系統(tǒng)的特點(diǎn)進(jìn)行轉(zhuǎn)換。即轉(zhuǎn)化為按計(jì)算機(jī)觀點(diǎn)處理的邏輯關(guān)系模型,ER模型向關(guān)系數(shù)據(jù)庫(kù)模型轉(zhuǎn)換應(yīng)遵循下列原則每一個(gè)實(shí)體要轉(zhuǎn)換成一個(gè)關(guān)系公告信息管理員用戶ID登陸密碼登陸賬號(hào)訂單信息下單時(shí)間紹訂單編號(hào)送貨地址付款方式圖片總金額會(huì)員ID所有的主鍵必須定義非空(NOTNULL)對(duì)于二元聯(lián)系應(yīng)按照一對(duì)多、弱對(duì)實(shí)、一對(duì)一、多對(duì)多等聯(lián)系來(lái)定義外鍵。根據(jù)ER模型,普通用戶公寓管理系統(tǒng)建立了以下邏輯數(shù)據(jù)結(jié)構(gòu),下面是各數(shù)據(jù)表的詳細(xì)說(shuō)明。1普通用戶表主要是記錄了普通用戶基本信息。表結(jié)構(gòu)如表31所示。表31普通用戶表T_USER列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空是否主鍵備注USER_IDINT4否是用戶IDUSER_NAMEVARCHAR50否否用戶名USER_PWVARCHAR50否否用戶密碼USER_REALNAMEVARCHAR50否否姓名USER_SEXVARCHAR50否否性別USER_TELVARCHAR20否否聯(lián)系方式USER_ADDRESSVARCHAR20否否住址2商品類(lèi)別信息表主要是記錄了商品類(lèi)別的基本信息,表結(jié)構(gòu)如表32所示。表32商品類(lèi)別信息表T_CATELOG列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空是否主鍵備注CATELOG_IDINT4否是類(lèi)別IDCATELOG_NAMEVARCHAR20否否類(lèi)別名稱(chēng)CATELOG_MIAOSHUVARCHAR20否否類(lèi)別介紹3商品信息表主要是商品的相關(guān)信息,其中ID是主鍵,表結(jié)構(gòu)如圖33所示。表33商品信息表T_GOODS列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空是否主鍵備注GOODS_IDINT4否是商品IDCATELOG_IDINT4否否類(lèi)別IDGOODS_NAMEVARCHAR20否否名稱(chēng)GOODS_MIAOSHUVARCHAR20否否介紹GOODS_PICVARCHAR20否否商品封皮SHICHANGJIADATE20否否商品價(jià)格GOODS_TEJIAVARCHAR20是否商品特價(jià)4公告信息表記錄了管理員發(fā)布的系統(tǒng)公告基本信息,表如表34所示。表34公告信息表T_GONGGAO列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空是否主鍵備注IDINT4否是公告IDTITLEVARCHAR50否否公告標(biāo)題CONTENTVARCHAR50否否公告內(nèi)容SHIJIANVARCHAR50否否發(fā)布日期5管理員信息表主要記錄了管理員的賬號(hào)信息,包括用戶名和密碼,表結(jié)構(gòu)如表35所示。表35管理員信息表T_ADMIN列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空是否主鍵備注USERIDINT4否是編號(hào)USERNAMEVARCHAR20否否用戶名USERPWVARCHAR20否否密碼6訂單信息表主要記錄的會(huì)員的訂單的信息,包括訂單編號(hào)、下單時(shí)間等,表結(jié)構(gòu)如表36所示。表36訂單信息表T_ORDER列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空是否主鍵備注ORDER_IDINT4否是編號(hào)ORDER_DATEVARCHAR20否否下單時(shí)間ORDER_ZHUANGTAIVARCHAR20否否訂單狀態(tài)SONGHUODIZHIVARCHAR50否否送貨地址FUKUANFANGSHIVARCHAR20否否付款方式JINEVARCHAR20否否總金額USER_IDINT4否否會(huì)員ID7留言信息表主要記錄了會(huì)員的留言的信息,包括留言標(biāo)題、留言?xún)?nèi)容等,表結(jié)構(gòu)如表37所示。表37留言信息表T_LIUYAN列名數(shù)據(jù)類(lèi)型長(zhǎng)度允許空是否主鍵備注IDINT4否是編號(hào)TITLEVARCHAR50否否留言標(biāo)題CONTENTVARCHAR50否否留言?xún)?nèi)容SHIJIANVARCHAR50否否留言時(shí)間313數(shù)據(jù)庫(kù)的連接原理采用JDBC連接數(shù)據(jù)庫(kù)的方式,只需在工程中導(dǎo)入對(duì)應(yīng)數(shù)據(jù)庫(kù)的JAR包,就可以方便的對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接,在程序中,用CLASSFORNAME方法來(lái)加載驅(qū)動(dòng)程序,在用DRIVERMANAGER的GETCONNECTION()方法就可以創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接。程序采用的是DAO模式來(lái)操作數(shù)據(jù)庫(kù),DAODATAACCESSOBJECT,數(shù)據(jù)訪問(wèn)對(duì)象,是JAVA編程中的一種經(jīng)典模式,已被廣泛應(yīng)用,也是J2EE架構(gòu)中持久層框架的基礎(chǔ)知識(shí),基于分層次式的軟件架構(gòu)來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)操作。DAO模式的主要思想就是從抽象數(shù)據(jù)源獲取與操縱數(shù)據(jù)的方法。抽象數(shù)據(jù)的含義就是編寫(xiě)應(yīng)用程序的程序員不必關(guān)心數(shù)據(jù)庫(kù)的物理位置,已經(jīng)是何種數(shù)據(jù)庫(kù),只需使用封裝數(shù)據(jù)庫(kù)中表示記錄的數(shù)據(jù)對(duì)象即可。其思想如圖37所示圖37DAO模式類(lèi)圖圖中BUSSINESSOBJECT是業(yè)務(wù)對(duì)象,是使用DAO模式的客戶端;DATATRANSFEROBJECT數(shù)據(jù)傳輸對(duì)象,在應(yīng)用程序不同層次之間傳輸對(duì)象,在一個(gè)分布式應(yīng)用程序中,通常可以提高整理的性能;DATAOBJECTACCES數(shù)據(jù)輸入/輸出對(duì)象封裝了對(duì)數(shù)據(jù)源的一些基本操作;DATASOURCE指的是數(shù)據(jù)源??梢詮膱D中看出,DAO模式分離了業(yè)務(wù)邏輯和數(shù)據(jù)羅即將,是的編寫(xiě)的軟件具有良好的層次式體系結(jié)構(gòu)。本系統(tǒng)為了方便數(shù)據(jù)庫(kù)的操作,主要使用DBCONTENT的對(duì)象來(lái)接一個(gè)數(shù)據(jù)庫(kù)(建立一個(gè)類(lèi)DBCONTENT),代碼如下PUBLICDBCONTENTSTRINGCLASSFORNAME“COMMYSQLJDBCDRIVER“/連接數(shù)據(jù)庫(kù)的驅(qū)動(dòng)STRINGURL“JDBCMYSQL/LOCALHOST1433DATABASENAMEDB_TUSHU“STRINGUSER“ROOT“/連接數(shù)據(jù)庫(kù)的用戶名STRINGPASSWORD“ROOT“/連接數(shù)據(jù)庫(kù)的密碼TRYCLASSFORNAMECLASSFORNAMECONDRIVERMANAGERGETCONNECTIONURL,USER,PASSWORD/加載數(shù)據(jù)庫(kù)的驅(qū)動(dòng)STMTCONCREATESTATEMENTRESULTSETTYPE_SCROLL_SENSITIVE,RESULTSETCONCUR_UPDATABLEBUSINESSOBJECTDATAACCESSOBJECTDATASOURCEDATATRANSFEROBJECT使用封裝創(chuàng)建/使用獲取/修改CATCHEXCEPTIONEXEXPRINTSTACKTRACE在程序需要連接數(shù)據(jù)庫(kù)的地方,只需要生成一個(gè)DBCONNET的對(duì)象,就可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接并操作。32中文亂碼問(wèn)題處理在程序中經(jīng)常會(huì)遇到中文亂碼的情況,如果手動(dòng)的在SERVLET和JSP頁(yè)面進(jìn)行設(shè)置,相當(dāng)麻煩。因此,在程序的開(kāi)始就寫(xiě)了一個(gè)過(guò)濾器SETCHARACTERENCODINGFILTER。在WEBXML中配置SETCHARACTERENCODINGFILTERMYWEBUTILFILTERSETCHARACTERENCODINGFILTERENCODINGGB2312SETCHARACTERENCODINGFILTER/表示工程下所有的頁(yè)面都會(huì)有此過(guò)濾器的處理對(duì)應(yīng)的SETCHARACTERENCODINGFILTERJAVA文件中的重要代碼,在初始化INIT方法中定義PUBLICVOIDINITFILTERCONFIGFILTERCONFIGTHROWSSERVLETEXCEPTIONTHISFILTERCONFIGFILTERCONFIGTHISENCODINGFILTERCONFIGGETINITPARAMETER“ENCODING“STRINGVALUEFILTERCONFIGGETINITPARAMETER“IGNORE“在工具包UTIL包中同樣定義了DATAFORMATE類(lèi)來(lái)處理字符轉(zhuǎn)換PUBLICSTATICSTRINGTOUNISTRINGGBSTRSTRINGUNISTR“/把字符串轉(zhuǎn)換成UINCODE編碼/IFGBSTRNULLGBSTR“TRYBYTETEMPBYTEGBSTRGETBYTES“GB2312“UNISTRNEWSTRINGTEMPBYTE,“ISO8859_1“CATCHEXCEPTIONEXRETURNUNISTR/把字符串轉(zhuǎn)換成UTF8編碼/PUBLICSTATICSTRINGTOUTF8STRINGSTRINGSSTRINGBUFFERSBNEWSTRINGBUFFERFORINTI0I0THISSETPATH“CATELOGMANAACTION“ELSETCATELOGCATELOGCATELOGDAOFINDBYIDCATELOGIDCATELOGSETCATELOGDEL“YES“CATELOGDAOATTACHDIRTYCATELOGTHISSETMESSAGE“操作成功“THISSETPATH“CATELOGMANAACTION“RETURN“SUCCEED“3類(lèi)別信息刪除1描述先是點(diǎn)擊類(lèi)別信息管理,頁(yè)面跳轉(zhuǎn)到類(lèi)別管理界面,瀏覽所有的類(lèi)別信息,點(diǎn)擊要?jiǎng)h除的類(lèi)別,彈出的確定對(duì)話框,即可刪除該類(lèi)別信息。2程序效果圖如下圖45所示。圖45類(lèi)別信息刪除422商品信息管理1商品信息錄入1描述在此頁(yè)面主要是輸入商品信息,包括商品編號(hào)、名稱(chēng)、商品介紹、商品圖片、商品價(jià)格等,其中商品介紹這個(gè)地方,使用的是開(kāi)源的在線文本編輯器FCKEDITOR這個(gè)富文本框?qū)崿F(xiàn)。是否為空也是通過(guò)FORM表單中的ONSUBMIT“RETURNCHECKFORM來(lái)檢查。2程序效果圖如圖46所示3在整個(gè)系統(tǒng)中所有涉及輸入日期的地方都是采用的MYDATA97這個(gè)日歷控件的方式來(lái)實(shí)現(xiàn),要在工程中導(dǎo)入CALENDARJS文件,在JSP頁(yè)面開(kāi)始引入該JS文件,在文本框的屬性定義中定義方法ONCLICK“NEWCALENDARSHOWTHIS“即可。圖46商品信息錄入2商品信息管理1描述管理員點(diǎn)擊左側(cè)的菜單“商品管理”,頁(yè)面跳轉(zhuǎn)到商品管理界面,調(diào)用后臺(tái)的商品ACTION類(lèi)查詢(xún)出所有的商品信息,并把這些信息封轉(zhuǎn)到數(shù)據(jù)集合LIST中,綁定到REQUEST對(duì)象,然后頁(yè)面跳轉(zhuǎn)到相應(yīng)的JSP,顯示出商品信息。2程序效果圖如下圖47所示圖47商品信息管理頁(yè)面商品管理關(guān)鍵代碼PUBLICSTRINGGOODSMANANOTEJIASTRINGSQL“FROMTGOODSWHEREGOODSDELNOORDERBYGOODSISNOTTEJIA“LISTGOODSLISTGOODSDAOGETHIBERNATETEMPLATEFINDSQLFORINTI0IONELINEOFHTML“OUTPRINTLN“ANOTHERLINEOFHTML“ISALLTOOCOMMONINSERVLETSTHATGENERATETHEHTTPRESPONSETHEREARELIBRARIESTHATCANHELPYOUGENERATEHTML,BUTASAPPLICATIONSGROWMORECOMPLEX,JAVADEVELOPERSENDUPBEINGCASTINTOTHEROLEOFHTMLPAGEDESIGNERSMEANWHILE,GIVENTHECHOICE,MOSTPROJECTMANAGERSPREFERTODIVIDEDEVELOPMENTTEAMSINTOSPECIALIZEDGROUPSTHEYLIKEHTMLDESIGNERSTOBEWORKINGONTHEPRESENTATIONWHILEJAVAENGINEERSSWEATTHEBUSINESSLOGICUSINGSERVLETSALONEENCOURAGESMIXINGMARKUPWITHBUSINESSLOGIC,MAKINGITDIFFICULTFORTEAMMEMBERSTOSPECIALIZETOSOLVETHISPROBLEM,SUNTURNEDTOTHEIDEAOFUSINGSERVERPAGESTOCOMBINESCRIPTINGANDTEMPLATINGTECHNOLOGIESINTOASINGLECOMPONENTTOBUILDJAVASERVERPAGES,DEVELOPERSSTARTBYCREATINGHTMLPAGESINTHESAMEOLDWAY,USINGTHESAMEOLDHTMLSYNTAXTOBRINGDYNAMICCONTENTINTOTHEPAGE,THEDEVELOPERCANALSOPLACEJSPSCRIPTINGELEMENTSONTHEPAGESCRIPTINGELEMENTSARETAGSTHATENCAPSULATELOGICTHATISRECOGNIZEDBYTHEJSPYOUCANEASILYPICKOUTSCRIPTINGELEMENTSONJSPPAGESBYLOOKINGFORCODETHATBEGINSWITHTOBESEENASAJSPPAGE,THEFILEJUSTNEEDSTOBESAVEDWITHANEXTENSIONOFJSPWHENACLIENTREQUESTSTHEJSPPAGE,THECONTAINERTRANSLATESTHEPAGEINTOASOURCECODEFILEFORAJAVASERVLETANDCOMPILESTHESOURCEINTOAJAVACLASSFILEJUSTASYOUWOULDDOIFYOUWEREWRITINGASERVLETFROMSCRATCHATRUNTIME,THECONTAINERCANALSOCHECKTHELASTMODIFIEDDATEOFTHEJSPFILEAGAINSTTHECLASSFILEIFTHEJSPFILEHASCHANGEDSINCEITWASLASTCOMPILED,THECONTAINERWILLRETRANSLATEANDREBUILDTHEPAGEALLOVERAGAINPROJECTMANAGERSCANNOWASSIGNTHEPRESENTATIONLAYERTOHTMLDEVELOPERS,WHOTHENPASSONTHEIRWORKTOJAVADEVELOPERSTOCOMPLETETHEBUSINESSLOGICPORTIONTHEIMPORTANTTHINGTOREMEMBERISTHATAJSPPAGEISREALLYJUSTASERVLETANYTHINGYOUCANDOWITHASERVLET,YOUCANDOWITHAJSPJAVABEANSJAVABEANSAREJAVACLASSESWHICHCONFORMTOASETOFDESIGNPATTERNSTHATMAKETHEMEASIERTOUSEWITHDEVELOPMENTTOOLSANDOTHERCOMPONENTSDEFINITIONAJAVABEANISAREUSABLESOFTWARECOMPONENTWRITTENINJAVATOQUALIFYASAJAVABEAN,THECLASSMUSTBECONCRETEANDPUBLIC,ANDHAVEANOARGUMENTCONSTRUCTORJAVABEANSEXPOSEINTERNALFIELDSASPROPERTIESBYPROVIDINGPUBLICMETHODSTHATFOLLOWACONSISTENTDESIGNPATTERNKNOWINGTHATTHEPROPERTYNAMESFOLLOWTHISPATTERN,OTHERJAVACLASSESAREABLETOUSEINTROSPECTIONTODISCOVERANDMANIPULATEJAVABEANPROPERTIESTHEJAVABEANDESIGNPATTERNSPROVIDEACCESSTOTHEBEANSINTERNALSTATETHROUGHTWOFLAVORSOFMETHODSACCESSORSAREUSEDTOREADAJAVABEANSSTATEMUTATORSAREUSEDTOCHANGEAJAVABEANSSTATEMUTATORSAREALWAYSPREFIXEDWITHLOWERCASETOKENSETFOLLOWEDBYTHEPROPERTYNAMETHEFIRSTCHARACTERINTHEPROPERTYNAMEMUSTBEUPPERCASETHERETURNVALUEISALWAYSVOIDMUTATORSONLYCHANGEPROPERTYVALUESTHEYDONOTRETRIEVETHEMTHEMUTATORFORASIMPLEPROPERTYTAKESONLYONEPARAMETERINITSSIGNATURE,WHICHCANBEOFANYTYPEMUTATORSAREOFTENNICKNAMEDSETTERSAFTERTHEIRPREFIXTHEMUTATORMETHODSIGNATUREFORAWEIGHTPROPERTYOFTHETYPEDOUBLEWOULDBEPUBLICVOIDSETWEIGHTDOUBLEWEIGHTASIMILARDESIGNPATTERNISUSEDTOCREATETHEACCESSORMETHODSIGNATUREACCESSORMETHODSAREALWAYSPREFIXEDWITHTHELOWERCASETOKENGET,FOLLOWEDBYTHEPROPERTYNAMETHEFIRSTCHARACTERINTHEPROPERTYNAMEMUSTBEUPPERCASETHERETURNVALUEWILLMATCHTHEMETHODPARAMETERINTHECORRESPONDINGMUTATORACCESSORSFORSIMPLEPROPERTIESCANNOTACCEPTPARAMETERSINTHEIRMETHODSIGNATURENOTSURPRISINGLY,ACCESSORSAREOFTENCALLEDGETTERSTHEACCESSORMETHODSIGNATUREFOROURWEIGHTPROPERTYISPUBLICDOUBLEGETWEIGHTIFTHEACCESSORRETURNSALOGICALVALUE,THEREISAVARIANTPATTERNINSTEADOFUSINGTHELOWERCASETOKENGET,ALOGICALPROPERTYCANUSETHEPREFIXIS,FOLLOWEDBYTHEPROPERTYNAMETHEFIRSTCHARACTERINTHEPROPERTYNAMEMUSTBEUPPERCASETHERETURNVALUEWILLALWAYSBEALOGICALVALUEEITHERBOOLEANORBOOLEANLOGICALACCESSORSCANNOTACCEPTPARAMETERSINTHEIRMETHODSIGNATURETHEBOOLEANACCESSORMETHODSIGNATUREFORANONPROPERTYWOULDBEPUBLICBOOLEANISONTHECANONICALMETHODSIGNATURESPLAYANIMPORTANTROLEWHENWORKINGWITHJAVABEANSOTHERCOMPONENTSAREABLETOUSETHEJAVAREFLECTIONAPITODISCOVERAJAVABEANSPROPERTIESBYLOOKINGFORMETHODSPREFIXEDBYSET,IS,ORGETIFACOMPONENTFINDSSUCHASIGNATUREONAJAVABEAN,ITKNOWSTHATTHEMETHODCANBEUSEDTOACCESSORCHANGETHEBEANSPROPERTIESSUNINTRODUCEDJAVABEANSTOWORKWITHGUICOMPONENTS,BUTTHEYARENOWUSEDWITHEVERYASPECTOFJAVADEVELOPMENT,INCLUDINGWEBAPPLICATIONSWHENSUNENGINEERSDEVELOPEDTHEJSPTAGEXTENSIONCLASSES,THEYDESIGNEDTHEMTOWORKWITHJAVABEANSTHEDYNAMICDATAFORAPAGECANBEPASSEDASAJAVABEAN,ANDTHEJSPTAGCANTHENUSETHEBEANSPROPERTIESTOCUSTOMIZETHEOUTPUTFORMOREONJAVABEANS,WEHIGHLYRECOMMENDTHEAWESOMEPOWEROFJAVABEANS,BYLAWRENCEHRODRIGUESRODRIGUESTHEDEFINITIVESOURCEFORJAVABEANINFORMATIONISTHEJAVABEANSPECIFICATIONSUN,JBSMODEL2THE092RELEASEOFTHESERVLET/JSPSPECIFICATIONDESCRIBEDMODEL2ASANARCHITECTURETHATUSESSERVLETSANDJSPPAGESTOGETHERINTHESAMEAPPLICATIONTHETERMMODEL2DISAPPEAREDFROMLATERRELEASES,BUTITREMAINSINPOPULARUSEAMONGJAVAWEBDEVELOPERSUNDERMODEL2,SERVLETSHANDLETHEDATAACCESSANDNAVIGATIONALFLOW,WHILEJSPPAGESHANDLETHEPRESENTATIONMODEL2LETSJAVAENGINEERSANDHTMLDEVELOPERSEACHWORKONTHEIROWNPARTOFTHEAPPLICATIONACHANGEINONEPARTOFAMODEL2APPLICATIONDOESNOTMANDATEACHANGETOANOTHERPARTOFTHEAPPLICATIONHTMLDEVELOPERSCANOFTENCHANGETHELOOKANDFEELOFANAPPLICATIONWITHOUTCHANGINGHOWTHEBACKOFFICESERVLETSWORKTHESTRUTSFRAMEWORKISBASEDONTHEMODEL2ARCHITECTUREITPROVIDESACONTROLLERSERVLETTOHANDLETHENAVIGATIONALFLOWANDSPECIALCLASSESTOHELPWITHTHEDATAACCESSASUBSTANT

溫馨提示

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

評(píng)論

0/150

提交評(píng)論