JavaWeb課題設(shè)計報告_第1頁
JavaWeb課題設(shè)計報告_第2頁
JavaWeb課題設(shè)計報告_第3頁
JavaWeb課題設(shè)計報告_第4頁
JavaWeb課題設(shè)計報告_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-PAGE . z. . - . -可修- .洛 陽 理 工 學(xué) 院課 程 設(shè) 計論 文 姓 名 系 部專 業(yè) 學(xué) 號 完成時間第一局部目錄 TOC o 1-3 h z HYPERLINK l _Toc343796149 1 引言 PAGEREF _Toc343796149 h I HYPERLINK l _Toc343796150 1.1課程設(shè)計選題 PAGEREF _Toc343796150 h I HYPERLINK l _Toc343796151 1.2課程設(shè)計的目的 PAGEREF _Toc343796151 h I HYPERLINK l _Toc343796152 1.3本選題的

2、設(shè)計背景 PAGEREF _Toc343796152 h I HYPERLINK l _Toc343796153 2需求分析 PAGEREF _Toc343796153 h I HYPERLINK l _Toc343796154 2.1論壇功能需求 PAGEREF _Toc343796154 h I HYPERLINK l _Toc343796155 2.2 系統(tǒng)的開發(fā)運行環(huán)境 PAGEREF _Toc343796155 h II HYPERLINK l _Toc343796156 3 總體設(shè)計 PAGEREF _Toc343796156 h II HYPERLINK l _Toc343796

3、157 3.1 論壇系統(tǒng)體系構(gòu)造設(shè)計 PAGEREF _Toc343796157 h II HYPERLINK l _Toc343796158 3.2論壇系統(tǒng)功能模塊設(shè)計 PAGEREF _Toc343796158 h II HYPERLINK l _Toc343796159 3.3論壇系統(tǒng)主要Jsp頁面設(shè)計 PAGEREF _Toc343796159 h III HYPERLINK l _Toc343796160 4數(shù)據(jù)庫設(shè)計 PAGEREF _Toc343796160 h IV HYPERLINK l _Toc343796161 4.1數(shù)據(jù)表設(shè)計 PAGEREF _Toc343796161

4、 h IV HYPERLINK l _Toc343796162 5 詳細(xì)設(shè)計 PAGEREF _Toc343796162 h VI HYPERLINK l _Toc343796163 5.1 登錄界面模塊 PAGEREF _Toc343796163 h VI HYPERLINK l _Toc343796164 5.2論壇用戶操作界面模塊 PAGEREF _Toc343796164 h VII HYPERLINK l _Toc343796165 5.3管理員操作界面模塊 PAGEREF _Toc343796165 h I* HYPERLINK l _Toc343796167 參考文獻(xiàn) PAGER

5、EF _Toc343796167 h *I-. z.-. z. . - . -可修- .引 言1.1課程設(shè)計選題技術(shù)論壇系統(tǒng)1.2課程設(shè)計的目的使學(xué)生在充分理解Java Web應(yīng)用程序設(shè)計課程知識點的根底上,能初步掌握J(rèn)ava Web程序開發(fā)語言、開發(fā)流程;能利用Java Web程序設(shè)計原理及綜合運用HTML、JSP以及JavaScript等Java Web設(shè)計語言實現(xiàn)一個完善的Java Web系統(tǒng)。1.3本選題的設(shè)計背景BBS論壇是一種比擬好的交流平臺,它能方便人們進(jìn)展即時在線交流,發(fā)表各種信息,實現(xiàn)網(wǎng)絡(luò)資源的共享。而且,也能促使人們敞開心扉去學(xué)習(xí)知識、追求進(jìn)步,以至于能更好的利用網(wǎng)絡(luò)資源。

6、 鑒于BBS的這些優(yōu)點,又加之制作BBS的一些根本編程知識曾學(xué)習(xí)過,如Java大學(xué)實用教程、Java Web應(yīng)用程序設(shè)計以MyEclipse6.0根底教程,考慮到個人喜好及實現(xiàn)系統(tǒng)的難度,所以最后選擇Java Web應(yīng)用程序設(shè)計BBS論壇制作。而在這里,我將采用基于JSP網(wǎng)頁技術(shù)的方法進(jìn)展簡單的BBS論壇制作。我所用的開發(fā)軟件是MyEclipse6.5,它是一款可以做根底Java工程開發(fā)的工具;JDK1.6,當(dāng)前進(jìn)展Java開發(fā)的一款實用版本;數(shù)據(jù)庫軟件是Microsoft Office Access 2007,它是一款容易進(jìn)展中小量數(shù)據(jù)存儲開發(fā)的中小型數(shù)據(jù)庫軟件;效勞器是Tomcat6.5,

7、它也是一款當(dāng)前比擬流行的軟件,主要用于網(wǎng)絡(luò)效勞器的開發(fā)。無論是軟件還是技術(shù)方面都能實現(xiàn)此次課題所要求完成的功能的設(shè)計。2需求分析2.1論壇功能需求用戶注冊及登錄:進(jìn)入登錄頁面后,對于第一次登錄的用戶來說,首先需要注冊,單擊立即注冊按鈕即可進(jìn)入注冊界面,注冊完成后返回登錄界面。然后,在對應(yīng)的地方分別輸入用戶名和密碼,點擊登錄按鈕,系統(tǒng)即將用戶名和密碼發(fā)送到網(wǎng)絡(luò)效勞器上,與保存在效勞器數(shù)據(jù)庫中的信息進(jìn)展核對。假設(shè)核對正確,則進(jìn)入帖子瀏覽的界面,假設(shè)不正確,則重新返回登錄界面。注意:假設(shè)用戶名或者密碼為空時,點擊了登錄按鈕,則系統(tǒng)提示你的用戶名或密碼為空,請重新輸入,點擊對話框的返回,即可重新回到登

