




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,校園信息一體化過(guò)程加快,學(xué)生網(wǎng)民的數(shù)量 越來(lái)越多,而安全,快捷,方便的校園局域網(wǎng)為學(xué)生之間的交易提供了良好的 網(wǎng)絡(luò)支持。由于教育的階段性,大量的二手書(shū)籍及二手物品并沒(méi)有喪失或完全 喪失其使用價(jià)值,每年畢業(yè)生的到來(lái)為校園二手交易市場(chǎng)提供了豐富的內(nèi)容。 為了使交易信息更全面,交易過(guò)程更頻繁,交易方式更為便捷,嘗試開(kāi)發(fā)常州 大學(xué)城大學(xué)生二手物品交易平臺(tái)這套系統(tǒng),用意在于為大學(xué)生的交易提供一個(gè) 良好的平臺(tái),同時(shí)喚起并樹(shù)立節(jié)約意識(shí),提倡資源循環(huán)利用,共創(chuàng)綠色校園。 本文根據(jù)我院經(jīng)濟(jì)管理系社團(tuán)物品交易模式,并通過(guò)分析、調(diào)查、走訪, 完成了一個(gè)基于 web 的常州大學(xué)城大學(xué)生二手物
2、品交易平臺(tái)的設(shè)計(jì)與開(kāi)發(fā)。本 文在系統(tǒng)架構(gòu)上采用當(dāng)前比較流行的 b/s 結(jié)構(gòu),應(yīng)用 mvc 三層設(shè)計(jì)開(kāi)發(fā)模式, 通過(guò) jsp、javabean、servlet 及 struts 技術(shù)和 microsoft sql server 2005 進(jìn)行開(kāi)發(fā)設(shè)計(jì),提供包括商品信息管理,購(gòu)物車管理、在線交流、留言回復(fù)、 動(dòng)態(tài)信息展示等功能服務(wù)。在整個(gè)系統(tǒng)設(shè)計(jì)中充分利用了模塊化的設(shè)計(jì)思想和 開(kāi)發(fā)方法。本系統(tǒng)實(shí)用性較強(qiáng)、擴(kuò)展靈活、操作方便、安全穩(wěn)定。 關(guān)鍵字:mvc b/s web 二手物品交易平臺(tái) 畢業(yè)設(shè)計(jì) (論文 )外文摘要 titletitle: based on web changzhou univers
3、ity city university second-hand exchange design and development abstractabstract: with the rapid development of internet technology, campus information integration quickens its steps. more and more students begin to use internet. campus lan which is safety and convenient benefits the transaction bet
4、ween students. many second-hand materials have not lost its service value completely because of the stage of education. every year students who are going to graduate offer a large amount of materials for secondary market on campus. to make the transactions more fully, the process more frequently and
5、 convenient, i attempt to develop the second- hand exchange system in changzhou university city, which means to supply a good platform for students transaction and arose the awareness of diligent and thrifty, which can create a better university. according to transaction system of economic managemen
6、t, i developed a second-hand materials transaction platform which is based on web by survey, analysis and interview. this platform puts b/s and mvc system into use, which gets help from jsp、javabean、servlet ,struts and microsoft sql server 2005. this platform has at least five functions: information
7、 commodity, shopping cart management, online communication, message reply, dynamic information. the whole system makes the most use of the idea of modulization, which makes this system pragmatically, flexibly and conveniently. key words: mvc b/s web second-hand material transaction platform 目錄 1緒 論
8、.1 1.1選題背景.1 1.2研究目的和意義.2 1.3國(guó)內(nèi)外研究現(xiàn)狀.2 1.4論文主要研究?jī)?nèi)容 .3 2系統(tǒng)關(guān)鍵技術(shù)研究 .5 2.1 jsp 技術(shù)簡(jiǎn)介.5 2.2 servlet技術(shù)簡(jiǎn)介 .5 2.3 javabean技術(shù)簡(jiǎn)介 .8 2.4struts技術(shù)簡(jiǎn)介 .9 2.5javascript技術(shù)簡(jiǎn)介 .10 2.5基于 b/s 的 web 應(yīng)用體系結(jié)構(gòu).10 2.6mvc 三層開(kāi)發(fā)模式簡(jiǎn)介.11 2.7本章小結(jié).14 3系統(tǒng)需求分析 .15 3.1總體需求.15 3.2功能需求 .15 3.3性能需求.18 3.4系統(tǒng)可行性研究.19 3.5 系統(tǒng)要求 .19 3.6 開(kāi)發(fā)環(huán)境 .1
9、9 3.7本章小結(jié).20 4系統(tǒng)概要設(shè)計(jì) .21 4.1概述 .21 4.2前臺(tái)功能模塊總體設(shè)計(jì).22 4.3后臺(tái)功能模塊總體設(shè)計(jì).23 4.4數(shù)據(jù)庫(kù)設(shè)計(jì).23 4.5前臺(tái)用戶管理模塊設(shè)計(jì) .32 4.6前臺(tái)商品信息展示模塊設(shè)計(jì) .34 4.7前臺(tái)購(gòu)物車管理模塊設(shè)計(jì).34 4.8前臺(tái)在線交流模塊設(shè)計(jì) .36 4.9前臺(tái)留言管理模塊設(shè)計(jì) .37 4.10 后臺(tái)用戶管理模塊設(shè)計(jì) .38 4.11 后臺(tái)商品和平臺(tái)信息維護(hù)模塊設(shè)計(jì) .39 4.12 本章小結(jié) .41 5系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) .42 5.1平臺(tái)的搭建 .42 5.2前臺(tái)用戶管理模塊的實(shí)現(xiàn) .45 5.3前臺(tái)商品信息展示模塊的實(shí)現(xiàn).47 5
10、.4前臺(tái)購(gòu)物車模塊的實(shí)現(xiàn).49 5.5前臺(tái)在線交流模塊的實(shí)現(xiàn) .51 5.6前臺(tái)留言管理模塊的實(shí)現(xiàn) .51 5.7后臺(tái)用戶管理模塊的實(shí)現(xiàn) .52 5.8后臺(tái)商品和平臺(tái)信息維護(hù)模塊的實(shí)現(xiàn).52 5.9本章小結(jié).54 6系統(tǒng)測(cè)試.55 6.1測(cè)試的定義及目的 .55 6.2測(cè)試的原則 .55 6.3測(cè)試的方法 .55 6.4二手物品交易平臺(tái)的測(cè)試 .55 6.5本章小結(jié).56 結(jié) 論.57 致 謝.59 參考文獻(xiàn) .59 1 1 1緒緒 論論 歷史的車輪將我們載入了信息化和知識(shí)經(jīng)濟(jì)的時(shí)代。internet 在中國(guó)的迅 速發(fā)展,人們?nèi)粘I钪性絹?lái)越多地使用這項(xiàng)新的技術(shù)來(lái)為自己的工作、學(xué)習(xí)和 生活服務(wù)
11、。由于 web 頁(yè)面能把文本、圖像、聲音、動(dòng)畫(huà)、視像等多種媒體信息 集于一體,不但使信息的顯示更加生動(dòng),而且使信息的瀏覽更為方便,同時(shí) web 頁(yè)面能實(shí)現(xiàn)網(wǎng)上交易平臺(tái)、客戶信息反饋等方面方便了商家與客戶之間信息交 流。 1.11.1選題背景選題背景 人類社會(huì)經(jīng)歷了從野蠻到文明、從原始社會(huì)到社會(huì)主義社會(huì)、從使用簡(jiǎn)單 石頭工具到現(xiàn)在使用智能化工具的過(guò)程,生活水平不斷提高,逐漸有了從物物 交換到以貨幣為等價(jià)物的交換,經(jīng)歷了一個(gè)由低級(jí)到高級(jí)的過(guò)程。隨著社會(huì)的 發(fā)展,技術(shù)的不斷發(fā)展以及產(chǎn)品的不斷更新?lián)Q代使得人們對(duì)物質(zhì)的要求越來(lái)越 高,隨之而來(lái)的問(wèn)題便是越來(lái)越多的二手貨物堆積了下來(lái)卻無(wú)法得到更好的利 用。
12、特別是在大學(xué)校園里面,作為走在世界發(fā)展最前端的大學(xué)生,首先,他們 沒(méi)有時(shí)間也沒(méi)有精力去經(jīng)營(yíng)一個(gè)二手貨物商店,而且他們也沒(méi)有足夠的二手貨 來(lái)支撐這個(gè)商店,一般大學(xué)校園里大學(xué)生們的二手貨都只是零散的,并不能得 到很好的二次利用。其次,一個(gè)主要的原因就是大學(xué)生們并沒(méi)有穩(wěn)定的資金來(lái) 源,所以要如何處理自己身邊的二手貨物,并且如何能夠得到一樣自己想要的 二手貨物而又不需要花太多的錢(qián),成為當(dāng)今大學(xué)生們需要解決的一個(gè)難題。 internet 經(jīng)過(guò) 20 多年的發(fā)展,已經(jīng)成為世界上覆蓋最廣、規(guī)模最大、信 息資源最豐富的計(jì)算機(jī)網(wǎng)絡(luò),它延伸到了世界的每一個(gè)角落,兼容所有的傳輸 媒介,支持成千上萬(wàn)不同的應(yīng)用。int
13、ernet 極大地推動(dòng)了世界經(jīng)濟(jì)向知識(shí)經(jīng)濟(jì) 的轉(zhuǎn)變,近兩年間,隨著國(guó)際互聯(lián)網(wǎng)以驚人的速度席卷全球之際,我國(guó)多媒體 網(wǎng)絡(luò)覆蓋面也在不斷擴(kuò)大。然而,對(duì)于在校學(xué)生,一般而言,現(xiàn)在都還沒(méi)有自 食其力,大都需要父母的財(cái)力支持。尤其是大學(xué)生的花費(fèi)更多,平時(shí)吃好、喝 好、用好奉行“三好主義” ,而殊不知父母的沉重負(fù)擔(dān)。在更多的時(shí)候,我們有 很多東西都沒(méi)用處,一直閑著,或扔掉或舍不得存著。對(duì)這種情況,我們一般 選擇前者扔掉。這時(shí),如果大家能把不用的物品拿出來(lái)交換,就會(huì)得到共 贏。因此,大學(xué)校園里學(xué)生們的二手貨能夠得到更好的利用所欠缺的正是這么 2 一個(gè)交易平臺(tái)。根據(jù)常州機(jī)電職業(yè)技術(shù)學(xué)院經(jīng)濟(jì)管理系學(xué)生社團(tuán)二手交
14、易模式, 利用 internet 這個(gè)媒介建立一個(gè)功能強(qiáng)大的、界面美觀的大學(xué)校園二手物品交 易平臺(tái),為常州機(jī)電職業(yè)技術(shù)學(xué)院社團(tuán)信息化的發(fā)展及學(xué)生們的二手貨物能更 好的得到二次利用而搭建一個(gè)良好的交易平臺(tái)。 1.21.2研究目的和意義研究目的和意義 本課題的提出意在開(kāi)發(fā)一個(gè)面向常州大學(xué)城二手交易市場(chǎng)的二手物品交易 平臺(tái),它的出發(fā)點(diǎn)必須是實(shí)用,操作簡(jiǎn)單,界面友好,讓大學(xué)校園內(nèi)有買(mǎi)賣(mài)需 求的人群共享同一個(gè)信息渠道,實(shí)現(xiàn)買(mǎi)賣(mài)的雙方線上、線下互動(dòng)。另外也是為了 鍛煉自己,加強(qiáng)對(duì) jsp、javabean、servlet、struts、javascript 語(yǔ)言技術(shù)和 mvc 三層開(kāi)發(fā)模式的掌握能力,了解
15、其內(nèi)部的運(yùn)行原理。 1.31.3國(guó)內(nèi)外研究現(xiàn)狀國(guó)內(nèi)外研究現(xiàn)狀 目前各國(guó)政府已充分認(rèn)識(shí)到電子商務(wù)對(duì)經(jīng)濟(jì)增長(zhǎng)的巨大推動(dòng)作用,從而大 力促進(jìn)電子商務(wù)在國(guó)民經(jīng)濟(jì)各個(gè)領(lǐng)域的應(yīng)用。 在電子商務(wù)的技術(shù)、市場(chǎng)和社會(huì) 法律等方面,美國(guó)均處于領(lǐng)先地位,有著名的購(gòu)物網(wǎng)站 a、ebay 等。 歐洲雖起步落后于美國(guó),但其發(fā)展勢(shì)頭卻非常迅猛。 國(guó)外電子商務(wù)系統(tǒng)發(fā)展 已相對(duì)完善,仍存在一定的問(wèn)題,大多數(shù)系統(tǒng)忽略了二手交易市場(chǎng)這個(gè)獨(dú)特的 環(huán)境,針對(duì)性不強(qiáng)。 由于二手交易應(yīng)用的商務(wù)模式還在探索中,因此在現(xiàn)階段, 二手交易的電子商務(wù)真正成熟發(fā)展的還不太多。 我國(guó)的電子商務(wù)起步晚,發(fā)展速度快。 經(jīng)過(guò) 19992002 年的萌芽,
16、20032006 年的高速增長(zhǎng)階段,現(xiàn)在已經(jīng)進(jìn)入了縱深發(fā)展階段。 在我國(guó),目 前的網(wǎng)絡(luò)交易平臺(tái)包括二手交易在內(nèi)有很多,門(mén)戶網(wǎng)站以易趣、阿里巴巴、淘 寶網(wǎng)等為主,而電腦配件等就以太平洋二手欄目為主,此外,還有當(dāng)當(dāng)、卓越、 全球采購(gòu)等著名的購(gòu)物網(wǎng)站。 目前國(guó)內(nèi)的網(wǎng)上交易市場(chǎng)還存在缺乏誠(chéng)信、安全、 物流不暢、法律政策環(huán)境有待改善的問(wèn)題。 比如所有的網(wǎng)上交易都無(wú)法做到實(shí) 名制,具有安全隱患;復(fù)雜一點(diǎn)的如二手設(shè)備交易,因?yàn)榫W(wǎng)上交易和習(xí)慣的傳 統(tǒng)交易方法不同,也會(huì)遇到一些困難。 發(fā)展二手交易電子商務(wù)網(wǎng)站,就要通過(guò) 打造一個(gè)安全的交易環(huán)境,創(chuàng)新經(jīng)營(yíng)策略來(lái)吸引網(wǎng)民,走大眾化的路線。 另外,在目前我國(guó)大部分高校
17、在大學(xué)生創(chuàng)業(yè)和社團(tuán)活動(dòng)中,二手物品交易 市場(chǎng)仍通過(guò)提供固定的交易市場(chǎng)進(jìn)行交易,需要通過(guò)跳蚤市場(chǎng)或是貼廣告作為 3 交易的中介,時(shí)間和地點(diǎn)的不穩(wěn)定性提高了交易的困難度,想要成功進(jìn)行交易 變的非常困難。信息流動(dòng)滯后,對(duì)于買(mǎi)方想要獲得二手交易市場(chǎng)的商品信息必 須跑去跳蚤市場(chǎng)或是尋找公告板上張貼的廣告;而對(duì)于賣(mài)方想要使自己想賣(mài)的 物品信息傳播出去要么破費(fèi)去張貼廣告,要么就是節(jié)假日去跳蚤市場(chǎng)擺攤。信 息傳播具有較大的滯后性。因此根據(jù)我院經(jīng)濟(jì)管理系社團(tuán)交易發(fā)展壯大開(kāi)發(fā)常 州大學(xué)城大學(xué)生二手物品交易平臺(tái)是十分必要的。 就目前大學(xué)生二手市場(chǎng)交易平臺(tái)的研究現(xiàn)狀來(lái)看,國(guó)內(nèi)大部分高校學(xué)生在 該方面研究還沒(méi)有形成系統(tǒng)
18、,而相關(guān)的研究又是分散的、理論性的研究較多, 而系統(tǒng)的、應(yīng)用性的研究較少。因此提供大學(xué)生二手物品交易平臺(tái)是十分重要 的。 1.41.4論文主要研究?jī)?nèi)容論文主要研究?jī)?nèi)容 本課題依托常州機(jī)電職業(yè)技術(shù)學(xué)院經(jīng)濟(jì)管理系社團(tuán)二手交易模式開(kāi)發(fā)常州 大學(xué)城大學(xué)生二手物品交易平臺(tái)的實(shí)現(xiàn),對(duì) jsp、javabean、servlet、struts 及 javascript 技術(shù)、數(shù)據(jù)庫(kù)技術(shù)以及 uml 建模語(yǔ)言等前沿的技術(shù)和開(kāi)發(fā)工具進(jìn) 行綜合運(yùn)用,從而開(kāi)發(fā)實(shí)現(xiàn)一套基于 web 環(huán)境的以常州機(jī)電職業(yè)技術(shù)學(xué)院經(jīng)濟(jì) 管理系社團(tuán)二手市場(chǎng)交易模式為依托的常州大學(xué)城大學(xué)生二手物品交易平臺(tái)。 整個(gè)系統(tǒng)采用 b/s 三層結(jié)構(gòu)進(jìn)行
19、設(shè)計(jì),開(kāi)發(fā)平臺(tái)使用的是 myeclipse 集成 開(kāi)發(fā)平臺(tái),使用 java 編程語(yǔ)言,并結(jié)合 css+div 網(wǎng)頁(yè)設(shè)計(jì)模式和 mvc 三層開(kāi)發(fā) 設(shè)計(jì)模式,采用 apache 的 tomcat 服務(wù)器,同時(shí)以 sql server 2005 作為數(shù)據(jù) 庫(kù)平臺(tái)。具體研究?jī)?nèi)容包括以下幾方面: (1)綜合運(yùn)用計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、軟件技術(shù)、管理信息系統(tǒng)思想和軟件工程方 法,選擇實(shí)現(xiàn)系統(tǒng)的技術(shù)方案,并確定其開(kāi)發(fā)環(huán)境。 (2)研究實(shí)現(xiàn)系統(tǒng)的關(guān)鍵技術(shù):jsp、javabean、servlet 結(jié)合的 mvc 三層 設(shè)計(jì)模式、struts 中 mvc 的設(shè)計(jì)模式、servlet 的監(jiān)聽(tīng)器技術(shù)實(shí)現(xiàn)在線人數(shù)統(tǒng) 計(jì)、se
20、rvlet 的過(guò)濾器技術(shù)實(shí)現(xiàn)用戶授權(quán)驗(yàn)證、會(huì)話狀態(tài)管理技術(shù)、 javascript 客戶端腳本技術(shù)。 (3)對(duì)常州大學(xué)城大學(xué)生二手物品交易平臺(tái)進(jìn)行總體設(shè)計(jì),確定系統(tǒng)的物理 架構(gòu)、系統(tǒng)功能和軟件架構(gòu),并采用 e-r 模型圖示法和關(guān)系模型等技術(shù)對(duì)系統(tǒng) 數(shù)據(jù)庫(kù)概念設(shè)計(jì)、邏輯設(shè)計(jì)和安全性設(shè)計(jì)。 4 (4)采用 uml 對(duì)系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì),使用 jsp、servlet 和 struts 技術(shù)、數(shù) 據(jù)訪問(wèn)技術(shù)、java 編程語(yǔ)言和 javascript 腳本語(yǔ)言等,實(shí)現(xiàn)用戶管理、商品 信息管理、購(gòu)物車管理、動(dòng)態(tài)信息公告、在線交流和留言管理等功能模塊。 (5)充分利用軟件測(cè)試方法保證軟件質(zhì)量,對(duì)常州大學(xué)城大
21、學(xué)生二手物品交 易平臺(tái)進(jìn)行單元測(cè)試、集成測(cè)試、驗(yàn)收測(cè)試、系統(tǒng)測(cè)試,重點(diǎn)研究黑盒測(cè)試和 白盒測(cè)試的方法。 5 2 2系統(tǒng)關(guān)鍵技術(shù)研究系統(tǒng)關(guān)鍵技術(shù)研究 選擇 jsp、javabean、servlet、javascript 等作為應(yīng)用程序開(kāi)發(fā)語(yǔ)言,采 用 struts 框架,運(yùn)用 mvc 三層設(shè)計(jì)模式及 css+div 網(wǎng)頁(yè)設(shè)計(jì)模式,運(yùn)用 tomcat 服務(wù)器技術(shù),并選擇 sql server 2005 作為后臺(tái)的數(shù)據(jù)庫(kù),整個(gè)系統(tǒng)完全基于 b/s (browser/server)模式進(jìn)行設(shè)計(jì)。 2.12.1 jspjsp 技術(shù)簡(jiǎn)介技術(shù)簡(jiǎn)介 jsp 是服務(wù)器端的腳本語(yǔ)言,是以 servlet 為基礎(chǔ)開(kāi)
22、發(fā)而成的動(dòng)態(tài)網(wǎng)頁(yè)生 成技術(shù),它的底層實(shí)現(xiàn)是 java servlet。 jsp(java server pages)由 html 代碼和潛入其中的 java 代碼所組成。 服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些代碼進(jìn)行處理,然后將生產(chǎn)的 html 頁(yè)面 返回客戶端的瀏覽器。按照腳本語(yǔ)言是服務(wù)于某一個(gè)子系統(tǒng)的語(yǔ)言這種論述, jsp 應(yīng)當(dāng)被看作是一種腳本語(yǔ)言。然而,作為一種腳本語(yǔ)言,jsp 又顯得過(guò)于強(qiáng) 大了,在 jsp 中幾乎可以使用全部的 java 類。 jsp 的特點(diǎn)是面向?qū)ο蟆?跨平臺(tái)、 和 servlet 一樣穩(wěn)定、 可以使用 servlet 提供的 api,同時(shí)克服了 servlet 的缺
23、點(diǎn)。 在使用 jsp 時(shí)一般和 javabeans 結(jié)合使用,從而將界面表現(xiàn)和業(yè)務(wù)邏輯分 離。分開(kāi)內(nèi)容和顯示邏輯的好處是,更新頁(yè)面外觀的人員不必懂得 java 代碼, 而更新 javabeans 三類的人員也不必是設(shè)計(jì)網(wǎng)頁(yè)的行家里手,就可以用帶 javabeans 類的 jsp 頁(yè)面來(lái)定義 web 模板,以建立一個(gè)由具有相似的外觀的頁(yè) 面組成的網(wǎng)站。javabeans 類完成數(shù)據(jù)提供,這樣在模板中就沒(méi)有 java 代碼, 這意味著這些模板可以由一個(gè) html 編寫(xiě)人員來(lái)維護(hù)。當(dāng)然,也可以利用 java servlet 來(lái)控制網(wǎng)站的邏輯,通過(guò) java servlet 調(diào)用 jsp 文件的方式來(lái)
24、將網(wǎng)站 的邏輯和內(nèi)容分離。 2.22.2 servletservlet 技術(shù)簡(jiǎn)介技術(shù)簡(jiǎn)介 java servlet 是 jsp 技術(shù)的基礎(chǔ),jsp 本身就是預(yù)先被編譯成 servlet,然 后再運(yùn)行的,而且大型的 web 應(yīng)用程序的開(kāi)發(fā)需要 java servlet 和 jsp 配合才 能完成,servlet 這個(gè)名稱大概源于 applet,現(xiàn)在國(guó)內(nèi)的翻譯方式很多,本文 為了避免誤會(huì),本文直接采用 servlet 這個(gè)名稱而不做任何翻譯,讀者如果愿 6 意,可以稱之為“小服務(wù)程序” 。servlet 其實(shí)和傳統(tǒng)的 cgi 程序和 isapi、nsapi 等 web 程序開(kāi)發(fā)工具的作用是相同的,
25、在使用 java servlet 以 后,用戶不必再使用效率低下的 cgi 方式,也不必使用只能在某個(gè)固定 web 服 務(wù)器平臺(tái)運(yùn)行的 api 方式來(lái)動(dòng)態(tài)生成 web 頁(yè)面。許多 web 服務(wù)器都支持 servlet,即使不直接支持 servlet 的 web 服務(wù)器也可以通過(guò)附加的應(yīng)用服務(wù)器 和模塊來(lái)支持 servlet。得益于 java 的跨平臺(tái)的特性,servlet 也是平臺(tái)無(wú)關(guān) 的,實(shí)際上,只要符合 java servlet 規(guī)范,servlet 是完全平臺(tái)無(wú)關(guān)且是 web 服務(wù)器無(wú)關(guān)的。由于 java servlet 內(nèi)部是以線程方式提供服務(wù),不必對(duì)于每個(gè) 請(qǐng)求都啟動(dòng)一個(gè)進(jìn)程,并且利
26、用多線程機(jī)制可以同時(shí)為多個(gè)請(qǐng)求服務(wù),因此 java servlet 效率非常高。但 java servlet 也不是沒(méi)有缺點(diǎn),和傳統(tǒng)的 cgi、isapi、nsapi 方式相同,java servlet 是利用輸出 html 語(yǔ)句來(lái)實(shí)現(xiàn)動(dòng)態(tài) 網(wǎng)頁(yè)的,如果用 java servlet 來(lái)開(kāi)發(fā)整個(gè)網(wǎng)站,動(dòng)態(tài)部分和靜態(tài)頁(yè)面的整合過(guò) 程簡(jiǎn)直就是一場(chǎng)噩夢(mèng)。這就是為什么 sun 后來(lái)還要推出 java server pages 的 原因。 2.2.1 servlet 工作流程 servlet 是 java 編寫(xiě)的服務(wù)器端程序,是由服務(wù)器端執(zhí)行和調(diào)用的 java 類。servlet 是采用 java 技術(shù)來(lái)
27、實(shí)現(xiàn) cgi 功能的一種技術(shù),能夠像 cgi 一樣動(dòng) 態(tài)地?cái)U(kuò)展 web 服務(wù)器的功能,并采用請(qǐng)求響應(yīng)模式提供 web 服務(wù)。servlet 和 cgi 一樣都是運(yùn)行在 web 服務(wù)器上,用來(lái)生成 web 頁(yè)面。servlet 的主要功 能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài) web 內(nèi)容。其工作流程圖如圖 2-1 所示。 servlet 工作流程: a)客戶端發(fā)送請(qǐng)求信息至服務(wù)器。 b)服務(wù)器將請(qǐng)求信息發(fā)送至 servlet。 c)servlet 生成響應(yīng)內(nèi)容并將其傳給 servlet。響應(yīng)內(nèi)容動(dòng)態(tài)生成,通常 取決于客戶端的請(qǐng)求。 7 web client http servlet reque
28、st http servlet response web component datebase web server 圖 2-1 servlet 工作流程圖 d)服務(wù)器將響應(yīng)信息返回至客戶端。 2.2.2 servlet 過(guò)濾器開(kāi)發(fā)技術(shù) servlet 過(guò)濾器是一種小型的、可插入的 web 組件,其提供了對(duì) web 應(yīng)用 程序的前期處理和后期處理的邏輯控制,可以攔截請(qǐng)求和響應(yīng),以便查看、提 取或以某種方式操作正在客戶端和服務(wù)器之間進(jìn)行交換的數(shù)據(jù)。 servlet 過(guò)濾器具有動(dòng)態(tài)、靈活、透明、模塊化、可移植、可重用等性質(zhì), 是一種自包含的、模塊化的組件,可以在使用時(shí)將其添加到請(qǐng)求/響應(yīng)鏈中,也
29、可以被刪除而不影響到應(yīng)用程序的其他 web 組件。servlet 過(guò)濾器應(yīng)用非常廣 泛,有攔截的地方一般都可以用到過(guò)濾器,其也和 servlet 類似,也需要在 web 應(yīng)用配置文件(即 web.xml)中進(jìn)行配置部署。過(guò)濾器并不是 servlet,他 們并不實(shí)際創(chuàng)建一個(gè)請(qǐng)求。他們是請(qǐng)求到達(dá)一個(gè) servlet 前的預(yù)處理程序,響 應(yīng)離開(kāi) servlet 后的后處理程序。 servlet 過(guò)濾器 api 包含 3 個(gè)簡(jiǎn)單的接口,即 filter、filterchain 和 filterconfig,它們位于 javax.servlet 包中。從編程的角度看,過(guò)濾器類將 實(shí)現(xiàn) filter 接口
30、,然后使用這個(gè)過(guò)濾器類中的 filterchain 和 filterconfig 接口。該過(guò)濾器類的一個(gè)引用將傳遞給 filterchain 對(duì)象,以允許過(guò)濾器將控 制權(quán)傳遞給過(guò)濾器鏈中的下一個(gè)過(guò)濾器或者資源。filterconfig 對(duì)象將由容器 提供給過(guò)濾器,以允許訪問(wèn)該過(guò)濾器的初始化數(shù)據(jù)。過(guò)濾器應(yīng)用控制流程如圖 2-2 所示。 瀏瀏覽覽器器過(guò)過(guò)濾濾器器鏈鏈servlet 處處理理后后的的響響應(yīng)應(yīng) 原原始始請(qǐng)請(qǐng)求求 處處理理后后的的請(qǐng)請(qǐng)求求 響響應(yīng)應(yīng) 在請(qǐng)求到達(dá)servlet之前,過(guò)濾器可以截取該請(qǐng)求 并檢查請(qǐng)求內(nèi)容。除了檢查之外,還可以定制請(qǐng) 求,如修改請(qǐng)求標(biāo)題或者請(qǐng)求數(shù)據(jù)等。具體的方
31、法是對(duì)傳遞過(guò)來(lái)的servletrequest對(duì)象進(jìn)行操作, 達(dá)到檢查和修改的目的。 被過(guò)濾器處理后的請(qǐng) 求發(fā)給servlet 過(guò)濾器可以截獲響應(yīng)信息并進(jìn)行修改,例如 修改響應(yīng)標(biāo)題或者響應(yīng)數(shù)據(jù)。具體的方法是通過(guò)操 作servlet對(duì)象傳遞給它的servletresponse對(duì)象來(lái) 達(dá)到目的。處理完畢之后將修改后的響應(yīng)信息發(fā)送 給客戶端。 servlet執(zhí)行其任務(wù)并可 能產(chǎn)生響應(yīng)。 8 圖 2-2 過(guò)濾器應(yīng)用控制流程 2.2.3 servlet 監(jiān)聽(tīng)器開(kāi)發(fā)技術(shù) servlet 監(jiān)聽(tīng)器主要有三種,在 servletcontext(上下文對(duì)象) 、 session(會(huì)話)和 request(請(qǐng)求)這三
32、對(duì)象上進(jìn)行監(jiān)聽(tīng),可以監(jiān)聽(tīng)對(duì)象的創(chuàng)建、 銷毀、添加屬性、刪除屬性、屬性值的改變等。servletcontext 對(duì)象的作用域 在整個(gè) web 應(yīng)用程序,類似于 static 屬性;session 的作用域在一個(gè)會(huì)話,一 個(gè)會(huì)話可以理解為一個(gè)從一個(gè)瀏覽器發(fā)出請(qǐng)求到服務(wù)器開(kāi)始,一直到瀏覽器關(guān) 閉(但通常我們可以設(shè)置會(huì)話的生命期,防止那些獲得連接后卻長(zhǎng)時(shí)間沒(méi)有再 向服務(wù)器發(fā)出請(qǐng)求的情況) ,相當(dāng)于類的成員變量;request 的作用域僅在一次 請(qǐng)求,即瀏覽器發(fā)送一次請(qǐng)求到服務(wù)器處理該請(qǐng)求并發(fā)回響應(yīng)就結(jié)束了,相當(dāng) 于局部變量。 servlet 事件監(jiān)聽(tīng)器與 java 的 gui 事件監(jiān)聽(tīng)器類似,一般情況
33、下按監(jiān)聽(tīng)的 對(duì)象劃分,servlet 事件監(jiān)聽(tīng)器可以分為: 1.用于監(jiān)聽(tīng)?wèi)?yīng)用程序環(huán)境對(duì)象(servletcontext)的事件監(jiān)聽(tīng)器; 2.用于監(jiān)聽(tīng)用戶會(huì)話對(duì)象(httpsession)的事件監(jiān)聽(tīng)器; 3.用于監(jiān)聽(tīng)請(qǐng)求消息對(duì)象(servletrequest)的事件監(jiān)聽(tīng)器。 按監(jiān)聽(tīng)的事件類項(xiàng)劃分,servlet 事件監(jiān)聽(tīng)器可以分為: 1.用于監(jiān)聽(tīng)域?qū)ο笞陨淼膭?chuàng)建和銷毀的事件監(jiān)聽(tīng)器; 2.用于監(jiān)聽(tīng)域?qū)ο笾械膶傩缘脑黾雍蛣h除的事件監(jiān)聽(tīng)器; 3.用于監(jiān)聽(tīng)綁定到 httpsession 域中的某個(gè)對(duì)象的狀態(tài)的事件監(jiān)聽(tīng)器。 2.32.3 javabeanjavabean 技術(shù)簡(jiǎn)介技術(shù)簡(jiǎn)介 javabean
34、 是基于 java 的組建模型,有點(diǎn)類似于 microsoft 的 com 組建。 javabean 就是 java 的可重用組件技術(shù)。asp 通過(guò) com 來(lái)擴(kuò)充復(fù)雜的功能,如 文件上載、發(fā)送 email 以及將業(yè)務(wù)處理或復(fù)雜計(jì)算分離出來(lái)成為獨(dú)立可重復(fù)利 用的模塊。jsp 通過(guò) javabean 實(shí)現(xiàn)了同樣的功能擴(kuò)充。jsp 對(duì)于在 web 應(yīng)用中 9 集成 javabean 組件提供了完善的支持。這種支持不僅能縮短開(kāi)發(fā)時(shí)間(可以 直接利用經(jīng)測(cè)試和可信任的已有組件,避免了重復(fù)開(kāi)發(fā)) ,也為 jsp 應(yīng)用帶來(lái) 了更多的可伸縮性。javabean 組件可以用來(lái)執(zhí)行復(fù)雜的計(jì)算任務(wù),或負(fù)責(zé)與數(shù) 據(jù)庫(kù)
35、的交互以及數(shù)據(jù)提取等。 在 java 平臺(tái)中,可以無(wú)限擴(kuò)充 java 程序的功能,通過(guò) javabean 的組合可 以快速生產(chǎn)新的應(yīng)用程序。javabean 通過(guò) java 虛擬機(jī)(java virtual machine)執(zhí)行,運(yùn)行 javabean 最小的需求是 jdk1.5 或者以上的版本。 對(duì)于程序員來(lái)說(shuō),最好的一點(diǎn)就是 javabean 可以實(shí)現(xiàn)代碼的重復(fù)利用,另 外對(duì)于程序的易維護(hù)性等等也有很重大的意義。在實(shí)際的 jsp 開(kāi)發(fā)過(guò)程中,讀 者將會(huì)發(fā)現(xiàn),和傳統(tǒng)的 asp 或 php 頁(yè)面相比,jsp 頁(yè)面將會(huì)是非常簡(jiǎn)潔的,由 于 javabeans 開(kāi)發(fā)起來(lái)簡(jiǎn)單,又可以利用 java
36、語(yǔ)言的強(qiáng)大功能,許多動(dòng)態(tài)頁(yè)面 處理過(guò)程實(shí)際上被封裝到了 javabeans 中。 javabean 傳統(tǒng)的應(yīng)用在于可視化的領(lǐng)域,如 awt 下的應(yīng)用。自從 jsp 誕生 后,javabean 更多的應(yīng)用在了非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出了越 來(lái)越強(qiáng)的生命力。 2.4struts 技術(shù)簡(jiǎn)介技術(shù)簡(jiǎn)介 struts 是一個(gè)為開(kāi)發(fā)基于模型(model)視圖(view)控制器(controller) (mvc)模式的應(yīng)用架構(gòu)的開(kāi)源框架,是利用 servlet,jsp 和 custom tag library 構(gòu)建 web 應(yīng)用的一項(xiàng)非常有用的技術(shù)。由于 struts 能充分滿足應(yīng)用開(kāi) 發(fā)的需求,
37、簡(jiǎn)單易用,敏捷迅速。它使用服務(wù)層框架可以將 javabeans 從 jsp/servlet 中分離出來(lái),而使用表現(xiàn)層框架則可以將 jsp 中剩余的 javabeans 完全分離,這部分 javabeans 主要負(fù)責(zé)顯示相關(guān)信息,一般是通過(guò)標(biāo)簽庫(kù) (taglib)實(shí)現(xiàn),不同框架有不同自己的標(biāo)簽庫(kù),struts 是應(yīng)用比較廣泛的一 種表現(xiàn)層框架。mvc 是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和 輸出分開(kāi)。使用 mvc 應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它 們各自處理自己的任務(wù)。 視圖:視圖是用戶看到并與之交互的界面。對(duì)老式的 web 應(yīng)用程序來(lái)說(shuō), 視圖就是由 html 元
38、素組成的界面,在新式的 web 應(yīng)用程序中,html 依舊在視 圖中扮演著重要的角色,但一些新的技術(shù)已層出不窮,它們包括 adobe flash 10 和象 xhtml、xml/xsl,wml 等一些標(biāo)識(shí)語(yǔ)言和 web services. 如何處理應(yīng)用程 序的界面變得越來(lái)越有挑戰(zhàn)性。mvc 一個(gè)大的好處是它能為你的應(yīng)用程序處理 很多不同的視圖。在視圖中其實(shí)沒(méi)有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機(jī)存 儲(chǔ)的還是一個(gè)雇員列表,作為視圖來(lái)講,它只是作為一種輸出數(shù)據(jù)并允許用戶 操縱的方式。 模型:模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在 mvc 的三個(gè)部件中,模型擁有最 多的處理任務(wù)。例如它可能用象 ejbs 和
39、coldfusion components 這樣的構(gòu)件對(duì) 象來(lái)處理數(shù)據(jù)庫(kù)。被模型返回的數(shù)據(jù)是中立的,就是說(shuō)模型與數(shù)據(jù)格式無(wú)關(guān), 這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫(xiě)一次就可 以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。 控制器:控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求。所 以當(dāng)單擊 web 頁(yè)面中的超鏈接和發(fā)送 html 表單時(shí),控制器(例如:servlet)本身 不輸出任何東西和做任何處理。它只是接收請(qǐng)求并決定調(diào)用哪個(gè)模型構(gòu)件去處 理請(qǐng)求,然后確定用哪個(gè)視圖來(lái)顯示模型處理返回的數(shù)據(jù)。 現(xiàn)在我們總結(jié) mvc 的處理過(guò)程,首先控制器接收用戶的請(qǐng)求,并決定應(yīng)該 調(diào)
40、用哪個(gè)模型來(lái)進(jìn)行處理,然后模型用業(yè)務(wù)邏輯來(lái)處理用戶的請(qǐng)求并返回?cái)?shù)據(jù), 最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過(guò)表示層呈現(xiàn)給用戶。 2.52.5javascriptjavascript 技術(shù)簡(jiǎn)介技術(shù)簡(jiǎn)介 javascript 就是適應(yīng)動(dòng)態(tài)網(wǎng)頁(yè)制作的需要而誕生的一種新的編程語(yǔ)言,如 今越來(lái)越廣泛地使用于 internet 網(wǎng)頁(yè)制作上。javascript 是由 netscape 公司 開(kāi)發(fā)的一種腳本語(yǔ)言(scripting language) ,或者稱為描述語(yǔ)言。在 html 基 礎(chǔ)上,使用 javascript 可以開(kāi)發(fā)交互式 web 網(wǎng)頁(yè)。javascript 的出現(xiàn)使得網(wǎng) 頁(yè)和用戶
41、之間實(shí)現(xiàn)了一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,使網(wǎng)頁(yè)包含更多 活躍的元素和更加精彩的內(nèi)容。運(yùn)行用 javascript 編寫(xiě)的程序需要能支持 javascript 語(yǔ)言的瀏覽器。netscape 公司 navigator 3.0 以上版本的瀏覽器 都能支持 javascript 程序,微軟公司 internet explorer 3.0 以上版本的瀏 覽器基本上支持 javascript。微軟公司還有自己開(kāi)發(fā)的 javascript,稱為 jscript。 javascript 和 jscript 基本上是相同的,只是在一些細(xì)節(jié)上有出入。 javascript 短小精悍,又是在客戶機(jī)上執(zhí)行的,
42、大大提高了網(wǎng)頁(yè)的瀏覽速度和 11 交互能力。同時(shí)它又是專門(mén)為制作 web 網(wǎng)頁(yè)而量身定做的一種簡(jiǎn)單的編程語(yǔ)言。 javascript 使網(wǎng)頁(yè)增加互動(dòng)性。javascript 使有規(guī)律地重復(fù)的 html 文段 簡(jiǎn)化,減少下載時(shí)間。javascript 能及時(shí)響應(yīng)用戶的操作,對(duì)提交表單做即時(shí) 的檢查,無(wú)需浪費(fèi)時(shí)間交由 cgi 驗(yàn)證。 2.52.5基于基于 b/sb/s 的的 webweb 應(yīng)用體系結(jié)構(gòu)應(yīng)用體系結(jié)構(gòu) 2.5.1 傳統(tǒng)的兩層體系結(jié)構(gòu) 在 web 發(fā)展的初期,web 應(yīng)用主要是通過(guò)靜態(tài)頁(yè)面在 internet 上發(fā)布信息。 用戶通過(guò)瀏覽器向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器接收用戶端的請(qǐng)求,向客戶端
43、瀏覽 器發(fā)送所請(qǐng)求的頁(yè)面。在這種結(jié)構(gòu)下,網(wǎng)站上的頁(yè)面是靜態(tài)的,無(wú)法根據(jù)用戶 的實(shí)際使用情況做動(dòng)態(tài)的變化。網(wǎng)站的信息提供者通過(guò)更新服務(wù)器上的網(wǎng)頁(yè)來(lái) 向用戶提供最新的信息。用戶和瀏覽器之間只有有限的交互,而網(wǎng)站和用戶之 間幾乎沒(méi)有交互。 2.5.2 三層體系結(jié)構(gòu) 三層體系結(jié)構(gòu)圖如圖 2-3 所示。 cgi,jsp,php 等技術(shù)的出現(xiàn),使得開(kāi)發(fā)動(dòng)態(tài)交互式的 web 應(yīng)用得以實(shí)現(xiàn)。 用戶通過(guò)瀏覽器向服務(wù)器發(fā)送請(qǐng)求,web 服務(wù)器接收客戶端發(fā)送來(lái)的請(qǐng)求,對(duì) 請(qǐng)求進(jìn)行分析,如果請(qǐng)求是靜態(tài)頁(yè) 瀏覽器web服務(wù)器 請(qǐng)求 響應(yīng) 數(shù)據(jù)庫(kù) 圖 2-3 三層體系結(jié)構(gòu)圖 就將所請(qǐng)求的頁(yè)面發(fā)送到客戶端;如果請(qǐng)求的是動(dòng)態(tài)
44、頁(yè)面,那么就執(zhí)行此動(dòng)態(tài) 頁(yè)面,并將執(zhí)行結(jié)果發(fā)送給客戶端。動(dòng)態(tài)頁(yè)面中的腳本程序可以和數(shù)據(jù)庫(kù)服務(wù) 器進(jìn)行交互。 web 服務(wù)器可以根據(jù)用戶的請(qǐng)求動(dòng)態(tài)更新頁(yè)面上的信息,web 信息提供者可 以通過(guò)改變數(shù)據(jù)庫(kù)中的數(shù)據(jù)向用戶提供最新信息,而不需要逐個(gè)更改頁(yè)面。用 戶可以通過(guò)這些動(dòng)態(tài)頁(yè)面向數(shù)據(jù)庫(kù)中輸入信息,從而增強(qiáng)了用戶和服務(wù)器之間 的交互性。 12 2.6mvc 三層開(kāi)發(fā)模式簡(jiǎn)介三層開(kāi)發(fā)模式簡(jiǎn)介 mvc 是一種設(shè)計(jì)模式,她強(qiáng)制性地把應(yīng)用程序的輸入、處理和輸出分開(kāi)。 mvc 應(yīng)用程序總是由這三個(gè)部分組成:模型、視圖和控制器,它們分別擔(dān)負(fù)不 同的任務(wù)。圖 2-4 顯示了這幾個(gè)模塊各自的功能以及它們的相互關(guān)系
45、。 圖 2-4 mvc 的工作原理 視圖顯示模型狀態(tài),接受數(shù)據(jù)更新請(qǐng)求,把用戶輸入數(shù)據(jù)付給控制器;控 制器接受用戶請(qǐng)求,調(diào)用模型響應(yīng)用戶請(qǐng)求,選擇視圖顯示響應(yīng)結(jié)果;最后模 型代表應(yīng)用程序狀態(tài),響應(yīng)狀態(tài)查詢處理業(yè)務(wù)流程,通知視圖業(yè)務(wù)狀態(tài)更新。 了解了 mvc 模式之后我們了解到它的作用主要是使我們的程序獨(dú)立性更高,更 加模塊化,各個(gè)層獨(dú)立完成自己的任務(wù),耦合低,一個(gè)部分出錯(cuò)后,其它部分 不會(huì)受到影響,這樣我們寫(xiě)出來(lái)的程序就更加清晰了。 2.6.1 jsp 開(kāi)發(fā)中的 mvc 模型 jsp 網(wǎng)站開(kāi)發(fā)技術(shù)標(biāo)準(zhǔn)提供了兩種開(kāi)發(fā)模式:一種是 jsp+javabean 開(kāi)發(fā)模 式;一種是 jsp+servle
46、t+javabean 開(kāi)發(fā)模式。 jsp+javabean 模型圖如圖 2-5 所示。 瀏 覽 器 jspjavabeandatabase 圖 2-5 jsp+javabean 模型圖 在這種模型中,jsp 頁(yè)面獨(dú)自響應(yīng)請(qǐng)求并將處理結(jié)果返回給客戶,所有的 數(shù)據(jù)通過(guò) javabean 來(lái)處理,jsp 實(shí)現(xiàn)頁(yè)面的顯示。此模型常常會(huì)導(dǎo)致頁(yè)面被嵌 入大量的腳本語(yǔ)言或者 java 代碼段,當(dāng)處理大型業(yè)務(wù)時(shí),頁(yè)面程序?qū)⒆兊卯惓?13 復(fù)雜給開(kāi)發(fā)和維護(hù)帶來(lái)困難。 jsp+servlet+javabean 模型圖如圖 2-6 所示。 瀏 覽 器 servlet jsp javabeandatabase 圖 2
47、-6 jsp+servlet+javabean 模型圖 servlet 技術(shù)是一種采用 java 技術(shù)來(lái)實(shí)現(xiàn) cgi 功能的一種技術(shù)。servlet 是運(yùn)行在 web 服務(wù)器上,用來(lái)生成 web 頁(yè)面。servlet 技術(shù)非常適于服務(wù)器端 的處理和編程。 在此種開(kāi)發(fā)模式中,jsp 技術(shù)用來(lái)顯示頁(yè)面,該頁(yè)面中沒(méi)有任何的商業(yè)處 理邏輯,通過(guò) servlet 技術(shù)來(lái)完成大量的事物處理工作。servlet 用來(lái)處理事 務(wù)的請(qǐng)求,充當(dāng)著一個(gè)控制者的角色,并負(fù)責(zé)向客戶發(fā)送請(qǐng)求,創(chuàng)建 jsp 需要 的 bean 和對(duì)象,根據(jù)用戶的請(qǐng)求行為,決定將哪個(gè) jsp 頁(yè)面發(fā)送給用戶。 從上面兩種開(kāi)發(fā)模式來(lái)說(shuō):第二種
48、模式要好些,更適合于團(tuán)隊(duì)開(kāi)發(fā),速度 相對(duì)較慢,但是可維護(hù)性高。 2.6.2 struts 開(kāi)發(fā)中的 mvc 模型 在以上提到的 jsp + javabean 或 jsp + servlet+javabean 也可以完成相 應(yīng)的功能,但 jsp + javabean 的缺點(diǎn)是 java 代碼全部嵌套在 jsp 頁(yè)面里邊, 這樣一旦出現(xiàn)問(wèn)題,將會(huì)很難從 html 與 java 混合的頁(yè)面出找出錯(cuò)誤。jsp + servlet+javabean 這種模式 servlet 雖然可以起到一個(gè)控制作用,但 servlet 中的代碼不夠靈活,往往跳轉(zhuǎn)語(yǔ)句是一些硬代碼,這樣如果以后出現(xiàn)業(yè)務(wù)邏輯 的改變,就需要
49、改變很多的代碼,struts 用 xml 文件保存了會(huì)動(dòng)態(tài)改變的一些 跳轉(zhuǎn)語(yǔ)句與一些國(guó)際化的參數(shù),這樣如果程序要改變,只需要簡(jiǎn)單的改變 xml 文件即可。struts 幫我們完成了很多重復(fù)性的工作,提高我們的工作效率,當(dāng) 然程序也更加健壯。 因此,下面結(jié)合 struts 的運(yùn)行過(guò)程介紹 struts 核心組件的職能和作用來(lái) 完成 mvc 三層的開(kāi)發(fā)設(shè)計(jì)。如圖 2-7 所示,actionservlet 是 struts 最核心的 組件。在 web 容器啟動(dòng)的時(shí)候,actionservlet 被初始化,加載 struts- config.xml 配置文件(這也是為什么當(dāng) struts 配置文件修改
50、的時(shí)候需要重新啟 14 動(dòng) web 容器)。struts 處理請(qǐng)求的過(guò)程如下: (1)當(dāng)客戶端瀏覽器發(fā)起請(qǐng)求到 actionservlet 時(shí),actionservlet 首先對(duì) 請(qǐng)求進(jìn)行一系列處理:根據(jù)請(qǐng)求的路徑和配置信息找到對(duì)應(yīng)的 action bean 和 form bean。 (2)在確定將要調(diào)用的 action bean 和對(duì)應(yīng)的 form bean 后,就將請(qǐng)求中 包含的值填充到 form bean 中(action 可以不關(guān)聯(lián)任何 actionform,所以這一 步是可選的)。在調(diào)用 action 的 execute 方法前,actionservlet 還需要準(zhǔn)備 好 actio
51、nmapping 參數(shù),actionmapping 中包含了該 action 的配置信息。 (3)然后 struts 將請(qǐng)求分發(fā)至相應(yīng)的 action bean 處理,actionmapping 參數(shù)、actionform 參數(shù)、requset 和 response 都作為參數(shù)傳給處理請(qǐng)求的 action bean 和 execute 方法。 (4)action 調(diào)用業(yè)務(wù)邏輯方法,得到返回值,并返回 actionforward 對(duì)象。 (5)控制權(quán)重新回到 actionservlet,actionservlet 根據(jù) action 返回的 actionforward 對(duì)象轉(zhuǎn)發(fā)到相應(yīng)的 jsp
52、頁(yè)面。 (6)處理結(jié)果返回給瀏覽器。 圖 2-7 struts 的工作原理 2.72.7本章小結(jié)本章小結(jié) 本章主要介紹了系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù),首先從 15 jsp、servlet、javabean、javascript 編程語(yǔ)言開(kāi)始入手,緊接著介紹 b/s 的 web 應(yīng)用體系結(jié)構(gòu),最后介紹了 mvc 三層開(kāi)發(fā)模式技術(shù)在 jsp 與 struts 中的運(yùn) 用。 3 3系統(tǒng)需求分析系統(tǒng)需求分析 需求分析不僅是軟件定義時(shí)期的最后一個(gè)階段,而且是軟件開(kāi)發(fā)期的第一 個(gè)階段,也是關(guān)系到軟件開(kāi)發(fā)成敗的關(guān)鍵步驟。只有通過(guò)需求分析才能把軟件 功能和性能的總體概念描述為具體的軟件需求規(guī)格說(shuō)明,從而奠定軟件開(kāi)發(fā)的
53、基礎(chǔ)。本階段所研究的對(duì)象是軟件項(xiàng)目的用戶要求,必須全面理解用戶的各項(xiàng) 要求,但又不能全盤(pán)接受所有的要求。為了達(dá)到這一目的,我們必須對(duì)其中模 糊的要求進(jìn)行澄清,然后才能決定是否可以采納。準(zhǔn)確地表達(dá)被接受的用戶要 求,也是需求分析的另一個(gè)重要方面,只有經(jīng)過(guò)確切描述的軟件需求才能成為 軟件設(shè)計(jì)的基礎(chǔ)。 3.13.1總體需求總體需求 常州大學(xué)城大學(xué)生二手物品交易平臺(tái)是以常州機(jī)電職業(yè)技術(shù)學(xué)院經(jīng)濟(jì)管理 系社團(tuán)二手交易市場(chǎng)依據(jù),通過(guò)分析、調(diào)研該社團(tuán)交易的業(yè)務(wù)處理流程進(jìn)行實(shí) 施設(shè)計(jì)與開(kāi)發(fā)。 16 通過(guò)分析,作為一個(gè)大學(xué)生二手交易型平臺(tái),商品信息必須準(zhǔn)確、及時(shí)更 新,便于用戶瀏覽信息,產(chǎn)生購(gòu)買(mǎi)意向;買(mǎi)賣(mài)雙方可通
54、過(guò)在線聊天,增加了解 彼此的信息;用戶注冊(cè)必須填入準(zhǔn)確的信息,以保護(hù)雙方的合法權(quán)益;用戶可 以自主管理自己的信息以及注冊(cè)信息和找回自己的密碼等問(wèn)題;用戶隨時(shí)可以 查看留言、發(fā)布留言、回復(fù)留言,加強(qiáng)平臺(tái)交易的靈活性;管理員需及時(shí)檢查 用戶信息、動(dòng)態(tài)增加公告信息和設(shè)置商品的特價(jià)等,以確保網(wǎng)站正常運(yùn)營(yíng)。 該系統(tǒng)由前臺(tái)信息瀏覽、用戶管理和后臺(tái)管理兩部分組成。前臺(tái)信息瀏覽 顯示最新商品信息、特價(jià)商品信息,提供站內(nèi)搜索,方便用戶更快更準(zhǔn)確的找 到所需信息,前臺(tái)提供用戶登錄和管理員登錄,并且可以連接大學(xué)城各高校校 內(nèi)新聞,關(guān)心各校新聞。在用戶登錄后可以查看、編輯注冊(cè)信息、找回密碼、 查看物品詳細(xì)信息、進(jìn)行購(gòu)
55、物、查看訂單信息、在線交流等。管理員可以查看、 管理用戶信息,管理商品信息,保證網(wǎng)站運(yùn)轉(zhuǎn)。 3.23.2功能需求功能需求 3.2.1 交易平臺(tái)前臺(tái)功能需求 常州大學(xué)城大學(xué)生二手交易平臺(tái)前臺(tái)信息瀏覽顯示最新商品信息、特價(jià)商 品信息,提供站內(nèi)搜索,方便用戶更快更準(zhǔn)確的找到所需信息,前臺(tái)提供用戶 登錄和管理員登錄,并且可以大學(xué)城各高校校內(nèi)新聞,關(guān)心各校新聞。前臺(tái)的 功能需求用例圖如圖 3-1 所示: 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、
56、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 17 圖 3-1 前臺(tái)功能需求用例圖 具體內(nèi)容如下: (1)商品信息瀏覽:瀏覽網(wǎng)站最新發(fā)布的商品信息、特價(jià)商品信息及銷售 商品的排行榜;查看商品的詳細(xì)信息必須用戶登錄才能進(jìn)行并可以購(gòu) 物; (2)商品信息搜索:通過(guò)大類搜索本平臺(tái)的商品信息,也可以自己輸入商 品的名稱進(jìn)行搜索; (3)用戶登錄、注冊(cè):用戶可以直接登錄,進(jìn)入交易平臺(tái)首頁(yè);提供用戶 注冊(cè)的接口;提供后臺(tái)登錄接口; (4)用戶管理:用戶可以修改自己的注冊(cè)信息、在忘記密碼時(shí)通過(guò)問(wèn)題找
57、回密碼; (5)購(gòu)物車管理:在用戶登錄后,可以進(jìn)行購(gòu)物,提供修改購(gòu)物車信息、 清空購(gòu)物車、繼續(xù)購(gòu)物、結(jié)賬模擬功能、生成訂單功能等; (6)訂單管理:顯示用戶在本平臺(tái)的所有訂單信息,包括已發(fā)貨和未發(fā)貨 的訂單,并且可以查看訂單的詳細(xì)信息; (7)在線交流:顯示所有在線交流的會(huì)員,可以直接和相關(guān)人員進(jìn)行聊天 并咨詢相關(guān)商品的信息; (8)留言簿:所有用戶都可以進(jìn)行留言和回復(fù)交流,增強(qiáng)平臺(tái)的靈活性, 可以提供雙方物品的交易; (9)平臺(tái)公告:顯示平臺(tái)最新動(dòng)態(tài),及時(shí)了解有關(guān)本交易平臺(tái)的相關(guān)新聞; (10)友情鏈接:提供常州大學(xué)城所有高校的門(mén)戶網(wǎng)站,了解各校的校園動(dòng) 態(tài)新聞; (11)設(shè)置主頁(yè):將本站設(shè)
58、置成主頁(yè),可以在打開(kāi)瀏覽器時(shí)第一時(shí)間打開(kāi)網(wǎng) 站主頁(yè)。 3.2.2 交易平臺(tái)后臺(tái)功能需求 常州大學(xué)城大學(xué)生二手物品交易平臺(tái)后臺(tái)主要由用戶管理、商品信息管理、 商城信息管理三大模塊組成,用戶管理模塊包括管理員設(shè)置和會(huì)員設(shè)置,管理 員設(shè)置包括管理員登錄、管理員查詢,管理員添加,管理員刪除;會(huì)員設(shè)置包 括會(huì)員信息查詢,會(huì)員刪除。在用戶管理模塊部分,不同的功能對(duì)應(yīng)于不同權(quán) 18 限的用戶,只有擁有相應(yīng)權(quán)限的用戶才可以使用某種功能。系統(tǒng)用戶分為會(huì)員 和管理員兩類,管理員又可以分為超級(jí)管理員和普通管理員。不同類型的用戶 具有嚴(yán)格的權(quán)限劃分。后臺(tái)的功能需求用例圖如圖 3-2 所示: 、 、 、 、 、 、 、
59、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 、 圖 3-2 后臺(tái)功能需求用例圖 具體內(nèi)容如下: (1)用戶管理:在會(huì)員管理模塊管理員可以查看所有會(huì)員的列表及詳 細(xì)信息,并可以刪除相關(guān)會(huì)員的信息;在管理員模塊管理員可以 查看所有管理員的列表及詳細(xì)信息,一般管理員只能修
60、改自己的密碼 和信息,而超級(jí)管理員可以增加和刪除管理員的信息; (2)商品信息管理:管理員可以查看交易平臺(tái)的所有的商品信息、添加和 刪除商品信息,并且可以設(shè)置商品的特價(jià);同時(shí)管理員還可以對(duì)商品 的大類別和小類別進(jìn)行查詢、添加和刪除操作; (3)商城平臺(tái)信息維護(hù):可以查看、添加、修改、刪除該平臺(tái)前臺(tái)動(dòng)態(tài)展 示信息操作;并且可以添加、刪除友情鏈接相關(guān)內(nèi)容。 3.33.3性能需求性能需求 系統(tǒng)開(kāi)發(fā)的總體任務(wù)是實(shí)現(xiàn)常州大學(xué)城大學(xué)生二手交易平臺(tái)網(wǎng)絡(luò)化、規(guī)范 化、自動(dòng)化、即時(shí)化、專業(yè)化。主要包括游客、會(huì)員和管理員對(duì)本平臺(tái)的功能 19 要求。 (1)系統(tǒng)安全性。有較好的權(quán)限管理,不同權(quán)限進(jìn)入不同的界面,為了
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國(guó)特種阻尼極壓脂市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)熔融造粒機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 創(chuàng)傷后伴急性胃腸功能損傷相關(guān)因素的臨床分析
- 《描述建筑業(yè)》(節(jié)選)英漢翻譯實(shí)踐報(bào)告
- 老舊小區(qū)拆墻合同范本
- 2025年中國(guó)沏茶保溫瓶市場(chǎng)調(diào)查研究報(bào)告
- 塔里木盆地中下寒武統(tǒng)沉積相研究
- 項(xiàng)目加盟協(xié)議合同范本
- 2025年中國(guó)振弦式多點(diǎn)變位計(jì)市場(chǎng)調(diào)查研究報(bào)告
- 多房棘球蚴感染小鼠肝臟轉(zhuǎn)錄組分析及Ngf基因功能初探
- 高考英語(yǔ)單詞3500分類記憶(精編版)
- 林規(guī)發(fā)〔2016〕58號(hào)防護(hù)林造林工程投資估算指標(biāo)
- 非公開(kāi)發(fā)行公司債券的法律意見(jiàn)書(shū)模版
- 汽車空調(diào)技術(shù)與維修教案
- 企業(yè)管理概論-課件全書(shū)課件完整版ppt全套教學(xué)教程最全電子教案電子講義(最新)
- 餐飲服務(wù)食品安全監(jiān)督量化分級(jí)動(dòng)態(tài)等級(jí)評(píng)定檢查表
- 北師大版語(yǔ)文選修《蕭蕭》ppt課件1
- 大學(xué)生職業(yè)素養(yǎng)課件-5第五單元學(xué)會(huì)有效溝通-PPT課件
- 《談骨氣》課文閱讀(共2頁(yè))
- 病原生物與免疫學(xué)(中職)緒論P(yáng)PT課件
評(píng)論
0/150
提交評(píng)論