

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 1.選題背景1</b></p><p> 1.1背景以及課題目的和意義1</p><p> 1.2國內外發(fā)展現(xiàn)狀1</p><p> 2.相關基礎及技術2</p><p> 2.1意義A
2、JAX概念和技術的出現(xiàn)以及AJAX關鍵技術2</p><p> 2.1.1JavaScript2</p><p> 2.1.2CSS2</p><p> 2.1.3文檔對象模型DOM2</p><p> 2.1.4XHTML2</p><p> 2.2AJAX與傳統(tǒng)Web服務的比較2</p&
3、gt;<p> 2.2.1傳統(tǒng)的Web應用3</p><p> 2.2.2集成AJAX技術的Web應用3</p><p> 2.2.3使用AJAX的優(yōu)勢3</p><p> 3.應用實例設計與分析4</p><p><b> 3.1設計思想4</b></p><p&g
4、t; 3.2系統(tǒng)的開發(fā)測試環(huán)境4</p><p> 3.3系統(tǒng)功能設計4</p><p> 3.4系統(tǒng)總體Web框架5</p><p> 3.4.1系統(tǒng)的分層架構設計5</p><p> 3.4.2結合AJAX的MVC模式5</p><p> 3.5系統(tǒng)動態(tài)模型分析6</p>&l
5、t;p> 3.5.1基于AJAX的操作協(xié)議圖6</p><p> 3.6 AJAX與Servlet交互代碼的主要實現(xiàn)7</p><p> 3.7系統(tǒng)類結構設計9</p><p> 3.8系統(tǒng)數(shù)據(jù)庫結構設計9</p><p> 3.9系統(tǒng)的主要功能實現(xiàn)10</p><p> 3.9.1基于AJ
6、AX技術的查詢?yōu)g覽模塊,即用戶模塊10</p><p> 3.9.2管理模塊10</p><p> 4.系統(tǒng)測試運行效果及結果分析11</p><p> 4.1管理模塊11</p><p> 4.2用戶瀏覽模塊12</p><p> 5.系統(tǒng)性能和安全分析13</p><p&g
7、t; 5.1性能問題13</p><p> 5.2解決方案14</p><p> 5.3安全性分析14</p><p><b> 參考文獻:14</b></p><p> Ajax技術在信息發(fā)布系統(tǒng)中的應用</p><p> 摘要: 信息的發(fā)布和傳播是指信息從發(fā)送者到接收者的傳
8、遞過程,這個過程有三個基本要素:發(fā)送者、接收者和傳播渠道。隨著網(wǎng)絡通信與計算機技術的飛速發(fā)展,將信息以網(wǎng)絡的形式進行傳播已經成為現(xiàn)代信息發(fā)布系統(tǒng)的主流模式,Web服務的形式也逐漸多樣化。傳統(tǒng)的Web技術由于互動性和實時性的缺陷,已經無法滿足現(xiàn)實的需要。本文對傳統(tǒng)的Web應用與Ajax模式的Web應用進行了比較,詳細分析了Ajax與綜合信息發(fā)布系統(tǒng)的集成設計模式。通過具體的設計說明了這種應用的可行性以及更加強大的交互性。</p>
9、;<p> 關鍵詞: Ajax 異步傳輸 Web應用 信息發(fā)布系統(tǒng) JavaScript</p><p><b> 1.選題背景</b></p><p> 1.1背景以及課題目的和意義</p><p> 從2003年多媒體信息發(fā)布系統(tǒng)出現(xiàn),到2007多媒體信息發(fā)布系統(tǒng)得到人們的認可,發(fā)展到現(xiàn)在,其已經成為建筑智能化
10、領域不可缺少的一個子系統(tǒng),多媒體信息發(fā)布系統(tǒng)在現(xiàn)代信息化社會應用的行業(yè)和地點越來越廣泛?!岸嗝襟w”是指能夠同時獲取、處理、編輯、存儲和展示兩個以上不同類型信息媒體的技術,也稱多媒體信息發(fā)布系統(tǒng)?,F(xiàn)在多媒體技術往往與計算機聯(lián)系起來,這是由于計算機的數(shù)字化及交互處理能力,極大地推動了多媒體技術的進一步發(fā)展。通??梢园讯嗝襟w看成是先進的計算機技術與視頻、音頻和通信等技術融為一體而形成的新技術或新產品。因此可以認為多媒體是計算機綜合處理文本、圖
11、形、圖像、音頻、視頻等多媒體信息,使多種信息可以快速的綜合的發(fā)展。它是一種迅速發(fā)展的綜合性電子信息技術,給人們的工作、生活、休閑和娛樂帶來了深刻的影響。利用AJAX來實現(xiàn)信息的實時更新,加強對系統(tǒng)數(shù)據(jù)庫的監(jiān)測,是得到最新信息的一種非常有效的方式。</p><p> 1.2國內外發(fā)展現(xiàn)狀</p><p> AJAX作為一個技術組合,除了在瀏覽器中引入了XMLHttpRequest對象以外
12、,并沒有增加其他的新技術。但AJAX卻顛覆了傳統(tǒng)Web應用的理論,模式和方法,AJAX技術的潛力還有待進一步挖掘,AJAX應用的理論,模式和方法還需要繼續(xù)發(fā)展和完善。AJAX技術目前還處于成長期,雖然AJAX技術得到越來越多的應用,但像Google這樣把AJAX技術的使用發(fā)揮到極至的例子還是很少,AJAX在大多數(shù)情況下還是作為一種補充技術出現(xiàn),AJAX成為web應用的主流技術還是需要一定時間的。</p><p>
13、 最有名的AJAX應用幾乎都是Google的大作,包括Gmail, Google Suggest, Google Maps,可以說這是最廣為人知的幾個AJAX應用,比如Google推出的Gmail服務,Gmail最出色的地方是它的UI,它允許用戶一次打開多個郵件,并且即使用戶在編寫郵件時,郵件列表也能夠自動更新,與其他的傳統(tǒng)的Web郵件系統(tǒng)相比,這是一個巨大的進步,再比如Google Suggest在提供更加豐富的交互性方面,Goog
14、le走得更遠,例如,當用戶鍵入字符時,Google Suggest可以為用戶提供與輸入字符相符的提示,幫助他們完成想要鍵入的搜索字符串,Google Maps可以執(zhí)行交互式的,可動態(tài)縮放而不需要刷新整個頁面的搜索,如今,隨著Gmail, Google Maps的應用和各種瀏覽器的支持,AJAX正逐漸壯大起來,使得人們更加關注于他。而這些應用都只算是初步的嘗試,同時也表明,AJAX正在快速的壯大,因為像谷歌,雅虎和微軟這樣的IT界領軍人物
15、只有在看到了可觀的商業(yè)前景之后才會大量運用特定的新技術 。 </p><p><b> 2.相關基礎及技術</b></p><p> 2.1意義AJAX概念和技術的出現(xiàn)以及AJAX關鍵技術</p><p> 2.1.1JavaScript</p><p> JavaScript是一種基于對象和事件驅動并具有較高安
16、全性能的腳本語言,其目的是與HTML超文本標記語言、Java腳本語言(Java小程序)一起實現(xiàn),并在一個Web頁面中連接多個對象,與Web客戶交互作用,從而可以開發(fā)客戶端的應用程序等。JavaScript通過嵌入或調入到標準的HTML語言中實現(xiàn),它的出現(xiàn)彌補了HTML語言的缺陷,是Java與HTML折中的選擇。JavaScript曾一直被定位為客戶端腳本語言,應用最多的地方是表單數(shù)據(jù)的校驗。</p><p>&l
17、t;b> 2.1.2CSS</b></p><p> 級聯(lián)樣式表(Cascading Style Sheets,CSS),是1996年作為把有關樣式屬性信息如字體和邊框加到HTML文檔中的標準方法而提出來的。但是CSS與XML結合的確比與HTML結合得更好,因為HTML承擔著CSS標志和HTML標志之間向后兼容的任務。例如,要正確地支持CSS和NOWRAP屬性,就要求廢除HTML中非標準的但
18、又是經常使用的NOWRAP元素。由于XML元素沒有任何預定義的格式規(guī)定,所以不會限制何種CSS樣式只能用于何種元素。一個CSS樣式表就是一組規(guī)則。每個規(guī)則給出此規(guī)則所適用的元素的名稱,以及此規(guī)則要應用于哪些元素的樣式。</p><p> 2.1.3文檔對象模型DOM</p><p> DOM(Document Object Model)是提供給HTML和XML使用的一組API,提供了文
19、件的表述結構,并可以利用它改變其中的內容和可見物。腳本語言通過DOM才可以跟頁面進行交互。Web開發(fā)人員可操作及建立文件的屬性、方法以及事件具都以對象來展現(xiàn),如document就代表頁面對象本身。</p><p> 2.1.4XHTML</p><p> 2000年底,國際W3C(World Wide Web Consortium)組織公布發(fā)行了XHTML1.0版本。XHTML1.0是
20、一種在HTML4.0基礎上優(yōu)化和改進的新語言,目的是基于XML開發(fā)應用。XHTML扮演著類似于HTML角色的XML。所以,本質上講,XHTML是一種過渡技術,結合了XML(有幾分)的強大功能及HTML(大多數(shù))的簡單特性,它的可擴展性和靈活性將適應未來網(wǎng)絡應用更多的需求。</p><p><b> 2.1.5XML </b></p><p> 通過XML(eXte
21、nsible Markup Language)可以規(guī)范地定義結構化數(shù)據(jù),使網(wǎng)上傳輸?shù)臄?shù)據(jù)和文檔符合統(tǒng)一標準。用XML表述的數(shù)據(jù)和文檔,可以很容易地讓所有程序共享。DOM以分層次對象模型來訪問儲存在XML文檔中的信息,生成一棵節(jié)點樹(以XML文檔的結構和信息為基礎),可以通過該樹來訪問所需信息。</p><p> 2.2AJAX與傳統(tǒng)Web服務的比較</p><p> AJAX確切地說,
22、不是一種新的技術,而是一種技巧,這種技巧是以JavaScript為粘著劑,綜合XHTML,CSS,DOM,XML,XSTL,XMLHttpRequest等已存在的Web開發(fā)技術而形成的協(xié)作開發(fā)平臺。</p><p> 這個平臺主要是連接傳統(tǒng)的客戶端和Web服務器的一種引擎,上述的諸多技術都是為了保證這個引擎能夠實現(xiàn)Web訪問時客戶端和服務器端的異步數(shù)據(jù)傳輸。AJAX技術在新的Web開發(fā)程序中所處的位置,如圖1所
23、示:</p><p> 圖1:AJAX與傳統(tǒng)Web服務的比較</p><p> 2.2.1傳統(tǒng)的Web應用</p><p> 傳統(tǒng)的Web工作模式非常簡單,就是瀏覽器發(fā)送HTTP請求,然后服務器接收到請求之后進行處理,處理完畢服務器再傳回一個HTML/XHTML頁面到客戶端瀏覽器上顯示給用戶,簡單的說,傳統(tǒng)Web的工作原理就是“提交請求——執(zhí)行操作——頁面重載
24、”的同步過程,這種工作方式難免會出現(xiàn)用戶等待的情況,得到返回結果前一直處于等待狀態(tài),無法滿足用戶對系統(tǒng)快速響應的要求。</p><p> 2.2.2集成AJAX技術的Web應用</p><p> AJAX與傳統(tǒng)Web的不同之處在于服務應答的異步性,AJAX就是在客戶端的瀏覽器與Web服務器之間新增了一層引擎,將用戶操作與服務器響應異步化,使客戶端 向服務器發(fā)出的部分請求不需要等待返回結
25、果就可以繼續(xù)向服務器發(fā)出請求,同時這個引擎是在瀏覽器第一次與服務器進行通信時就下載到客戶端的瀏覽器中,直到客戶端與服務器端通信完畢。</p><p> 2.2.3使用AJAX的優(yōu)勢</p><p> AJAX全稱“Asynchronous JavaScript and XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁應用的網(wǎng)頁開發(fā)技術。借助于Ajax,可以在用戶單擊
26、按鈕時,使用JavaScript和DHTML立即更新界面,并向服務器發(fā)出異步請求,以執(zhí)行更新或查詢數(shù)據(jù)庫。當請求返回時,就可以使用JavaScript和CSS來相應地更新界面,而不是刷新整個界面。最重要的是,用戶甚至不知道瀏覽器正在與服務器通信,看起來就像是即時響應的。</p><p> 3.應用實例設計與分析</p><p><b> 3.1設計思想</b>&l
27、t;/p><p> AJAX 不是一種新的編程語言,而是一種用于創(chuàng)建更好更快以及交互性更強的 Web 應用程序的技術。通過JavaScript 中的XMLHttpRequest 對象就可以直接與服務器進行通信。通過這個對象,可在不重載頁面的情況下與 Web 服務器交換數(shù)據(jù)。AJAX 在瀏覽器與 Web 服務器之間使用異步數(shù)據(jù)傳輸(HTTP 請求),這樣就可使網(wǎng)頁從服務器請求少量的信息,而不是整個頁面。本系統(tǒng)只抽取了
28、多媒體信息中的圖片,音樂,文本,視頻來模擬AJAX在信息發(fā)布系統(tǒng)中是如何對信息進行異步刷新,而實現(xiàn)對信息的實時更新。</p><p> 3.2系統(tǒng)的開發(fā)測試環(huán)境</p><p> 系統(tǒng)開發(fā)采用目前流行的AJAX技術。JavaScript具有跨平臺的特性,能確保系統(tǒng)在各種操作系統(tǒng)上運行,具體開發(fā)環(huán)境如下:</p><p> 開發(fā)平臺:MyEclipse8.6,D
29、reamweaver CS4</p><p> Web服務器:Tomcat6.0.35</p><p> 編程語言:JavaScript,Java</p><p> 數(shù)據(jù)庫:Oracle11g</p><p> 瀏覽器:IE8.0,firefox</p><p><b> 3.3系統(tǒng)功能設計<
30、/b></p><p> 系統(tǒng)的主要功能是在于用Ajax實現(xiàn)對信息的實時刷新,使得客戶端能夠隨時得到更新的數(shù)據(jù)。為實現(xiàn)此功能,系統(tǒng)設計了兩大模塊,即用戶和管理員模塊,管理員可以向數(shù)據(jù)庫上傳數(shù)據(jù),刪除數(shù)據(jù),用戶模塊主要是用來瀏覽系統(tǒng)的數(shù)據(jù),對由管理員上傳到數(shù)據(jù)庫的數(shù)據(jù)可以做到隨時更新隨時查看。這主要是通過在主頁面上注冊onclick事件來向后臺發(fā)送AJAX請求得到數(shù)據(jù)。系統(tǒng)功能模塊如圖2所示:</p&
31、gt;<p><b> 圖2:系統(tǒng)功能模塊</b></p><p> 3.4系統(tǒng)總體Web框架</p><p> 3.4.1系統(tǒng)的分層架構設計</p><p> 系統(tǒng)層次采用三層結構,這三個結構相互獨立且又緊密聯(lián)系:</p><p> 第一層表示層:Web瀏覽器</p><p&
32、gt; 在表示層中包含系統(tǒng)的顯示邏輯,位于客戶端。它的任務是由Web瀏覽器向網(wǎng)絡上的Web服務器提出服務請求,Web服務器對用戶身份進行驗證后用HTTP協(xié)議把所需的主頁傳給客戶端,客戶機接受傳過來的主頁文件,并把它顯示在瀏覽器上。</p><p> 第二層業(yè)務邏輯層:具有應用程序擴展功能的Web服務器</p><p> 在功能層中包含系統(tǒng)的事務處理邏輯,位于Web服務器端,它的任務是
33、接受用戶的請求,首先需要執(zhí)行相應的擴展應用程序與數(shù)據(jù)庫進行連接,通過SQL等方式向數(shù)據(jù)庫服務器提出數(shù)據(jù)處理申請,而后等數(shù)據(jù)庫服務器將數(shù)據(jù)處理的結果提交給Web服務器,再由Web服務器傳回客戶端,在業(yè)務層運用MVC設計模式,具有松散的耦合、并行的開發(fā),可擴展性和可重用性良好等眾多優(yōu)點。</p><p> 第三層數(shù)據(jù)訪問層:數(shù)據(jù)庫服務器</p><p> 在數(shù)據(jù)層中包含系統(tǒng)的數(shù)據(jù)處理邏輯,
34、位于數(shù)據(jù)庫服務器端,它的任務是接受Web服務器對數(shù)據(jù)庫操縱的請求,實現(xiàn)對數(shù)據(jù)庫查詢,修改,更新等功能,把運行結果提交給Web服務器。</p><p> 系統(tǒng)整體交互圖,如圖3所示:</p><p> 圖3:系統(tǒng)整體交互圖</p><p> 3.4.2結合AJAX的MVC模式</p><p> MVC(Model—View—Contro
35、ler,模型—視圖—控制器)至今已經被廣泛使用,并被推薦為SUN公司J2EE平臺的設計模式,其為開發(fā)交互式應用系統(tǒng)提供了一個優(yōu)秀的設計模式,受到越來越多開發(fā)者的歡迎。 MVC結構框架的組成部分包括以下的內容:</p><p> ?。?)模型(Model)</p><p> 模型包含了應用程序的核心,它封裝了應用程序的數(shù)據(jù)結構和事務邏輯,集中體現(xiàn)了應用程序的狀態(tài)。有時候僅包含狀態(tài)信息,因為
36、它并不了解視圖或控制器的信息。JavaBean很適合扮演這個角色,因為其能夠處理絕大部分事務邏輯和數(shù)據(jù)結構,還能與數(shù)據(jù)庫或文件系統(tǒng)進行交到,承擔維護應用程序數(shù)據(jù)的責任。</p><p> ?。?)視圖(View)</p><p> 視圖實現(xiàn)模塊的外觀,它是應用程序的外在表現(xiàn)。它可以訪問模型的數(shù)據(jù),卻不了解模型的情況,同時它也不了解控制的情況 。當模型發(fā)生改變時,視圖會得到通知,它可以訪問
37、模型的數(shù)據(jù),但不能改變這些數(shù)據(jù)。</p><p> ?。?)控制(Controller)</p><p> 可以理解為從用戶接收請求,將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求。控制層并不做任何的數(shù)據(jù)處理。AJAX在視圖中通過Onreadystatechange事件監(jiān)
38、聽來自模型或控制器的數(shù)據(jù)更新。</p><p> 3.5系統(tǒng)動態(tài)模型分析</p><p> 3.5.1基于AJAX的操作協(xié)議</p><p> AJAX操作協(xié)議如圖4所示:</p><p> 圖4:基于AJAX的操作協(xié)議圖</p><p> 3.6 AJAX與Servlet交互代碼的主要實現(xiàn)</p>
39、;<p> ?。?)AJAX對象的創(chuàng)建:</p><p> //創(chuàng)建AJAX對象,主要把瀏覽器分成兩種,IE和非IE瀏覽器</p><p> createXMLHttpRequest : function() {</p><p> var xmlHttp = null; //http請求對象</p><p><b&g
40、t; try {</b></p><p> if (window.ActiveXObject) {</p><p> //IE提供xmlhttprequest對象的應用程序</p><p> var versions = [ "MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0"
41、;,</p><p> "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp" ];</p><p> for ( var i = 0; i < versions.length; i++) {</p><p><b> t
42、ry {</b></p><p> xmlHttp = new ActiveXObject(versions[i]);</p><p><b> break;</b></p><p> } catch (onError) {</p><p> //此處什么也不做,繼續(xù)循環(huán)</p><
43、;p><b> }</b></p><p><b> }</b></p><p> //表示當前瀏覽器不是IE,如ns,firefox,xmlHttp是內置對象</p><p> } else if (window.XMLHttpRequest) {</p><p> xmlHttp
44、 = new XMLHttpRequest();</p><p><b> }</b></p><p> } catch (er) {</p><p> throw new Error("XMLHttp object could not be created.");</p><p><b&
45、gt; }</b></p><p> return xmlHttp;</p><p><b> }</b></p><p> ?。?)發(fā)送AJAX請求:</p><p> AJAX請求發(fā)送的方式有兩種GET和POST,與POST相比,GET更簡單也更快,并具在大部分情況下都能用。但有些情況卻是不能使用
46、GET來發(fā)送請求,如下所示:</p><p> ①無法使用緩存文件(更新服務器上的文件或數(shù)據(jù)庫)</p><p> ?、谙蚍掌靼l(fā)送大量數(shù)據(jù)(POST沒有數(shù)據(jù)量的限制)</p><p> ?、郯l(fā)送包含未知字符的用戶輸入時,POST比GET更穩(wěn)定也更可靠</p><p> xmlHttp.open(“get”,url,true);</
47、p><p> xmlHttp.send(null);</p><p> open(method,url,async)中的參數(shù)method為請求的類型,GET或POST,url為文件在服務器上的位置,即要請求的目的地。Async是設置請求是異步或是同步,true(異步)或false(同步),一般情況下都會將async設置為true,因為AJAX的目的就是異步請求數(shù)據(jù),如果設置為false,那
48、么AJAX也就失去了他的特性。</p><p> Send(string)將請求發(fā)送到服務器,string僅用于POST請求。</p><p> ?。?)設置回調函數(shù):</p><p> xmlHttp.onreadystatechange = function(){</p><p> if (xmlHttp.readyState ==
49、 4) {</p><p><b> //處理正確</b></p><p> if (xmlHttp.status == 200) {</p><p> //用responseText拿到響應回來的數(shù)據(jù)</p><p> process(xmlHttp.responseText); </p><
50、;p><b> }</b></p><p><b> } else {</b></p><p> //如果沒有得到響應,則返回一個null值。</p><p> process(null);</p><p><b> }</b></p><p
51、><b> }</b></p><p> readyState用來描述XMLHttpRequest的請求狀態(tài),總共有5種狀態(tài)(0-4)。</p><p> 0:表示請求未初始化</p><p> 1:服務器連接已建立</p><p><b> 2:請求已接收</b></p>
52、;<p><b> 3:請求處理中</b></p><p> 4:請求已完成,且響應已就緒</p><p> Status用來描述響應的狀態(tài),總共有2種結果。202:表示“OK”,404:表示未找到頁面。</p><p> ?。?)利用JSON實現(xiàn)對數(shù)據(jù)的操作:</p><p> //為respon
53、se設置輸出對象</p><p> PrintWriter out = response.getWriter();</p><p> //創(chuàng)建JSON數(shù)組,并且將查詢得到的fileInforList放入數(shù)組中</p><p> JSONArray array = JSONArray.fromObject(fileInforList);</p>&
54、lt;p> //創(chuàng)建JSON對象</p><p> JSONObject obj_json = new JSONObject();</p><p> obj_json.put("showFilesPath", array);</p><p> //將包裝好的JSON對象響應到前臺</p><p> out.
55、write(obj_json.toString());</p><p> ?。?)處理從后臺得到的數(shù)據(jù):</p><p> //調用已經包裝好的doGet方法 doGetText(url,queryObj,process)</p><p> url: 表示請求地址</p><p> queryObj:表示請求時需要傳遞的參數(shù)</p
56、><p> process:表示一個用來處理響應回來的數(shù)據(jù)的方法</p><p> $Ajax.doGetText("AjaxServlet", {path :path,method : "selectList"}, function(data){</p><p> if(data!=null){</p>&l
57、t;p> var obj_text = eval('('+data+')');</p><p> var objs_filePath=obj_text.showFilesPath;</p><p> var div_text = document.getElementById("content");</p>&l
58、t;p> //判斷div塊中是否已有結點,如果有,則移除。</p><p> while(div_text.firstChild){</p><p> div_text.removeChild(div_text.firstChild);</p><p><b> } </b></p><p> //循環(huán)響
59、應回來的數(shù)據(jù),并且加入到div塊中。</p><p> for(var i=0;i<objs_filePath.length;i++){</p><p> var pNode = document.createElement("p");</p><p> pNode.setAttribute("class",&qu
60、ot;p_pos");</p><p> div_text.appendChild(pNode);</p><p> //alert(objs_filePath[i].fileName);</p><p> var textNode = document.createTextNode(objs_filePath[i].file_name);</
61、p><p> div_text.appendChild(textNode);</p><p><b> } </b></p><p><b> }</b></p><p><b> })</b></p><p> 3.7系統(tǒng)類結構設計</p&
62、gt;<p> 類圖用來顯示系統(tǒng)類的關系(如繼承、聚合、關聯(lián))。對于一個系統(tǒng),如何從問題域中抽象出類,定義類的操作和屬性,并描述類與類之間的關系,是整個建模過程的關鍵。系統(tǒng)總體類圖如圖5所示:</p><p> 圖5:系統(tǒng)總功能類圖</p><p> 3.8系統(tǒng)數(shù)據(jù)庫結構設計</p><p> 數(shù)據(jù)庫的設計是整個系統(tǒng)中不可缺少的關鍵部分,系統(tǒng)各
63、項功能的實現(xiàn),最終通過對數(shù)據(jù)庫進行各項操作來完成,因此要實現(xiàn)系統(tǒng)的所有功能,就必須合理的構建一個功能完善的數(shù)據(jù)庫。設計數(shù)據(jù)表的時候充分考慮到系統(tǒng)的特點,使表與表之間的結構清晰而合理。</p><p> 表1:文件保存信息表</p><p><b> 表2:用戶信息表</b></p><p> 3.9系統(tǒng)的主要功能實現(xiàn)</p>
64、<p> 整個系統(tǒng)分為兩大子系統(tǒng),用戶操作系統(tǒng),管理員管理系統(tǒng)。</p><p> 3.9.1基于AJAX技術的查詢?yōu)g覽模塊,即用戶模塊</p><p> 客戶端是一個公共的信息輸出模塊,即使用戶不注冊也能瀏覽一些網(wǎng)頁的基本信息,數(shù)據(jù)庫的每次更新,客戶端都可以實時接收到來自于服務端最新數(shù)據(jù),使用用戶可以在最短的時間內瀏覽更多的信息,這也是AJAX的最主要的功能,即異步刷新
65、,無需用戶手動刷新整個頁面即可達到更新的效果。用戶界面的登錄后顯示的用戶名是在整個session共享的一個數(shù)據(jù),如果用戶想離開這個頁面,即點擊右上角的退出注銷掉登錄信息。</p><p><b> 3.9.2管理模塊</b></p><p> 管理模塊由管理員進行管理,這里只使用了普通的Servlet技術,用來的數(shù)據(jù)庫的數(shù)據(jù)進行增冊改查的功能,是管理員達到管理數(shù)據(jù)
66、的一個模塊。因為對文檔的管理只建了一張表,所有的信息都是保存在這張表中,對于不同的媒體信息主要是采用保存在不同的文件夾來實現(xiàn)管理的,同時也實現(xiàn)了分布查詢的功能,使用信息更加易于管理。在用戶模塊也是采取路徑來對不同的信息進行查詢的。因為這個系統(tǒng)的主要目的是在研究AJAX技術,所以管理員沒有進行建表,只是通過簡單的已給定的用戶名和密碼來進行登錄驗證。對于管理模塊中除登錄頁面之外的其它頁面采取了保護措施,通過過濾器來實現(xiàn)對其內容的保護。<
67、;/p><p> 實現(xiàn)了對信息的分頁查詢:</p><p> 對分頁功能實現(xiàn)的截圖如圖6所示:</p><p> 圖6:信息查詢分布圖</p><p> (2)對上傳文件進行歸檔處理</p><p> 根據(jù)提交的表單數(shù)據(jù)來獲得并截取文件后綴來判斷文件所屬類別,然后設置文件存儲徑,使得上傳的文件井井有條,目錄設置如
68、圖7所示:</p><p><b> 圖7:文檔存放目錄</b></p><p> ?。?)對文件進行刪除</p><p> 在MVC的業(yè)務層,用事務來控制數(shù)據(jù)庫和文件進行級聯(lián)刪除,如果在進行數(shù)據(jù)刪除時,發(fā)生異常,則事務中止,即文件不會被刪除,達到了事務的一致性。</p><p> 4.系統(tǒng)測試運行效果及結果分析&
69、lt;/p><p> 下面主要給出一些實際運行效果圖并有一些相關的簡單描述。</p><p><b> 4.1管理模塊</b></p><p> 管理員登錄頁面如圖8所示:</p><p> 圖8:管理員登錄頁面 </p><p> 管理員操作主頁面如圖9所示: </p>&l
70、t;p> 圖9:管理員操作主頁面</p><p> 上傳文檔頁面如圖10所示:</p><p> 圖10:上傳文檔頁面</p><p><b> 4.2用戶瀏覽模塊</b></p><p> 用戶注冊和登錄頁面如圖11所示:</p><p> 圖11:用戶注冊、登錄頁面</
71、p><p> 登錄后主頁面如圖12所示:</p><p> 圖10:登錄后主頁面</p><p> 5.系統(tǒng)性能和安全分析</p><p> 在使用AJAX的過程中,我們不僅需要解決由于引入AJAX可能對原有一些操作產生的影響問題,同時還要考慮AJAX自身可能會出現(xiàn)的一些問題。</p><p><b>
72、 5.1性能問題</b></p><p> 由于AJAX應用將大量的運算轉移到了客戶端,這就能客戶端帶來了很大的壓力,主要體現(xiàn)在以下幾個方面: </p><p> ?。?)JavaScript是一門解釋型的語言,效率不是很高。它不同于高級編程語言,如Java,C++,C#等。</p><p> ?。?)一次加載數(shù)據(jù)過多顯然會導致頁面打開速度變慢。用戶每
73、次打開AJAX應用程序時都需要下載相關的JavaScript代碼,如果應用比較復雜,這些代碼的體積可能非常龐大,勢必會影響頁面的打開速度,降低用戶體驗。</p><p> ?。?)頻繁的服務器端調用也可能帶來服務器端的性能問題。在AJAX應用中,由于其交互特點AJAX需要更多的服務器調用,盡管每次調用的代價比較小,但如果數(shù)量很大,同樣會影響服務器端的效率。</p><p><b>
74、; 5.2解決方案</b></p><p> JavaScript是一種解釋型語言,其所有的源代碼會被提交到客戶端瀏覽器,因此源代碼的體積會影響下載速度。要改善這種情況,一種方案就是壓縮JavaScript代碼,經過良好的壓縮后,一段JavaScript代碼可以有效的減少其大小。刪除無用的注釋和無用空白字符,這點比較好理解,就是減少代碼空間體積。還可以通過設計良好的代碼格式來使得瀏覽器第一次載入時
75、的負擔。很顯然,如果一次載入所有需要的JavaScript代碼會使初始網(wǎng)頁打開速度慢。事實上,有很載入并不是必須的,因此應避免這種性能上的浪費,采用動態(tài)載入JavaScript代碼可以解決這一問題。</p><p><b> 5.3安全性分析</b></p><p> 關于系統(tǒng)的安全問題可能涉及的方面會很多,尤其是在Web應用中安全問題顯得更為突出。從本質上講,A
76、JAX應用程序和傳統(tǒng)Web應用程序一樣也會面臨很多的安全問題,許多Web應用中可能出現(xiàn)的問題在AJAX應用中同樣不可避免,比如服務器程序編寫不當導致的運程代碼執(zhí)行、權限提升、信息泄漏、內容修改等等。這里主要圍繞AJAX的安全性問題進行分析,與傳統(tǒng)的Web應用不同,AJAX很好的平衡了客戶端和服務器端的任務,但也正由于此,AJAX程序中更多的控制都被帶到了客戶端,因此可能帶來的安全隱患也更大。這里充當分擔服務器端任務的就是在AJAX中大量
77、使用的JavaScript。</p><p><b> 參考文獻:</b></p><p> [1]Dave Crane,Eric Pascarello,Darren James.Ajax實戰(zhàn) ajaxcn.org 譯。人民郵電出版社</p><p> [2]Tom Negrino,Dori Smith。JavaScript基礎教程(第7
78、版)陳劍甌 譯。人民郵電出版社</p><p> [3]Ryan Asleson,Nathaniel T.Schutta.Ajax基礎教程 金靈 譯。人民郵電出版社</p><p> [4]Jeremy Keith.JavaScript DOM編程藝術。王建橋,楊曉云 譯。人民郵電出版社</p><p> [5]Nicholas C.Zakas. JavaSc
79、ript高級程序設計。李松峰,曹力 譯。人民郵電出版社</p><p> [6]Ben Forta.SQL必知必會(第3版)。鐘銘,劉曉霞 譯。人民郵電出版社</p><p> [7]陳鋒敏。Ajax原理與系統(tǒng)開發(fā)。2009年8月第1次印刷。清華大學出版社</p><p> [8]柯昌正,黃厚寬。AJAX技術的原理與應用[J]。鐵路計算機應用,2007,16(
80、1):27-29 </p><p> [9]馬騎麗。Ajax技術原理及應用[J],計算機光盤軟件與應用,2010(10):69-70</p><p> [10]譚力,楊宗源,謝瑾奎。Ajax技術的數(shù)據(jù)響應優(yōu)化[J]。計算機工程,2010,36(7):52-54</p><p> [11]馬綺麗. Ajax技術原理及就用[期刊論文]-計算機光盤軟件與應用2010
81、(10)</p><p> [12]邢永峰.Dreamweaver網(wǎng)頁設計[M].北京:中國水利水電出版社,2007.</p><p> [13]劉曉化.JSP應用開發(fā)詳解[M].北京:電子工業(yè)出版社,2007.</p><p> [14]趙池龍.軟件工程實踐教程[M].北京:電子工業(yè)出版社,2006.</p><p> [15]王沛
82、.征服AJAX web2.0開發(fā)技術詳解[M].北京:電子工業(yè)出版社,2007</p><p> The Ajax application about Web Information System</p><p> Abstract:Information dissemination and transmission refers to the process which the in
83、formation transmitted from a sender to a receiver.This process includes three basic elements:the sender,the receiver and the transmission channels.With the rapid development of network communication and the computer tech
84、nology,the information transmission in the form of network communication has become a mainstream mode of modern information publishing system and the form of Web services has gradually diversifi</p><p> Key
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- AJAX技術在金融綜合信息發(fā)布系統(tǒng)中的應用.pdf
- ajax技術在電子商務分銷平臺中的應用[畢業(yè)論文]
- 信息發(fā)布系統(tǒng)中后臺管理業(yè)務設計-畢業(yè)論文
- Ajax技術在地理信息系統(tǒng)中的應用.pdf
- Ajax技術在博客系統(tǒng)中的應用.pdf
- 畢業(yè)論文信息技術在物流管理中的應用
- 畢業(yè)論文——軟件信息發(fā)布系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文——軟件信息發(fā)布系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文-地方app信息發(fā)布后臺管理系統(tǒng)
- 基于ajax的信息發(fā)布與反饋系統(tǒng)的設計_學位論文
- 畢業(yè)論文——信息技術在特殊教育中的應用初探
- 教學評價在信息技術教學中的應用畢業(yè)論文
- 信息技術在電子商務中的應用畢業(yè)論文
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
- 畢業(yè)論文信息技術在物流管理中的應用探討
- 畢業(yè)生招聘信息的發(fā)布與管理系統(tǒng)——畢業(yè)論文
- 新聞發(fā)布系統(tǒng)(畢業(yè)論文)
- 畢業(yè)論文——新聞發(fā)布系統(tǒng)
- 新聞發(fā)布系統(tǒng)畢業(yè)論文
評論
0/150
提交評論