8、錄界面。用戶發(fā)帖:已登錄到論壇主頁面的用戶可以查看用戶的根本信息、更改密碼、帖子查詢、進(jìn)入*個論壇進(jìn)展發(fā)帖。用戶回帖:已登錄用戶可以跟在其它人帖子后回復(fù)。管理員功能:管理員成功登錄到操作界面后可查看用戶的信息、可增添或者刪除板塊論壇、可注銷已注冊的用戶、可查詢和刪除用戶的帖子。查找功能:成功登錄的用戶和管理員能夠根據(jù)帖子主題或者用戶查找相關(guān)帖子。2.2 系統(tǒng)的開發(fā)運行環(huán)境本系統(tǒng)開發(fā)平臺: MyEclipse6.5、Microsoft Office Access 2007數(shù)據(jù)庫管理軟件、Java Web開發(fā)語言本系統(tǒng)運行環(huán)境:windows 7、Tomcat6.5、JDK1.63 總體設(shè)計3.1

9、 論壇系統(tǒng)體系構(gòu)造設(shè)計登陸界面:該界面可以選擇使用者的身份,例如管理員、普通論壇用戶,分別進(jìn)入不同的。不同的身份登錄有不同的操作界面和功能權(quán)限。不同的身份在登陸界面的用戶名及密碼框中正確的輸入即可登錄。用戶系統(tǒng)界面:能夠提供對論壇用戶根本信息的查詢、密碼修改等功能、帖子發(fā)表、帖子查詢、帖子回復(fù)。管理員系統(tǒng)界面:能夠提供對論壇用戶刪除、論壇用戶根本信息查詢、可增添或者刪除板塊論壇、可查詢和刪除用戶的帖子等功能。3.2論壇系統(tǒng)功能模塊設(shè)計界面登錄功能:系統(tǒng)提供不同的用戶登錄例如普通論壇用戶、管理員,用戶在登錄界面正確的輸入登錄名和登錄密碼后,即可進(jìn)入到對應(yīng)的操作界面完成系統(tǒng)提供的功能。用戶查詢功能

10、:為所有用戶提供查詢的功能,可查詢允許圍的所有信息,例如查詢所有論壇用戶信息、根據(jù)用戶、帖子主題、時間圍查詢帖子信息、論壇的統(tǒng)計信息。用戶發(fā)帖和回帖功能:用戶成功進(jìn)入論壇主頁,然后可在各個論壇里發(fā)表帖子并可回復(fù)其他用戶的帖子。管理員權(quán)限功能:成功進(jìn)入管理員界面后可對已注冊用戶進(jìn)展管理例如刪除用戶、用戶信息查詢、論壇版面的增添和刪除、可查詢用戶的帖子及刪除用戶帖子。用戶密碼取回功能:在用戶忘記密碼的情況下提供用戶尋回密碼的功能,在登錄界面單擊取回密碼到相應(yīng)的界面,然后輸入信息,如果輸入的信息匹配則能找回密碼,否則提示錯誤信息。3.3論壇系統(tǒng)主要Jsp頁面設(shè)計系統(tǒng)Jsp頁面表格一覽bbsadd.j

11、sp用戶發(fā)表帖子頁面bbsaddre.jsp用戶瀏覽帖子和回復(fù)帖子頁面bbslist.jsp論壇版主瀏覽、查詢、刪除帖子頁面boardmanager.jsp管理員管理用戶和論壇版塊頁面inde*1.jsp用戶登錄論壇進(jìn)展操作頁面login.jsp用戶和管理員登陸界面query.jsp帖子查詢頁面registry.jsp用戶注冊頁面userinfo.jsp用戶信息修改頁面usermanager.jsp用戶管理頁面lostpass.jsp用戶密碼取回頁面論壇系統(tǒng)功能模塊圖技術(shù)論壇系統(tǒng)登錄用戶登錄管理員登錄用戶信息用戶信息查詢帖子查詢論壇信息統(tǒng)計論壇信息修改增加論壇版塊查詢用戶信息刪除用戶信息刪除用

12、戶帖子用戶信息修改密碼修改論壇版塊根據(jù)主題查詢根據(jù)用戶查詢發(fā)帖回帖密碼取回4數(shù)據(jù)庫設(shè)計4.1數(shù)據(jù)表設(shè)計根據(jù)本BBS技術(shù)論壇功能的要求以及功能模塊的劃分,其中涉及到的信息數(shù)據(jù)可存放在四表中,它們分別是:用戶信息表user表、發(fā)表帖子和回復(fù)帖子的信息表bbs表、管理員登錄信息表,數(shù)據(jù)庫表的具體設(shè)計如下所示:用戶信息表user表用戶信息表user表包括12個字段:userid、username、userse* userpassword、useremail、userhomepage、hpname、userbirthday、efrom、userclass、usersign、dateandtime。use

13、r表的屬性如圖1-1所示: 圖1-1論壇版塊信息表board表論壇版塊信息表board表包括8個字段:boardid、boardname、boardmaster、masterpwd、masterword、masteremail、boardhits、boardtopics。board表的屬性如圖1-2所示: 圖1-2管理員登錄信息表admin表管理員登錄信息表admin表包括2個字段:adminname、adminpwd。Admin表的屬性如圖1-3所示: 圖1-3論壇帖子發(fā)表和帖子回復(fù)信息表bbs表論壇帖子發(fā)表和帖子回復(fù)信息表bbs表包括14個字段:bbsid、parentid、boardid

14、、child、username、useremail、userip、e*pression、usersign、bbstopic、bbscontent、dateandtime、bbshits、length。bbs表的屬性如圖1-4所示: 圖1-45 詳細(xì)設(shè)計5.1 登錄界面模塊.功能設(shè)計登錄界面提供普通論壇用戶和管理員登錄到不同界面進(jìn)展不同的操作,只要在登錄界面正確的輸入登錄名和登錄密碼即可登錄到相應(yīng)的操作界面。.登錄界面測試如圖1-5所示: 圖1-5用戶注冊界面測試如圖1-6所示: 圖1-6尋回用戶密碼測試如圖1-7所示: 圖1-75.2論壇用戶操作界面模塊.功能設(shè)計論壇用戶操作界面下提供應(yīng)用戶的

15、功能: 用戶單擊用戶信息,在出現(xiàn)的頁面中可進(jìn)展密碼的修改、用戶信息查詢、用戶信息修改;單擊帖子查詢,在出現(xiàn)的頁面中可根據(jù)主題、用戶、時間圍查詢帖子;單擊論壇信息,在出現(xiàn)的頁面中顯示了論壇的統(tǒng)計信息;單擊*個論壇版塊,可在出現(xiàn)的版塊頁面中進(jìn)展帖子的發(fā)表、帖子的回復(fù)、帖子的查詢。.論壇主界面設(shè)計效果如圖1-8所示: 圖1-8用戶信息功能測試如圖1-9所示:圖1-9帖子查詢功能測試如圖1-10所示:圖1-10帖子發(fā)表和帖子回復(fù)測試如圖1-11、1-12所示:圖1-11圖1-12 5.3管理員操作界面模塊功能設(shè)計管理員操作界面下提供應(yīng)管理員的功能:注冊用戶的管理用戶的查詢、用戶的刪除、論壇版塊的添加、

16、論壇版塊信息的修改和刪除、論壇帖子的查詢、論壇帖子的刪除等功能。 界面設(shè)計效果如圖1-13所示: 圖1-13注冊用戶管理測試如圖1-14、1-15所示: 圖1-14 圖1-15論壇帖子刪除測試如圖1-16所示: 圖1-16第二局部目 錄-. z.目 錄 TOC o 1-3 h z u HYPERLINK l _Toc7359 第一章 緒論 PAGEREF _Toc7359 1 HYPERLINK l _Toc20080 1.1系統(tǒng)現(xiàn)狀1 HYPERLINK l _Toc12685 1.2國外主要研究成果1 HYPERLINK l _Toc31101 第二章 系統(tǒng)開發(fā)環(huán)境和關(guān)鍵技術(shù)4 HYPER

17、LINK l _Toc24492 2.1系統(tǒng)的開發(fā)環(huán)境4 HYPERLINK l _Toc29112 2.2 Application對象4 HYPERLINK l _Toc6174 2.3 Aja*技術(shù)5 HYPERLINK l _Toc14956 2.4 監(jiān)控用戶在線狀態(tài)6 HYPERLINK l _Toc21629 2.5 JSP技術(shù)6 HYPERLINK l _Toc27328 第三章 系統(tǒng)分析與設(shè)計93.1系統(tǒng)分析9 HYPERLINK l _Toc6839 3.1.1聊天室功能需求分析9 HYPERLINK l _Toc1984 3.1.2聊天室功能性能分析9 HYPERLINK l

18、 _Toc1302 3.2系統(tǒng)運行環(huán)境9 HYPERLINK l _Toc23430 3.3系統(tǒng)預(yù)覽和工程流程圖10 HYPERLINK l _Toc2297 第四章 系統(tǒng)的實現(xiàn)12 HYPERLINK l _Toc9041 4.1用戶登錄模塊12 HYPERLINK l _Toc9041 4.2聊天室主體功能模塊13 HYPERLINK l _Toc9041 4.3實時獲取并顯示在線人員列表14 HYPERLINK l _Toc9041 4.4實現(xiàn)用戶發(fā)言15 HYPERLINK l _Toc9041 4.5實時顯示聊天容19 HYPERLINK l _Toc9041 4.6退出聊天室20

19、HYPERLINK l _Toc15096 參考文獻(xiàn)24第二章 系統(tǒng)開發(fā)環(huán)境和關(guān)鍵技術(shù)-. z.第一章 緒論1.1系統(tǒng)現(xiàn)狀在人們的生活中,信息技術(shù)的飛速開展正在發(fā)生深刻變化。人與人之間的對話是不再局限于面對面,網(wǎng)上聊天室提供了信息交流的另一個地方。傳統(tǒng)的聊天室,以顯示在線用戶和用戶信息的實時傳送,需要定期刷新頁面。刷新頁面,不僅要占用一定的系統(tǒng)資源和網(wǎng)絡(luò)帶寬,也會出現(xiàn)白屏的現(xiàn)象,這對良好的用戶體驗是非常不利的。而使用Aja*技術(shù)開發(fā)的聊天室,不僅可以解決頁面刷新帶來白屏的問題,也減少了對效勞器和網(wǎng)絡(luò)傳輸?shù)呢?fù)載。隨著互聯(lián)網(wǎng)應(yīng)用的普及,web應(yīng)用以其良好的擴(kuò)展性、易于部署、維護(hù)方便等優(yōu)點逐漸成為軟

20、件開發(fā)的主流。早期的Web應(yīng)用采用的是同步交互過程,即用戶首先向Web效勞器提交一個請求或行為呼叫,效勞器接收到客戶請求后執(zhí)行相應(yīng)處理操作,最后向用戶返回處理結(jié)果。效勞器在處理請求時,用戶處于等待狀態(tài),有時如果超過了效勞器響應(yīng)時間,甚至返回頁面不可用等提示。另外,當(dāng)我們只想改變頁面的局部數(shù)據(jù)時,用戶的請求會導(dǎo)致效勞器重新返回整個頁面容,包括那些沒有改變的數(shù)據(jù),這不但增加了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,還影響了客戶端的響應(yīng)時間,為什么我們不能按需獲取數(shù)據(jù)呢Aja*技術(shù)可以很好的解決上述web應(yīng)用中存在的問題。Aja*技術(shù)是Web2.0的核心之一,本質(zhì)上是一種RIA(RichIllternet Applica

21、tion)技術(shù)。RIA是指具有高度互動性和豐富用戶體驗的網(wǎng)絡(luò)應(yīng)用程序,它既具有消息確認(rèn)、無刷新頁面之下提供快捷的界面響應(yīng)、拖放式等桌面應(yīng)用程序的特點,同時又具有部署簡單、跨平臺等Web應(yīng)用程序的特點。Aja*技術(shù)提供了客戶端與效勞器異步通信的能力,從而使用戶從請求一響應(yīng)一再請求的循環(huán)中解脫出來,同時降低了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,提高了客戶端的響應(yīng)速度,改善了用戶使用體驗,使得web應(yīng)用可以接近甚至到達(dá)類似桌面應(yīng)用的效果。而Aja*有上述優(yōu)勢,例如Google Suggest,Gmail,Google Map等等交互程序中都使用了異步通訊技術(shù)。不知不覺中,Aja*應(yīng)用程序占據(jù)了整個網(wǎng)絡(luò)的每一個角落。縱

22、觀所有的應(yīng)用程序,更好的用戶體驗是其的共同目標(biāo),在瀏覽器中實現(xiàn)桌面用戶界面體驗是Web開發(fā)的一種趨勢。Aja*技術(shù)從谷歌到IBM,甲骨文,雅虎,BEA系統(tǒng)公司,紅帽,Novell公司獲得業(yè)界眾多的IT巨頭的支持,其快速開展是值得期待的。技術(shù)創(chuàng)新和標(biāo)準(zhǔn)化是Aja*技術(shù)開展的必由之路,而W3C已成立了工作小組,專門從事Aja*的規(guī)開展工作。 1.2國外主要研究成果Aja*技術(shù)的精華是用異步交互替代了傳統(tǒng)的同步交互,所以當(dāng)用戶操作時間大于效勞器響應(yīng)時間的時候,使用Aja*的效果非常明顯。而當(dāng)程序性能的瓶頸在于效勞器響應(yīng)時間的時候,Aja*無法解決程序運行緩慢的問題。因此,Aja*是更適合在網(wǎng)絡(luò)上的互

23、動頻繁輕量級的應(yīng)用程序。在Aja*開發(fā)的應(yīng)用程序中,Google公司成功將Aja*技術(shù)應(yīng)用到他們的商業(yè)產(chǎn)品。Google地圖和Google Suggest都應(yīng)用了這項技術(shù)。當(dāng)用戶使用谷歌地圖查看地圖包括地圖的縮放和平移地圖,并沒有提交任何請求到效勞器,你就可以瀏覽到地圖的各個局部。在這里,它是Aja*技術(shù)的應(yīng)用,使得地圖是不刷新的方式,但每個顯示原始數(shù)據(jù)的根底上以增量方式顯示。在這種方式下,用戶覺得就像是在自己的計算機(jī)上查看本地的地圖。微軟也在積極開發(fā)Aja*應(yīng)用程序:它將Aja*技術(shù)應(yīng)用到的MSN Space上面。當(dāng)用戶使用MSN Space提交回復(fù)評論時,瀏覽器會暫時停頓,然后刷新顯示用戶

24、提交的評論,這是應(yīng)用了Aja*的原理。目前,Aja*應(yīng)用最普遍的領(lǐng)域是GIS-Map方面。GIS的區(qū)域搜索強(qiáng)調(diào)快速響應(yīng),Aja* 的特點正好符合這種要求。在應(yīng)用Aja*技術(shù)開發(fā)過程當(dāng)中,處于核心位置的Aja*引擎實際上是一些復(fù)雜的JavaScript程序。 隨著網(wǎng)絡(luò)應(yīng)用和界面表現(xiàn)的復(fù)雜化,使用面向過程的JavaScript 語言描述表現(xiàn)邏輯將會變得很困難。同時, JavaScript的兼容性和調(diào)試都會成為使用Aja*技術(shù)的一個障礙。為了解決這些問題,開發(fā)人員已經(jīng)開發(fā)出了一些基于Aja*技術(shù)的框架,方便了開發(fā)人員使用,有利于Aja* 技術(shù)的進(jìn)一步推廣。當(dāng)然,任何技術(shù)都是有局限性的,Aja*也不例

25、外。Aja*更新頁面無需刷新重載,這也使傳統(tǒng)的一些用戶交互行為變得不可用,如后退、前進(jìn)和刷新等。另外,移動設(shè)備如手機(jī)、PDA等現(xiàn)在還不能很好的支持Aja*,Aja* 對流媒體的支持也沒有Java Applet和Flash這樣成熟的技術(shù)好。 因此,一些輔助的平臺和插件的開發(fā)也將是Aja*技術(shù)應(yīng)用當(dāng)中重要的一局部。Aja*把大量的運算從效勞器轉(zhuǎn)移到了客戶端瀏覽器,這意味著瀏覽器將承受更大的負(fù)擔(dān),而不再是簡單的文檔顯示功能。 聊天室作為一個能夠吸引人氣的欄目,在現(xiàn)代網(wǎng)絡(luò)應(yīng)用中隨處可見。它的作用是給不同的用戶提供一個交流信息的場所。用戶在聊天室中可以發(fā)布信息,就如同所有用戶都在一個個真正室聊天一樣。

26、傳統(tǒng)的聊天室程序一般設(shè)置在客戶端的網(wǎng)頁自動刷新。刷新在這樣的數(shù)據(jù)會帶來一些缺點,例如:每次刷新效勞器應(yīng)該重新獲取數(shù)據(jù),大大提高了效勞器上的負(fù)載,此刷新過程正在進(jìn)展,這將是非常嚴(yán)重的影響效勞器的性能;每次刷新過程中會產(chǎn)生大量無用數(shù)據(jù),不斷刷新頁面,用戶在客戶端方面,將導(dǎo)致屏幕閃爍。解決屏幕閃動最重要的一條原則就是,將改動的地方顯示到客戶端,而那些不需要改動的地方則盡量不要讓用戶感覺到變化。一個更好的解決方法是使用Aja*技術(shù)的無刷新聊天室應(yīng)用?,F(xiàn)在的聊天室通過四個主要功能模塊實現(xiàn)了聊天室中用戶登錄、注銷、環(huán)境設(shè)置、發(fā)送消息、讀取消息和查看在線用戶列表等。聊天室系統(tǒng)為用戶提供了聊天場所,操作員可對

27、后臺的風(fēng)格、廣告等進(jìn)展設(shè)置;用戶可以根據(jù)個人的習(xí)慣選擇字體、文字顏色和表情等;前臺聊天室具有私聊的功能,私聊的容僅供私聊雙方查看;聊天者可自己手動去除聊天容。操作員可通過客戶端處理模塊獲取界面元素從而得到聊天容或與效勞器交互更新客戶端頁面響應(yīng)用戶事件。效勞器端響應(yīng)模塊可提供聊天室界面元素信息獲得提交數(shù)據(jù)。*信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計論文-. z.第二章 系統(tǒng)開發(fā)環(huán)境和關(guān)鍵技術(shù)2.1系統(tǒng)的開發(fā)環(huán)境MyEclipse Java如圖1-1系統(tǒng)開發(fā)環(huán)境。圖1-1系統(tǒng)開發(fā)環(huán)境2.2 Application對象Application對象是一個環(huán)境上下文conte*t對象,用于保存應(yīng)用程序中的所有公有數(shù)據(jù),效

28、勞器啟動并且自動創(chuàng)立Application對象以后,只要沒有關(guān)閉效勞器,Application對象將一直存在,并且可以被所有用戶共享。Application對象為JSP提供的置對象,可以直接使用,但在servlet中,需要通過以下代碼來獲取該對象的實例,才可以使用該對象。ServletConte*t application=getServletConte*t();Application對象提供了很多方法,我的設(shè)計中,只使用了setAttribute()和getAttribute()方法。 首先來介紹setAttribute()方法,該方法用于將一個對象綁定到一個屬性上,該屬性在整個Servle

29、t上下文中都適用。setAttribute()方法的語法格式如下;Application. setAttribute(String name,Object object);參數(shù)說明:name:用于指定的一個屬性名該屬性在整個Servlet上下文都適用。object:用于指定屬性值。如本設(shè)計中的,設(shè)置保存聊天信的Application對象的屬性的具體代碼如下:application。setAttribute(message.sourceMessage);下面我們再來介紹getAttribute()方法,該方法用于返回Application對象的指定屬性的值。如果不存在該屬性,則返回null。ge

30、tAttribute()方法的根本語法如下:Application。getAttribute(String name);參數(shù)說明:Name:用于指定一個屬性名。本設(shè)計中,設(shè)置獲取聊天信息的Application對象的屬性的具體代碼如下:StringsourceMessage=application.getAttribute(message).toString();2.3 Aja*技術(shù)Aja*是一種創(chuàng)立交互式網(wǎng)頁的web開發(fā)技術(shù)。Aja*的一個非常成功的案例就是Google,當(dāng)用戶在Google的搜索輸入框中輸入關(guān)鍵字的時候。他會提示與關(guān)鍵字相關(guān)的另一些關(guān)鍵字。用戶可以對自己喜歡的一些關(guān)鍵字進(jìn)展

31、選擇,這樣既方便了用戶定位自己的需要,又可以很好的引導(dǎo)搜索結(jié)果。在Aja*應(yīng)用中,頁面中用戶的操作將通過Aja*引擎與效勞器進(jìn)展通信,然后將返回結(jié)果提交給客戶端頁面的Aja*引擎,而有Aja*引擎決定這些數(shù)據(jù)插入到頁面的任何位置。Aja*的最大特點的就是很好的用戶體驗,大多數(shù)使用Aja*技術(shù)的web應(yīng)用程序,比同類沒有使用的web應(yīng)用程序的用戶體驗要好的多,盡管他們都能完成相類似的功能。例如,一個普通的用戶注冊頁面,如果用戶希望知道注冊的用戶名是否已經(jīng)注冊過了,那只能等提交表單到效勞器以后并重新來到一個新的頁面,才知道用戶名是否可用,這種情況每次單擊按鈕都會導(dǎo)致幾秒鐘的延遲和屏幕刷新,但事實上

32、頁面改動的地方卻只有很少一局部,Aja*正在打破這種狀況,是頁面再無刷新的情況下,完成*些與效勞器的交互功能。大大提高了用戶的體驗感。2,Aja*不是單一的技術(shù),而是四種技術(shù)的集合,有javascript ,css,Dom *MLHttpRequestAja*程序是用javascript語言寫成的。Aja*程序可以使用CSS來控制頁面的樣式。DOM,指的是文本對象模型,它是一個web頁面的對象模型,可以用javascript來操作的頁面構(gòu)造。*MLHttpRequest對象用來在后臺向效勞器端發(fā)送請求,數(shù)據(jù)的格式可以使任何的文本格式,如*ML、純文本。他也是Aja*進(jìn)展異步通信的 關(guān)鍵元素。這

33、四種技術(shù)各司其職,其中javascript是其他三中的粘合劑,javascript可以通過修改DOM的構(gòu)造來改變界面,或者完全改變DOM的構(gòu)造來重新繪制用戶界面;*MLHttpRequest對象則用來與效勞器進(jìn)展異步通信,javascript也正是通過控制他來提交請求和獲取最新數(shù)據(jù)的。Aja*也會大量使用DHTML進(jìn)展編程,并且它與效勞器端的異步通信能力使得一個web頁面的使用壽命大大增長,用戶交互性大大增強(qiáng)了。Aja*技術(shù)的優(yōu)缺點:作為富客戶端技術(shù)之一的Aja*的最大優(yōu)點,就是再不更新整個頁面的前提下維護(hù)數(shù)據(jù)。這使得web應(yīng)用程序能夠更為迅捷的回應(yīng)用戶動作,并防止了在網(wǎng)絡(luò)上發(fā)送那些沒有改變過

34、的信息。與其他富客戶端技術(shù)不同,Aja*不需要任何瀏覽器插件,直接通過瀏覽器置的javascript控制瀏覽器的容和行為即可。而其他的富客戶端技術(shù)往往需要安裝插件,并且以一個單獨的進(jìn)程來運行這些富客戶端,一旦處理不當(dāng),很可能造成速度很慢的后果。缺點:就是Aja*在不同的瀏覽器運行時,由于各個瀏覽器之間的差異,是的開發(fā)者在眾多不同的平臺和瀏覽器上經(jīng)過嚴(yán)格的測試,但是隨著Aja*技術(shù)的成熟,一些簡化跨平臺的Aja*程序庫,也相繼問世,程序員可以使用這些運行庫進(jìn)展Aja*的開發(fā),也不擔(dān)憂Aja*的跨平臺性。還有一個缺點就是;他動態(tài)改變的容無法保存到本地或通過收藏夾來保存。這其實是因為Aja*改變?yōu)g覽

35、器的容和行為,往往是通過修改網(wǎng)頁的DOM和CSS來控制的,這些新消息都僅僅在瀏覽器窗口沒關(guān)之前存在于存里。Aja*更適合有少量頁面容需要改變的客戶端編程,如果頁面的大多說容都需要改變的時候,還是建議使用讓整個頁面刷新的方式較好。2.4 監(jiān)控用戶在線狀態(tài)在聊天室程序中需要實時監(jiān)控用戶在線狀態(tài),當(dāng)用戶非正常退出時如:沒有單擊退出聊天室按鈕,也沒有單擊窗口的關(guān)閉按鈕,而是直接將頁面轉(zhuǎn)向其他,能夠保證將該用戶從列表中刪除??梢詰?yīng)用Servlet中的監(jiān)聽器HttpBingListener接口實現(xiàn)此效果。2.5 JSP技術(shù)JSP(JavaServer Pages)是由Sun Microsystems公司倡

36、導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。 用JSP開發(fā)的Web應(yīng)用是跨平臺的,即能在Linu*下運行,也能在其他操作系統(tǒng)上運行。 JSP技術(shù)使用Java編程語言編寫類*ML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于效勞端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示別離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)

37、變得迅速和容易。 Web效勞器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。 JSP與Java Servlet一樣,是在效勞器端執(zhí)行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。 JSP的1.0規(guī)的最后版本是1999年9月推出的,12月又推出了1.1規(guī)。目前較新的是JSP1.2規(guī),JSP2.0規(guī)的征求意見稿也已出臺。 JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。效勞器在頁面被客戶端請求以后對這些Java代

38、碼進(jìn)展處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術(shù)根底,而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且平安可靠,主要面向因特網(wǎng)的所有特點。JSP技術(shù)的強(qiáng)勢 1一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。 2系統(tǒng)的多平臺支持。根本上可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)展系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。 3強(qiáng)大的可伸縮性。從只有一個小的Jar文件就可以運行Se

39、rvlet/JSP,到由多臺效勞器進(jìn)展集群和負(fù)載均衡,到多臺Application進(jìn)展事務(wù)處理,消息處理,一臺效勞器到無數(shù)臺效勞器,Java顯示了一個巨大的生命力。 4多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。 JSP技術(shù)的弱勢 1 與ASP一樣,Java的一些優(yōu)勢正是它致命的問題所在。正是由于為了跨平臺的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。 2 Java的運行速度是用class常駐存來完成的,所以它在一些情況下所使用的存比起用戶數(shù)量來說確實是最低性能價格比

40、了。從另一方面,它還需要硬盤空間來儲存一系列的.java文件和.class文件,以及對應(yīng)的版本文件。 JSP六種置對象: request, response, out, session, application, config, pageconte*t, page, e*ception. 一.request對象: 該對象封裝了用戶提交的信息,通過調(diào)用該對象相應(yīng)的方法可以獲取封裝的信息,即使用該對象可以獲取用戶提交信息。 二.response對象: 對客戶的請求做出動態(tài)的響應(yīng),向客戶端發(fā)送數(shù)據(jù)。 三session對象 1.什么是session:session對象是一個JSP置對象,它在第一個JS

41、P頁面被裝載時自動創(chuàng)立,完成會話期管理。 從一個客戶翻開瀏覽器并連接到效勞器開場,到客戶關(guān)閉瀏覽器離開這個效勞器完畢,被稱為一個會話。當(dāng)一個客戶訪問一個效勞器時,可能會在這個效勞器的幾個頁面之間反復(fù)連接,反復(fù)刷新一個頁面,效勞器應(yīng)當(dāng)通過*種方法知道這是同一個客戶,這就需要session對象。 2session對象的ID:當(dāng)一個客戶首次訪問效勞器上的一個JSP頁面時,JSP引擎產(chǎn)生一個session對象,同時分配一個String類型的ID號,JSP引擎同時將這個ID號發(fā)送到客戶端,存放在Cookie中,這樣session對象和客戶之間就建立了一一對應(yīng)的關(guān)系。當(dāng)客戶再訪問連接該效勞器的其他頁面時,

42、不再分配給客戶新的session對象,直到客戶關(guān)閉瀏覽器后,效勞器端該客戶的session對象才取消,并且和客戶的會話對應(yīng)關(guān)系消失。當(dāng)客戶重新翻開瀏覽器再連接到該效勞器時,效勞器為該客戶再創(chuàng)立一個新的session對象。 四aplication對象 1什么是application: 效勞器啟動后就產(chǎn)生了這個application對象,當(dāng)客戶再所訪問的的各個頁面之間瀏覽時,這個application對象都是同一個,直到效勞器關(guān)閉。但是與session不同的是,所有客戶的application對象都是同一個,即所有客戶共享這個置的application對象。 2application對象常用方法:

43、 (1)public void setAttribute(String key,Object obj): 將參數(shù)Object指定的對象obj添加到application對象中,并為添加的對象指定一個索引關(guān)鍵字。 (2)public Object getAttribute(String key): 獲取application對象中含有關(guān)鍵字的對象。 五out對象 out對象是一個輸出流,用來向客戶端輸出數(shù)據(jù)。out對象用于各種數(shù)據(jù)的輸出。第四章 系統(tǒng)的實現(xiàn)-. z. 第三章 系統(tǒng)分析與設(shè)計3.1系統(tǒng)分析聊天室功能需求分析用戶登錄,包括用戶是否在線實時顯示在線人員列表及在線人數(shù)用戶發(fā)言,包括顯示聊

44、天容和滾屏顯示聊天信息平安退出聊天室,包括單擊關(guān)閉按鈕退出聊天室。聊天室功能性能分析普通用戶能夠登錄的聊天室進(jìn)展文本的聊天,能夠方便的實現(xiàn)公共交談、選擇顏色、添加文字表情等。可以用Aja*實現(xiàn)無刷新操作。3.2系統(tǒng)運行環(huán)境在開發(fā)聊天室系統(tǒng)時,需要具備下面的軟件環(huán)境:效勞器端:操作系統(tǒng):Windows*P。Web效勞器:Tomcat6.0。Java開發(fā)包:MyEclipse。客戶器端:IE6.0。3.3工程流程圖和系統(tǒng)預(yù)覽(1)工程流程圖聊天室的系統(tǒng)流程,如圖3-1圖3-1工程流程圖(2)為了是使大家對本模塊有一定的了解,下面將給出聊天室的主界面預(yù)覽效果圖。聊天室的登錄界面如圖3-2登錄界面.輸

45、入用戶名,然后單擊進(jìn)入按鈕,將進(jìn)入聊天室的主界面,如圖3-3主界面。圖3-2登錄界面圖3-3主界面第五章 總結(jié)與致謝-. z.第四章 系統(tǒng)的實現(xiàn)4.1用戶登錄模塊當(dāng)用戶訪問聊天室時,首先進(jìn)入的是登錄聊天室頁面。在該頁面中,用戶輸入自己喜歡的用戶名,如圖4-1登錄界面,單擊進(jìn)入按鈕,系統(tǒng)將判斷輸入的用戶名是否被占用,如果被占用將給出提示。圖4-1登錄界面聊天室function check()if(form1.username.value=)alert(請輸入用戶名!);form1.username.focus();returnfalse;elseif(form1.username.value=)

46、alert(請不要輸入非法字符!);form1.username.focus();returnfalse;用戶名:4.2聊天室主體功能模塊在用戶登錄頁面中輸入用戶名,單擊進(jìn)入按鈕即可進(jìn)去聊天室的主界面。如圖4-2聊天室主體功能模塊,在頁面中包括頁面頭部、在線人員列表區(qū)、聊天容顯示區(qū)和用戶發(fā)言區(qū)4局部。圖4-2聊天室主體功能模塊4.3實時獲取并顯示在線人員列表在設(shè)計聊天室程序時,為了讓用戶及時了解在線用戶,并與其他用戶交流,需要提供實時獲取并顯示在線人員列表的功能。這小節(jié)介紹聊天室的主界面中,左側(cè)顯示在線人員列表及在線人數(shù)。如圖4-3在線人員列表圖。圖4-3在線人員列表圖為了實時顯示在線人員列表

47、,這里應(yīng)用了Aja*技術(shù)。實現(xiàn)實時顯示在線人員列表的具體步驟如下: 1、編寫自定義的JavaScript函數(shù)showOnline(),用于實例化Aja*對象,showOline()函數(shù)的具體代碼如下:function showOnline()varloader=newnet.Aja*Request(online.jspnocache=+new Date().getTime(),deal_online,onerror,GET);其中nocache=+new Date().getTime()的用處是更新在線人員列表。2、Aja*進(jìn)展異步請求目標(biāo)的URL地址是onlin.jsp,即JSP文件。在該文

48、件中,主要是將保存在集合類中的在線人員列表顯示到頁面。Online.jsp頁面的代碼如下:歡送來到心之語聊天室!所有人0)String username=; amount=vector.size();for(int i=0;iahref=#onclick=set()當(dāng)前在線人3、在聊天室的主界面中,將左側(cè)用于顯示在線人員列表的單元格的id屬性設(shè)置為online,用于實時顯示在線人員列表,具體代碼如下:在線人員列表4、編寫Aja*的回調(diào)函數(shù)deal_online(),用于將獲取的在線人員列表賦值給id為online的標(biāo)記的innerHYML屬性。Deal_online()函數(shù)的具體代碼如下:fu

49、nction deal_online()online.innerHTML=this.req.responseTe*t;5、為了讓頁面載入后就調(diào)用Aja*獲取在線人員列表,并且每隔10秒鐘便獲取一次數(shù)據(jù),還需要在頁面中添加JavaScript代碼,具體代碼如下:window.setInterval(showOnline();,10000);window.onload=function()showOnline(); /當(dāng)頁面載入后顯示在線人員列表4.4實現(xiàn)用戶發(fā)言在聊天室程序中一個必不可少的功能就是實現(xiàn)用戶發(fā)言,設(shè)計中,用戶發(fā)言區(qū)位于聊天室主界面的底部,如圖:4-4用戶發(fā)言模塊。圖4-4用戶發(fā)言模

50、塊實現(xiàn)用戶發(fā)言的具體步驟如下:1、在頁面的適宜位置添加用于收集用戶發(fā)言信息的表單及表單元素,關(guān)鍵代碼如下:$username 對表情無表情的微笑著笑呵呵地?zé)崆榈臏厝岬募t著臉幸福的嘟著嘴熱淚盈眶的依依不舍的得意的神秘兮兮的惡狠狠的大聲的生氣的幸災(zāi)樂禍的同情的遺憾的正義凜然的嚴(yán)肅的慢條斯理的無精打采的說:字體顏色:默認(rèn)顏色紅色熱情藍(lán)色開朗桃色浪漫綠色青春青色清爽紫色拘謹(jǐn)暗夜興奮深藍(lán)憂郁卡其制服鎦金歲月湖波蕩漾發(fā)亮藍(lán)紫愛的暗示墨綠深沉煙雨蒙蒙聊天對象文本框設(shè)置為只讀屬性是用戶就不能手動輸入聊天對象,因此還需要提供選擇聊天對象的功能,可以通過在主頁面中添加選擇聊天對講的JavaScript自定義函數(shù)及

51、在線人員列表中添加超實現(xiàn)。實現(xiàn)將選擇的聊天對象添加到聊天對象文本框的JavaScript代碼如下:function set(selectPerson)/自動添加聊天對象if(selectPerson!=$username)form1.to.value=selectPerson;elsealert(請重新選擇聊天對象!);2、編寫自定義的JavaScript函數(shù)send(),用于調(diào)用Aja*實現(xiàn)用戶發(fā)言。在函數(shù)中,首先驗證用戶輸入信息的合法性然后再將提交的表單的容連接為一個參數(shù)字符串,最后實例化Aja*對象。Send()函數(shù)的具體代碼如下:function send()/驗證聊天信息并發(fā)送if(

52、form1.to.value=)alert(請選擇聊天對象!);returnfalse;if(form1.content1.value=)alert(發(fā)送信息不可以為空!);form1.content1.focus();returnfalse;Varparam=from=+form1.from.value+&face=+form1.face.value+&color=+form1.color.value+&to=+form1.to.value+&content=+form1.content1.value;varloader=newnet.Aja*Request(Messagesaction=s

53、endMessage,deal_send,onerror,POST,param);3、在聊天室相關(guān)的Servlet實現(xiàn)類中添加發(fā)送聊天信息的方法sendMessages()。在該方法中,首先獲取用戶發(fā)言的相關(guān)信息,并將發(fā)言信息保存在應(yīng)用程序?qū)ο骃ervletConte*t中,然后通過RequsetDispatcher對象的forward()方法將請求轉(zhuǎn)發(fā)。SendMessages()方法的具體代碼如下:publicvoid sendMessages(HttpServletRequest request, HttpServletResponse response)throws ServletE*

54、ception, IOE*ception response.setContentType(te*t/html;charset=UTF-8);request.setCharacterEncoding(UTF-8);Random random = new Random();String from = request.getParameter(from); /發(fā)言人String face = request.getParameter(face); /表情String to = request.getParameter(to); /接收者String color = request.getParame

55、ter(color); /字體顏色String content = request.getParameter(content); /發(fā)言容String sendTime =new Date().toLocaleString();/發(fā)言時間ServletConte*t application = getServletConte*t();String sourceMessage = application.getAttribute(message).toString();try /發(fā)言時間sourceMessage += + from + + face + 對 + to + 說: + + cont

56、ent + + sendTime + ;application.setAttribute(message,sourceMessage); request.getRequestDispatcher(Messagesaction=getMessages&nocache=+ random.ne*tInt(10000).forward(request, response); catch (E*ception e*) Logger.getLogger(Messages.class.getName().log(Level.SEVERE, null, e*);4.5實時顯示聊天容在聊天室程序中另一個必不可少

57、的功能就是顯示聊天容。這個版塊是在主界面的右側(cè),如圖4-5聊天容模塊。圖4-5聊天容模塊在實現(xiàn)顯示聊天容功能時,為了實時顯示聊天容,這里應(yīng)用了Aja*技術(shù),技術(shù)Aja*重構(gòu)的方法,實現(xiàn)實時顯示聊天容的具體步驟如下:1、編寫自定義的JavaScript函數(shù)showContent(),用于實例化Aja*對象。showContent()函數(shù)的具體代碼如下:function showContent()varloader1=newnet.Aja*Request(Messagesaction=getMessages&nocache=+new Date().getTime(),deal_content,on

58、error,GET);2、從上可以看出,Aja*進(jìn)展異步請求目標(biāo)的URL地址為MessagesAction?action=getMessage。從該URL地址可以看出,在進(jìn)入主界面前會調(diào)用聊天室相關(guān)的Servlet實現(xiàn)類中的getMessages()。getMessage()方法的具體代碼如下:publicvoid getMessages(HttpServletRequest request,HttpServletResponse response) response.setContentType(te*t/html;charset=UTF-8);tryrequest.getRequestDi

59、spatcher(content.jsp).forward(request, response); catch (E*ception e*) Logger.getLogger(Messages.class.getName().log(Level.SEVERE, null, e*);3、編寫顯示聊天容的JSP頁面content.jsp,在該頁面中只需要應(yīng)用EL表達(dá)式將返回的執(zhí)行結(jié)果輸出即可,具體代碼如下:$message4、在聊天室主界面的右側(cè)俠士聊天容的單元格中添加一個id屬性為content的標(biāo)記,用于實時顯示聊天容,具體代碼如下:聊天容5、編寫Aja*的回調(diào)函數(shù)deal_content()

60、,在這個函數(shù)中,首先獲取Aja*處理頁面的返回值,然后取出字符串中的Unicode空白符,最后判斷在獲取信息時是否產(chǎn)生錯誤,如果是,則退出聊天室,否則將獲取的聊天容輔助給id為cotent的標(biāo)記的innerHTML屬性,deal_content()函數(shù)的具體代碼如下:function deal_content()var returnValue=this.req.responseTe*t;/獲取Aja*處理頁的返回值var h=returnValue.replace(/s/g,);/去除字符串中的Unicode空白符if(h=error)/alert(您的賬戶已經(jīng)過期,請重新登錄!);E*it(

溫馨提示

  • 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

提交評論