Java個人微博客畢業(yè)論文_第1頁
Java個人微博客畢業(yè)論文_第2頁
Java個人微博客畢業(yè)論文_第3頁
Java個人微博客畢業(yè)論文_第4頁
Java個人微博客畢業(yè)論文_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學(xué)士學(xué)位畢業(yè)設(shè)計(論文)基于JSP的個人微博系統(tǒng) 摘要博客是一種新的表達(dá)方式,它傳播的不僅僅是情感,還有很多智慧、觀點和想法。從某種意義上說,這是一種新的文化現(xiàn)象,標(biāo)志著互聯(lián)網(wǎng)的發(fā)展已經(jīng)開始進(jìn)入更高的階段。該系統(tǒng)主要實現(xiàn)了博主發(fā)布博客和照片,訪客可以瀏覽評論,以及發(fā)表留言等功能。該系統(tǒng)的設(shè)計采用Enterprise Architect和MyEclipse工具來實現(xiàn)。MVC是一個框架模型,它強(qiáng)制分離輸入、處理和輸出的應(yīng)用程序。使用MVC應(yīng)用程序分為三個核心組件:模型、視圖、控制器。他們處理自己的任務(wù)。最典型的MVC模式是JSP+servlet+javabean。該系統(tǒng)使用的數(shù)據(jù)庫是SQL Ser

2、ver2008。SQL Server可以承受世界上最強(qiáng)的負(fù)載,對整個數(shù)據(jù)庫、數(shù)據(jù)文件和日志文件進(jìn)行加密,而不需要對應(yīng)用程序進(jìn)行修改,而且它通過第三方支持密鑰管理(HSM)產(chǎn)品和安全模塊提供了對外鍵管理的支持。關(guān)鍵詞:視圖/模型/控制器(MVC);博客系統(tǒng);數(shù)據(jù)庫目錄TOC o 1-3 h z u HYPERLINK l _RefHeading_Toc384905962 前言1 HYPERLINK l _RefHeading_Toc384905963 第1章緒論2 HYPERLINK l _RefHeading_Toc384905964 1.1 開發(fā)工具介紹2 HYPERLINK l _RefH

3、eading_Toc384905965 1.2 論文組織結(jié)構(gòu)介紹3 HYPERLINK l _RefHeading_Toc384905966 第2章項目需求分析4 HYPERLINK l _RefHeading_Toc384905967 2.1 需求功能點介紹4 HYPERLINK l _RefHeading_Toc384905968 2.2 用例圖表示需求4 HYPERLINK l _RefHeading_Toc384905969 2.3 用例圖描述6 HYPERLINK l _RefHeading_Toc384905970 第3章詳細(xì)分析與設(shè)計11 HYPERLINK l _RefHead

4、ing_Toc384905971 3.1 面向?qū)ο蠓治?1 HYPERLINK l _RefHeading_Toc384905972 3.2 類圖設(shè)計11 HYPERLINK l _RefHeading_Toc384905973 3.2.1 類圖12 HYPERLINK l _RefHeading_Toc384905974 3.3 數(shù)據(jù)庫基本分析與建模12 HYPERLINK l _RefHeading_Toc384905975 3.3.1 數(shù)據(jù)庫的需求分析13 HYPERLINK l _RefHeading_Toc384905976 3.3.2 數(shù)據(jù)庫的邏輯設(shè)計13 HYPERLINK l

5、_RefHeading_Toc384905977 第4章項目編碼實現(xiàn)18 HYPERLINK l _RefHeading_Toc384905978 4.1 系統(tǒng)的實現(xiàn)18 HYPERLINK l _RefHeading_Toc384905979 4.1.1 用戶表現(xiàn)層18 HYPERLINK l _RefHeading_Toc384905980 4.1.2 業(yè)務(wù)邏輯層20 HYPERLINK l _RefHeading_Toc384905981 4.1.3 數(shù)據(jù)持久層26 HYPERLINK l _RefHeading_Toc384905982 4.2關(guān)鍵技術(shù)介紹27 HYPERLINK l

6、_RefHeading_Toc384905983 4.2.1 MVC模式27 HYPERLINK l _RefHeading_Toc384905984 4.2.2 數(shù)據(jù)庫連接池的配置和使用28 HYPERLINK l _RefHeading_Toc384905985 4.2.3 中文的亂碼問題29 HYPERLINK l _RefHeading_Toc384905986 第5章項目測試設(shè)計31 HYPERLINK l _RefHeading_Toc384905987 5.1 測試計劃31 HYPERLINK l _RefHeading_Toc384905988 5.2 具體設(shè)計測試的方案介紹3

7、1 HYPERLINK l _RefHeading_Toc384905989 5.3 列舉測試數(shù)據(jù)與分析32 HYPERLINK l _RefHeading_Toc384905990 結(jié)論33 HYPERLINK l _RefHeading_Toc384905991 參考文獻(xiàn)34 HYPERLINK l _RefHeading_Toc384905992 附錄35 HYPERLINK l _RefHeading_Toc384905993 辭36前 言博客,翻譯過來就是網(wǎng)絡(luò)日志、博客或博客,是一種通常由個人管理,會不定期發(fā)布新文章的博客。許多博客專注于提供評論或表達(dá)對新聞中特定話題的看法,而另一些

8、則被用作個人日記,記錄心情和生活。一個典型的博客結(jié)合文字、圖片、其他博客或其他博客,與話題相關(guān)的其他媒體進(jìn)行互動,讓讀者留下評論,這是很多博客所追求的。博主可以在與讀者的互動中交到朋友。雖然從未謀面,但也能感受到朋友的支持和鼓勵。博客作為一種新的表達(dá)方式,不僅傳播情感,也傳播很多智慧、思想和觀點。從某種意義上說,它是一種新的文化現(xiàn)象,它的出現(xiàn)和繁榮標(biāo)志著互聯(lián)網(wǎng)的發(fā)展進(jìn)入了一個更高的階段,從而真正凸顯了互聯(lián)網(wǎng)的知識價值。博客已經(jīng)成為網(wǎng)絡(luò)文化不可分割的一部分?,F(xiàn)在每個網(wǎng)民都有自己的博客,可以瀏覽和閱讀博客,幾乎每個人都有一兩個喜歡的博客,無論是傳統(tǒng)新聞媒體的官方新聞博客,還是與他的愛好相關(guān)的話題博

9、客,還是純粹的娛樂博客。由于博客交流比電子和討論組更容易和簡單,博客已經(jīng)成為家庭、朋友、部門和團(tuán)隊中越來越受歡迎的交流方式。博客可以實現(xiàn)多個用戶之間的互動,滿足用戶之間互相訪問博客、評論和留言的需求。目前各大博客各有特色,功能完善。但是有些博客頁面廣告太多,讓人眼花繚亂。用戶在使用博客時,經(jīng)常會無意中點擊進(jìn)入廣告,一些惡意制作的廣告會攜帶病毒,導(dǎo)致電腦中毒。為了滿足用戶的基本需求,創(chuàng)建一個安全健康的博客系統(tǒng),設(shè)計了一個個人微博系統(tǒng)。本系統(tǒng)采用JSP技術(shù)MVC模式實現(xiàn)。博客系統(tǒng)中照片的上傳和下載是通過jspSmartUpLoad組件實現(xiàn)的。上傳圖片的路徑存儲在數(shù)據(jù)庫中,通過查詢數(shù)據(jù)庫中存儲的路徑

10、,在頁面上顯示相應(yīng)的照片。因為博文列表中可能有大量博文,所以默認(rèn)顯示每個類別的最新十篇博文。點擊對應(yīng)的博文類別標(biāo)題,瀏覽該類別下分頁顯示的所有博文,方便用戶查找和瀏覽博文。用戶可以給博主留言,最后三條評論會顯示在首頁留言模塊。每篇博文都有瀏覽量和評論數(shù)。用戶點擊每篇博文的標(biāo)題,進(jìn)入博文展示頁面。此時,博文的瀏覽量會更新,用戶對博文進(jìn)行評論后,評論數(shù)也會更新。第一章情緒理論1.1開發(fā)工具介紹個人微博系統(tǒng)基于MVC+JDBC架構(gòu)開發(fā)。開發(fā)工具為MyEclipse 8.5,運(yùn)行環(huán)境為Windows 7+Tomcat 7.0 server,數(shù)據(jù)庫為SQL Server2008,UML建模工具為Ente

11、rprise Architect。開發(fā)工具:MyEclipse Enterprise Workbench(簡稱MyEclipse)是Eclipse IDE的擴(kuò)展。利用該平臺,可以大大提高數(shù)據(jù)庫和J2EE的開發(fā)和發(fā)布以及與應(yīng)用服務(wù)器集成的工作效率。MyEclipse是一個豐富的J2EE集成開發(fā)環(huán)境,包括完整的編碼、調(diào)試、測試和發(fā)布功能,全面支持HTML、CSS、JSF、Struts、JavaScript、Hibernate和SQL。MyEclipse 8.5是一個基于Eclipse平臺的插件工具。該版本集成了Eclipse 3.5.2,改進(jìn)了團(tuán)隊協(xié)作開發(fā)和開發(fā)周期管理,更好地支持Spring和H

12、ibernate。2.服務(wù)器:Tomcat 7.0Tomcat是Apache Software Foundation下的Jakarta project開發(fā)的Servlet容器。根據(jù)Sun Microsystems提供的技術(shù)規(guī)范,Tomcat支持servlets和Java Server Pages (JSP),并提供了一些作為Web服務(wù)器所獨有的功能,如Tomcat管理和控制平臺、安全局管理和Tomcat valve。Tomcat可以被視為一個獨立的Web服務(wù)器,因為它也包含一個服務(wù)器。Apache Tomcat包括一個配置管理工具,可以通過編輯XML格式的配置文件進(jìn)行配置。本系統(tǒng)使用Tomca

13、t 7.0??梢灾С諷ervlet 3.0。數(shù)據(jù)庫:SQL Server 2008SQL Server是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。最初由微軟、Sybase和Ashton-Tate開發(fā),于1988年推出了第一款OS/2。 HYPERLINK ./%20%20%20%20:/baike.baidu%20%20%20%20/view/26783.htm t _blank 版本。Windows NT推出后,微軟和Sybase相繼開發(fā)了SQL Server HYPERLINK ./%20%20%20%20:/baike.baidu%20%20%20%20/view/272.htm t _blank 猛拉韁

14、繩走不同的路線,微軟將SQL Server HYPERLINK ./%20%20%20%20:/baike.baidu%20%20%20%20/view/258047.htm t _blank 移植到Windows NT HYPERLINK ./%20%20%20%20:/baike.baidu%20%20%20%20/view/25302.htm t _blank 系統(tǒng)專注于 HYPERLINK ./%20%20%20%20:/baike.baidu%20%20%20%20/view/522596.htm t _blank 開發(fā)提升SQL Server的Windows NT版本。中的SQL

15、Server 2008 HYPERLINK ./%20%20%20%20:/baike.baidu%20%20%20%20/view/2422.htm t _blank Microsoft您可以組織和管理任何數(shù)據(jù)。結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化文檔的數(shù)據(jù)可以直接存儲在數(shù)據(jù)庫中。您可以查詢、搜索、同步、報告和分析數(shù)據(jù)。數(shù)據(jù)可以存儲在各種設(shè)備上,從數(shù)據(jù)中心最大的服務(wù)器到臺式計算機(jī)和移動設(shè)備,無論數(shù)據(jù)存儲在哪里,it部門都可以控制數(shù)據(jù)。1.2開發(fā)技術(shù)介紹1.個人微博系統(tǒng)由JSP技術(shù)完成。JSP的全稱是Java Server Pages,是一種簡化的Servlet設(shè)計。它以的形式在Html中嵌入Java程

16、序塊。JSP Servlet和JSP Servlet都是在服務(wù)器端執(zhí)行,返回一個HTML文本給客戶端,客戶端可以使用瀏覽器瀏覽頁面。Web服務(wù)器收到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行java程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數(shù)據(jù)庫,重定向網(wǎng)頁等。,從而實現(xiàn)構(gòu)建動態(tài)網(wǎng)頁所需的功能。JSP頁面很少做數(shù)據(jù)處理,一般只用來實現(xiàn)靜態(tài)頁面,只用來通過表單提交數(shù)據(jù),不做業(yè)務(wù)處理,把業(yè)務(wù)處理放到servlet里。Java Servlet是JSP的技術(shù)基礎(chǔ),常見Web應(yīng)用的開發(fā)需要Java Servlet和JSP的配合。JSP使用Java技術(shù)簡單易用

17、,完全面向?qū)ο?,平臺無關(guān),安全可靠。圖片的上傳和下載使用組件jspSmartUpLoad.jarJspSmartUpload是jspsmart開發(fā)的一個免費的全功能文件上傳下載組件,適合嵌入在執(zhí)行上傳下載操作的JSP文件中。該組件具有以下特征:(1)使用方便。在JSP文件中寫三五行java代碼就可以上傳或下載文件,方便。(2)可以控制上傳的全過程。通過使用jspSmartUpload組件提供的對象及其操作方法,可以獲得上傳文件的所有信息(包括文件名、大小、類型、擴(kuò)展名、文件數(shù)據(jù)等。),方便查閱。(3)能夠限制上傳文件的大小和類型。這樣可以過濾掉不符合要求的文件。(4)靈活下載。只需編寫兩行代碼

18、,就可以將Web服務(wù)器變成文件服務(wù)器。無論文件是在Web服務(wù)器的目錄中還是在任何其他目錄中,都可以使用jspSmartUpload下載。1.3論文的組織結(jié)構(gòu)介紹根據(jù)項目開發(fā)流程,論文的組織結(jié)構(gòu)如下。第一章介紹了個人微博系統(tǒng)組織文章的開發(fā)工具和語言。第二章對系統(tǒng)進(jìn)行了需求分析和面向?qū)ο蟮姆治雠c設(shè)計。第三章通過UML中的用例圖和類圖對系統(tǒng)項目進(jìn)行分析,并對數(shù)據(jù)庫進(jìn)行基本的分析和建模。第四章是項目的編碼實現(xiàn)。4.1節(jié)介紹了系統(tǒng)的實現(xiàn)以及如何處理亂碼的方法。第五章介紹了項目的測試計劃和方案,并列出了測試數(shù)據(jù)和分析結(jié)果。最后,對項目開發(fā)階段進(jìn)行總結(jié)和進(jìn)一步展望。第二章項目需求分析2.1需求功能點介紹隨著

19、時代的進(jìn)步和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,博客已經(jīng)成為網(wǎng)絡(luò)文化不可分割的一部分。現(xiàn)在每個網(wǎng)民都有自己的博客,可以瀏覽和閱讀博客,幾乎每個人都有一兩個喜歡的博客,無論是傳統(tǒng)新聞媒體的官方新聞博客,還是與他的愛好相關(guān)的話題博客,還是純粹的娛樂博客。與電子和討論組相比,博客交流更加容易和簡單。博客已經(jīng)成為家庭、朋友、部門、團(tuán)隊中越來越流行的溝通方式。該系統(tǒng)包括博客模塊、訪客模塊和學(xué)生模塊。1.博主模塊:博主登錄、發(fā)布博文、添加博文類別、修改和刪除博文、刪除博文類別、添加相冊類別、添加相冊、刪除相冊等功能。2.訪客模塊:瀏覽博文、發(fā)表評論、給博主留言、查看相冊等功能。2.2用例圖顯示了需求在UML中,用例是一組

20、動作序列(包括它的變體)的描述,由系統(tǒng)執(zhí)行,為參與者產(chǎn)生一個可觀察的結(jié)果值。用例用于描述一組序列。序列代表了系統(tǒng)之外的事物(系統(tǒng)的參與者)和系統(tǒng)本身(及其關(guān)鍵抽象)之間的交互。在這個系統(tǒng)中有兩種類型的參與者。他們是:博主和游客。在下面的用例圖中,將分別描述兩個參與者可以使用的用例。1.博客用例圖圖2SEQ 圖 * ARABIC一個博客用例圖2.游客用例圖圖2SEQ 圖 * ARABIC2游客用例圖2.3用例圖描述描述了下面的系統(tǒng)用例圖。1.Blogger用例圖描述(主要用例)(1)以Blogger登錄使用如下表所示為例。表2SEQ 表 * ARABIC一個登錄系統(tǒng)用例描述用例名稱登錄博客系統(tǒng)用

21、例目標(biāo)當(dāng)blogger登錄到系統(tǒng)時,用例開始,它驗證blogger的身份,當(dāng)一個過程完成時用例結(jié)束。等級子函數(shù)積極分子寫日志(部落格)的人情況僅定義了初始路徑。前兆條件沒有成功的作品博主進(jìn)入博客主頁(index.jsp)主路徑博主進(jìn)入登錄界面后,輸入正確的用戶名和密碼,博主登錄系統(tǒng)。可選路徑博主進(jìn)入登錄界面后,點擊“直接進(jìn)入”異常路徑進(jìn)入登錄界面后,博主輸入無效賬號和/或密碼,系統(tǒng)顯示“用戶用戶名和密碼錯誤”。博主可以選擇返回主路徑的起點,重新輸入正確的賬號和密碼;或者點擊“直接進(jìn)入”(2)以博文管理為例,如下表所示。表2SEQ 表 * ARABIC2博客帖子管理用例描述用例名稱博文管理用例目

22、標(biāo)用例從博主發(fā)布、修改和刪除博文開始,到博主成功發(fā)布、修改和刪除博文結(jié)束。等級子函數(shù)積極分子寫日志(部落格)的人情況僅定義了初始路徑。前兆條件博主登錄個人微博系統(tǒng)成功的作品博主發(fā)布、修改、刪除博文成功后主路徑博主進(jìn)入發(fā)布和管理博文的界面,添加或更新博文,保存在數(shù)據(jù)庫中??蛇x路徑異常路徑?jīng)]有(3)照片管理如下表所示。表2SEQ 表 * ARABIC三相冊管理用例描述用例名稱相冊管理用例目標(biāo)用例從博主添加和刪除照片開始,到博主操作成功結(jié)束。等級子函數(shù)積極分子寫日志(部落格)的人情況僅定義了初始路徑。前兆條件博客登錄系統(tǒng)成功的作品Blogger成功添加和刪除了照片。主路徑博主進(jìn)入添加照片界面后,照片

23、被成功添加和刪除,并保存在數(shù)據(jù)庫中??蛇x路徑?jīng)]有異常路徑?jīng)]有(4)博客文章的分類管理如下表所示,例如。表2SEQ 表 * ARABIC四博客文章類別管理用例描述用例名稱博客文章類別管理用例目標(biāo)用例從博主添加或刪除博文開始,到博主成功操作結(jié)束。等級子函數(shù)積極分子寫日志(部落格)的人情況僅定義了初始路徑。前兆條件博客登錄系統(tǒng)成功的作品Blogger添加和刪除了博文類別,并成功保存到數(shù)據(jù)庫中。主路徑進(jìn)入添加和刪除博文的界面后,博主可以選擇添加或刪除博文,并保存到數(shù)據(jù)庫中。可選路徑?jīng)]有異常路徑?jīng)]有(5)以相冊類別管理為例,如下表所示。表2SEQ 表 * ARABIC五相冊管理的用例描述用例名稱相冊類別

24、管理用例目標(biāo)用例從博主添加或刪除相冊類別開始,到博主成功操作結(jié)束。等級子函數(shù)積極分子寫日志(部落格)的人情況僅定義了初始路徑。前兆條件博客登錄系統(tǒng)成功的作品Blogger添加和刪除相冊類別,并成功保存在數(shù)據(jù)庫中。主路徑進(jìn)入添加和刪除相冊類別界面后,博主可以選擇添加或刪除相冊類別,并存儲在數(shù)據(jù)庫中??蛇x路徑?jīng)]有異常路徑?jīng)]有2.游客用例圖描述(主要用例)(1)做出如下表所示的注釋,例如。表2SEQ 表 * ARABIC六對用例描述進(jìn)行注釋用例名稱評論用例目標(biāo)當(dāng)用戶評論一個博客發(fā)布的博客文章時,用例開始,它處理評論的問題,當(dāng)用戶完成評論時用例結(jié)束。等級子函數(shù)積極分子用戶(游客或博客)情況僅定義了初始

25、路徑。前兆條件沒有成功的作品評論發(fā)布成功。主路徑用戶提出意見,系統(tǒng)保存意見??蛇x路徑?jīng)]有異常路徑?jīng)]有(2)發(fā)布如下表所示的消息,例如。表2SEQ 表 * ARABIC七發(fā)布消息用例描述。用例名稱發(fā)布消息用例目標(biāo)用例從用戶發(fā)布消息開始,處理消息問題,并在消息成功提交時結(jié)束。等級子函數(shù)積極分子用戶(游客或博客)情況僅定義了初始路徑。前兆條件沒有成功的作品用戶已成功發(fā)布消息。主路徑用戶發(fā)布消息,系統(tǒng)保存消息。可選路徑?jīng)]有異常路徑?jīng)]有第3章詳細(xì)分析和設(shè)計3.1面向?qū)ο蟮姆治雒嫦驅(qū)ο蠓治鍪且韵到y(tǒng)能夠完成的功能為基礎(chǔ),以對象之間的關(guān)聯(lián)為核心。分析主要集中在對象的分類,相關(guān)屬性和操作的識別,類和實例的關(guān)系,

26、以及各種對象的行為特征。在面向?qū)ο蟮南到y(tǒng)中,客觀世界中的所有實體都用對象來表示,此外,對象還可以表示軟件開發(fā)人員所需的功能。從實現(xiàn)形式上看,對象是一系列狀態(tài)和一系列可外部調(diào)用的操作或方法的包。狀態(tài)記錄操作的結(jié)果,方法定義一系列計算步驟。當(dāng)一個對象被請求執(zhí)行相關(guān)的方法時,就說一個操作已經(jīng)被應(yīng)用于該對象??梢栽趯ο笊蠄?zhí)行的操作描述了由對象執(zhí)行的功能,這些功能通過外部接口來表達(dá)。接口對象可以相互交互,交互是通過消息的傳遞來完成的。這里,消息是一個對象和另一個對象之間的通信單元,是要求對象執(zhí)行操作的規(guī)范。類是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對象。類的定義包括一組狀態(tài)描述和方法定義。類的定義可以看作是具

27、有相似狀態(tài)和共同行為的對象的模板。類模板以外部接口和部分算法和數(shù)據(jù)結(jié)構(gòu)的形式提供了對類的完整描述。這種方法的主要優(yōu)點是實現(xiàn)一個類的工作只需要做一次。在一個類中,每個對象都是該類的一個實例,對象可以通過實例化機(jī)制動態(tài)生成。繼承是一種使用現(xiàn)有定義作為基礎(chǔ)來建立定義的技術(shù)。新類可以通過修改或擴(kuò)展現(xiàn)有類來定義,因此新類共享現(xiàn)有類的行為,但具有修改和添加的行為,這是繼承的本質(zhì)特征。這個定義的新類成為現(xiàn)有類的子類,而現(xiàn)有類成為新類的父類。從上面可以看出,面向?qū)ο蟛皇且环N編程語言,而是一種方式。它把程序看作一組相互協(xié)作又相互獨立的對象,每個對象就像一個微程序,有自己的狀態(tài)和功能。這種新方法帶來了許多突出的優(yōu)

28、點,如模塊化、可重用性和可維護(hù)性。object的引入最大限度地減少了“真實世界”和“軟件程序”的語義差異,屏蔽了實現(xiàn)細(xì)節(jié),使得大型程序的理解和調(diào)試變得非常容易;類在軟件開發(fā)中支持行為共享,提供代碼重用,使得面向?qū)ο蠹夹g(shù)在軟件開發(fā)的全過程中高效且易于維護(hù)8。3.2類圖設(shè)計從用例圖到類圖是使用UML進(jìn)行系統(tǒng)分析的核心步驟,也是系統(tǒng)分析和設(shè)計的重要步驟。這一步幫助我們從僅僅知道系統(tǒng)完成后將做什么,到系統(tǒng)將如何完成這些功能。類圖類圖用于顯示系統(tǒng)中每個類的靜態(tài)結(jié)構(gòu)。它表示由類系統(tǒng)處理的事物。這些類可以通過多種方式相互連接,包括關(guān)聯(lián)(類相互連接)、依賴(一個類依賴/使用另一個類)、專門化(一個類是另一個類

29、的專門化)或大包(多個類組合成一個單元)。所有這些關(guān)系都與每個類的部分結(jié)構(gòu)一起顯示在類圖中,其中一個類的部分結(jié)構(gòu)由該類的屬性和操作表示。因為類圖描述的結(jié)構(gòu)在系統(tǒng)生命周期的任何地方都是有效的,所以一般認(rèn)為類圖是靜態(tài)的。一般一個系統(tǒng)有多個類圖,不是所有的類圖都放在一個類圖里,一個類可以參與多個類圖。下圖是這個系統(tǒng)的類圖。圖31類圖3.3數(shù)據(jù)庫的基本分析和建模一個專業(yè)管理系統(tǒng)的實現(xiàn),必然會涉及到后臺數(shù)據(jù)庫對系統(tǒng)數(shù)據(jù)信息的保存和維護(hù)??紤]到系統(tǒng)對用戶并行處理數(shù)據(jù)庫中數(shù)據(jù)的需求,一般選擇Oracle、DB2等大型數(shù)據(jù)庫管理系統(tǒng)??紤]到系統(tǒng)的可移植性和開源性,采用了對用戶并發(fā)連接數(shù)的優(yōu)良性能,本系統(tǒng)中的相

30、關(guān)數(shù)據(jù)信息由SQL Server數(shù)據(jù)庫管理系統(tǒng)處理。3.3.1數(shù)據(jù)庫需求分析根據(jù)個人微博系統(tǒng)的總體要求,通過對整個系統(tǒng)功能、數(shù)據(jù)流程和操作流程的分析,可以得出數(shù)據(jù)庫應(yīng)該包含以下表格:1.文章表:文章編號、文章標(biāo)題、文章內(nèi)容、文章發(fā)表時間、文章類別、文章瀏覽次數(shù)、文章評論次數(shù)。2.文章類別表:文章類別編號和文章類別名稱。3.評論形式:評論號、文章號、用戶名、評論時間、評論容量。4.博主信息表:博主主編號、博主昵稱、博主真實、博主注冊時間、博主性別、博主生日、博主身高、博主體重、博主登錄次數(shù)、博主發(fā)布的博文和博客瀏覽次數(shù)。5.消息形式:消息編號、消息發(fā)送者、消息容量和消息時間。6.照片表:照片號、

31、相冊類別號、照片名、照片路徑。7.相冊類別表:相冊類別號,相冊名稱,相冊封面圖片路徑。3.3.2數(shù)據(jù)庫的邏輯設(shè)計根據(jù)個人微博系統(tǒng)的需求分析,在確定各表主鍵字段的基礎(chǔ)上,根據(jù)表間相關(guān)字段的關(guān)系建立表間關(guān)系。這些關(guān)系的建立可以避免誤操作造成的數(shù)據(jù)庫崩潰,保證表間數(shù)據(jù)的統(tǒng)一性。數(shù)據(jù)庫對應(yīng)的示意圖如下(圖3-3)。圖3SEQ 圖 * ARABIC三數(shù)據(jù)庫對應(yīng)圖博客信息表:文章是一個數(shù)據(jù)表,用來保存博主發(fā)布的所有博客信息。下表(表3-1)列出了該表中包含的字段描述信息。表3SEQ 表 * ARABIC八博客信息表列標(biāo)題類型寬度列含義主鍵連續(xù)增加外部密鑰文章序號(同Internationalorganiz

32、ations)國際組織四編號是是不文章標(biāo)題可變長字符串50文章標(biāo)題不不不文章內(nèi)容文本溫蓉蓉不不不文章發(fā)送時間可變長字符串50出版時間不不不讀取計數(shù)(同Internationalorganizations)國際組織四打擊不不不注釋計數(shù)(同Internationalorganizations)國際組織四評論數(shù)量不不不文章類型_id(同Internationalorganizations)國際組織四商品類型編號不不是2.博客文章類別信息表:articletype表是一個數(shù)據(jù)表,用于保存博客文章的類別信息。下表(表3-2)列出了該表中包含的字段描述信息。表32博客帖子類別表列標(biāo)題類型寬度列含義主鍵連續(xù)

33、增加外部密鑰t_id(同Internationalorganizations)國際組織四商品類別號是是不名字可變長字符串50類別名稱不不不3.意見表:評論表是用來保存評論信息的數(shù)據(jù)表。下表(表3-3)列出了該表中包含的字段描述信息。表33意見表列標(biāo)題類型寬度列含義主鍵連續(xù)增加外部密鑰備注d(同Internationalorganizations)國際組織四注釋編號是是不文章序號(同Internationalorganizations)國際組織四編號不不是評論員可變長字符串20觀察者不不不評論的內(nèi)容文本評論不不不commentSendTime可變長字符串50評論時間不不不4.Blogger信息表

34、:博主信息表(會員)是用來保存博主個人信息的數(shù)據(jù)表。下表(表3-4)列出了該表中包含的字段描述信息。表34博客信息表列標(biāo)題類型寬度列含義主鍵連續(xù)增加外部密鑰用戶界面設(shè)計(User Interface Design的縮寫)(同Internationalorganizations)國際組織四博客編輯編號是是不unickName可變長字符串20博客昵稱不不不utrueName可變長字符串20真名不不不密碼可變長字符串20密碼不不不uregisterTime可變長字符串20登錄時間不不不uLastLoginTime可變長字符串50上次登錄時間不不不usex可變長字符串2性別不不不生日可變長字符串50生

35、日不不不結(jié)婚了可變長字符串2結(jié)婚不不不超高(同Internationalorganizations)國際組織四高度不不不超輕量級(同Internationalorganizations)國際組織四重量不不不文章計數(shù)(同Internationalorganizations)國際組織四博客帖子的數(shù)量不不不登錄時間(同Internationalorganizations)國際組織四著陸時間不不不數(shù)數(shù)(同Internationalorganizations)國際組織四訪問次數(shù)不不不5.消息信息表單:Messages是一個用來保存消息信息的數(shù)據(jù)表。下表(表3-5)列出了該表中包含的字段描述信息。表35消

36、息信息表列標(biāo)題類型寬度列含義主鍵連續(xù)增加外部密鑰w_id(同Internationalorganizations)國際組織四消息編號是是不姓名可變長字符串50信息接受者不不不w_word可變長字符串最大消息不不不w _時間可變長字符串50消息時間不不不6.圖片:Photo是一個數(shù)據(jù)表,用來保存博主發(fā)布的所有照片信息。下表(表3-6)列出了該表中包含的字段描述信息。表36照片表列標(biāo)題類型寬度列含義主鍵連續(xù)增加外部密鑰編號(同Internationalorganizations)國際組織四照片號是是不tp_id(同Internationalorganizations)國際組織四類別號不不是圖片名稱

37、瓦爾徹50照片名稱不不不光路徑可變長字符串50照片路徑不不不7.相冊類別信息表:相冊類別表是用來保存相冊類別信息的數(shù)據(jù)表。下表(表3-7)列出了該表中包含的字段描述信息。表37相冊類別表列標(biāo)題類型寬度列含義主鍵連續(xù)增加外部密鑰身份(同Internationalorganizations)國際組織四類別號是是不欄目名稱可變長字符串50類別名稱不不不facepath瓦爾徹50覆蓋路徑不不不第四章項目編碼的實施4.1系統(tǒng)的實施本系統(tǒng)設(shè)計了兩種用戶,即博主和游客。根據(jù)不同的用戶,分別設(shè)計了相關(guān)功能所涉及的流程。在個人博客系統(tǒng)中,博主發(fā)布博文、添加照片、查看評論、留言等。通過頁面上的提示。要求博主在發(fā)布

38、博文時填寫博文的標(biāo)題和內(nèi)容。訪問者可以通過頁面關(guān)聯(lián)查看不同類別的博文和不同相冊的照片。訪問者可以對博客帖子進(jìn)行評論,并發(fā)表自己的意見。點擊留言板,給博主留言。4.1.1用戶表現(xiàn)層下面是本系統(tǒng)各層實現(xiàn)的具體流程。1.前端用戶表示層(1)用戶登錄主頁(login.jsp)該系統(tǒng)中有兩個用戶。直接點擊默認(rèn)輸入其游客身份,輸入用戶名和密碼登錄成功,輸入其博主身份。他們都進(jìn)入了index.jsp。圖4SEQ 圖 * ARABIC四登錄頁面(2)博文展示頁面(MyArticleList.sp)點擊頁面上的“博客列表”,將顯示每個類別下的10篇博客文章。單擊類別以顯示該類別下的所有博客文章,單擊博客文章標(biāo)題

39、以顯示博客文章的詳細(xì)信息。圖4SEQ 圖 * ARABIC五博客文章顯示頁面(3)相冊展示頁面用戶點擊頁面上的“相冊列表”,就會顯示相冊分類和封面圖片。點擊類別名稱,該類別下的所有照片都可以按類別顯示。圖43相冊顯示頁面(4)留言板頁面用戶點擊頁面的“留言板”,顯示用戶發(fā)布的消息頁面,用戶可以發(fā)布消息。圖44留言板頁面4.1.2業(yè)務(wù)邏輯層在該系統(tǒng)的業(yè)務(wù)邏輯層,保存和處理各種類型的對象,如分類信息和用戶信息。對應(yīng)于業(yè)務(wù)邏輯層的類的包在應(yīng)用程序目錄WEBINF下的classes目錄中。下面簡要介紹業(yè)務(wù)邏輯層中的主要類。1.封裝了數(shù)據(jù)庫相關(guān)操作的BaseDao.java的主要實現(xiàn)代碼。package

40、 . personal blog . Dao;導(dǎo)入Java . SQL . connection;導(dǎo)入Java . SQL . driver manager;導(dǎo)入Java . SQL . prepared statement;導(dǎo)入Java . SQL . resultset;導(dǎo)入Java . SQL . SQL exception;導(dǎo)入Java . SQL . statement;公共類BaseDao 私有靜態(tài)字符串drivater name = . Microsoft . SQL server . JDBC . SQL server driver ;私有靜態(tài)字符串dbURL = JDBC:S

41、QL server:/127 . 0 . 0 . 1:1433;sDatabaseName = blog _ db ;私有靜態(tài)字符串userName = sa私有靜態(tài)字符串psd = 123456/*獲得連接*退貨*/公共靜態(tài)連接getConnection() 連接連接=空;嘗試class . for name(drivater name);conn = driver manager . getconnection(dbURL,userName,PSD); catch(ClassNotFoundException e)/ TODO自動生成的catch塊e . printstacktrace()

42、; catch (SQLException e) / TODO自動生成的catch塊e . printstacktrace();返回連接器;/*數(shù)據(jù)庫查詢*參數(shù)sql*退貨*/公共靜態(tài)結(jié)果集sel(字符串sql) Connection con = null語句stmt = null結(jié)果集rs = null嘗試con = base Dao . getconnection();stmt = con . create statement(ResultSet。類型_滾動_敏感,結(jié)果集。CONCUR _可更新);RS = stmt . execute query(SQL); catch (SQLExce

43、ption e) / TODO自動生成的catch塊e . printstacktrace();返回RS;/*插入、刪除和修改數(shù)據(jù)庫。*/public static int exec(String SQL)int I = 0;Connection con = nullPreparedStatement pstmt = null嘗試con = base Dao . getconnection();PS TMT = con . prepare statement(SQL);I = PS TMT . execute update(); catch (SQLException e) / TODO自動生

44、成的catch塊e . printstacktrace();最后嘗試pstmt . close();con . close(); catch(異常e) e . printstacktrace();返回I;/*關(guān)閉所有資源。*參數(shù)連接*參數(shù)測試*參數(shù)rs*/public void closeAll(連接連接,語句結(jié)構(gòu),結(jié)果集rs) /如果(rs!= null) 嘗試RS . close(); catch (SQLException e) e . printstacktrace();如果(stmt!= null) 嘗試stmt . close(); catch (SQLException e) e

45、 . printstacktrace();如果(conn!= null) 嘗試conn . close(); catch (SQLException e) e . printstacktrace();2.LoginServlet的主要實現(xiàn)代碼封裝了登錄頁面的相關(guān)操作,是:公共void登錄(ServletRequest請求,ServletResponse響應(yīng))引發(fā)ServletException,IOException System.out.print(loginservlet中的loginservlet方法);RequestDispatcher rd = null字符串消息= ;布爾標(biāo)志=真;

46、session session = request . getsession(false);string userName = request . getparameter( userName );string password = request . getparameter( user pass );if(username = = null | | username . equals( )flag = falseMessage += 請輸入用戶名 ;if(password = = null | | password . equals( )flag = falseMessage += 請輸入

47、密碼;如果(標(biāo)志)if (username = null) 用戶名= ;if (password = null) 密碼= ;Users u =新用戶();u.setUnickName(用戶名);/用用戶輸入的用戶名和密碼給Lernameu.setUpassword(密碼);UserDaoImpl us = new UserDaoImpl();users user = us . doc check(u);/返回當(dāng)前用戶userdao的登錄(loginbeaninbean賦值;如果(用戶!= null) /跳轉(zhuǎn)到登錄成功頁面;Message = 登錄成功 ;String sql = 更新博客數(shù)據(jù)庫

48、.成員集log in time = log in time+1 ;base Dao bs = new base Dao();System.out.print(執(zhí)行登錄+bs . exec(SQL);session.setAttribute(blog ,u . getunikname();response . send redirect( index . JSP );否則Message = 用戶輸入的用戶名和密碼錯誤 ;request.setAttribute(messages ,消息);rd = request . getrequest dispatcher( log in . JSP );r

49、d.forward(請求、響應(yīng));/跳轉(zhuǎn)到index.jsp并提示用戶;否則request.setAttribute(messages ,消息);rd = request . getrequest dispatcher( log in . JSP );rd.forward(請求、響應(yīng));3.發(fā)布博文的主要實現(xiàn)代碼:public void article add(servlet request請求,ServletResponse響應(yīng))引發(fā)ServletException,IOException 字符串消息= ;字符串向前= ;Date Date = new Date();string date

50、1 = stringdateparseutil . getstring(date);boolean flag=validateArticle(請求,響應(yīng));system . out . print(flag);如果(標(biāo)志)Article文章= new Article();article . setarticlecontent(change(request . getparameter( articlecontent );/文章內(nèi)容article.setArticleSendTime(日期1);article . setarticlettitle(change(request . getpara

51、meter( article title );article . setarticletype _ id(integer . parse int(request . getparameter( column 1 );article . setcommentcount(0);article . setreadcount(0);ArticleDaoImpl ADI = new ArticleDaoImpl();int mark = ADI . insert(article);if(mark=1) Messages = 文章發(fā)布成功! ;forward = my article list . JSP

52、 ;否則Messages=文章發(fā)布失?。?;forward = AddArticle.jsprequest.setAttribute(messages ,消息);否則forward = error.jsprequest dispatcher rd = request . getrequest dispatcher(forward);rd.forward(請求、響應(yīng));4.1.3數(shù)據(jù)持久層數(shù)據(jù)持久層是一個軟件服務(wù)層,它將應(yīng)用程序與程序使用和操作的數(shù)據(jù)源分開,并在對象/關(guān)系數(shù)據(jù)庫之間提供一個成功的企業(yè)級映射解決方案。數(shù)據(jù)源之上的數(shù)據(jù)庫持久層隱藏了用于訪問這些數(shù)據(jù)源的數(shù)據(jù)訪問API。數(shù)據(jù)庫持久層提供

53、的是一個完全抽象的服務(wù),它隱藏了使用和操作來自數(shù)據(jù)源的數(shù)據(jù)的物理細(xì)節(jié)。以下是目前數(shù)據(jù)持久層的主要技術(shù),作為數(shù)據(jù)持久層框架的選擇方案簡單介紹一下。1.JDBC封裝目前,大多數(shù)Web應(yīng)用程序使用JDBC來操作關(guān)系數(shù)據(jù)庫。它可以操作大量的數(shù)據(jù),有保證數(shù)據(jù)一致性的機(jī)制,支持信息的并發(fā)訪問,使用非常成熟的SQL語言。因為JDBC使用的關(guān)系案例不能用于存儲對象,所以我們應(yīng)該放棄使用面向?qū)ο蟮脑瓌t在代碼中存儲數(shù)據(jù)。而是需要在數(shù)據(jù)持久層編寫大量的SQL代碼,封裝底層的JDBC API,為業(yè)務(wù)邏輯層提供簡潔的接口。2.實體Bean封裝實體Bean (entity E) o實體Bean被引入到Java平臺的企業(yè)應(yīng)

54、用中。它是描述數(shù)據(jù)庫中持久數(shù)據(jù)信息的組件。e通過使用類似于對象到對象映射的方法,提供了持久數(shù)據(jù)的面向?qū)ο蟮谋硎?。電子關(guān)系數(shù)據(jù)庫沒有限制,它描述的持久信息可以來自企業(yè)信息系統(tǒng)(e is)或其他存儲設(shè)備。要求E遵循一個嚴(yán)格的標(biāo)準(zhǔn),實現(xiàn)E的用戶必須嚴(yán)格遵循這個標(biāo)準(zhǔn)。但是,E標(biāo)準(zhǔn)在面向?qū)ο蠓矫嬗幸恍┤秉c,比如一些高級特性:繼承、多態(tài)和復(fù)合關(guān)系(E2.0已經(jīng)改進(jìn))。其次,它是一個需要消耗應(yīng)用服務(wù)器大量資源才能運(yùn)行的重量級組件。但是,由E container管理的服務(wù)為處理一些企業(yè)功能提供了很大的好處。例如安全性、交易處理和資源管理。4.2關(guān)鍵技術(shù)介紹4.2.1 MVC模式MVC將軟件系統(tǒng)分為三個基本部分

55、:模型、視圖和控制器,如圖4所示。SEQ 圖 * ARABIC六如圖所示。圖47 MVC模式結(jié)構(gòu)(1)控制器層(控制器)這一層主要用于定義應(yīng)用的行為,控制應(yīng)用的進(jìn)程,處理事件,更新用戶動作到模型的映射,選擇響應(yīng)視圖。(2)視圖層(View)這一層首先可以實現(xiàn)數(shù)據(jù)有目的的展示。視圖中通常沒有程序邏輯。為了刷新視圖,視圖需要訪問它所監(jiān)視的數(shù)據(jù)模型,所以它應(yīng)該事先用它所監(jiān)視的數(shù)據(jù)進(jìn)行注冊,還可以將用戶的輸入發(fā)送給控制器,以允許控制區(qū)域選擇視圖。(3)模型或業(yè)務(wù)邏輯處理這一層用于封裝與應(yīng)用程序的業(yè)務(wù)邏輯相關(guān)的數(shù)據(jù)以及數(shù)據(jù)的處理方法。“模型”有權(quán)直接訪問數(shù)據(jù),如數(shù)據(jù)庫?!澳P汀豹毩⒂凇耙晥D”和“控制器”

56、,即模型不關(guān)心它將如何顯示或操作。然而,模型中數(shù)據(jù)的變化通常通過刷新機(jī)制發(fā)布。4.2.2數(shù)據(jù)庫連接池的配置和使用Java數(shù)據(jù)庫連接(JDBC)由一組用Java編程語言編寫的類和接口組成。它為JDBC工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)API,使他們能夠用純Java API編寫數(shù)據(jù)庫應(yīng)用程序。但是各個開發(fā)者的界面并不完全一樣,所以開發(fā)環(huán)境的變化會帶來一些配置的變化。1.Java應(yīng)用程序訪問數(shù)據(jù)庫的基本原理在Java語言中,JDBC(Java數(shù)據(jù)庫連接)是應(yīng)用程序和數(shù)據(jù)庫之間的橋梁,即Java語言通過JDBC技術(shù)訪問數(shù)據(jù)庫。它為JDBC數(shù)據(jù)庫應(yīng)用程序開發(fā)人員和數(shù)據(jù)庫前端工具開發(fā)人員提供了標(biāo)準(zhǔn)的應(yīng)用程

57、序編程接口,使開發(fā)人員可以用純Java語言編寫完整的數(shù)據(jù)庫應(yīng)用程序。JDBC提供了兩種API,即面向開發(fā)者的API和面向底層JDBC驅(qū)動的API。底層主要通過直接JDBC驅(qū)動和JDBC-ODBC橋驅(qū)動連接到數(shù)據(jù)庫。一般來說,Java應(yīng)用程序訪問數(shù)據(jù)庫的過程是:(1)加載數(shù)據(jù)庫驅(qū)動程序;(2)通過JDBC建立數(shù)據(jù)庫連接;(3)訪問數(shù)據(jù)庫并執(zhí)行SQL語句;(4)斷開數(shù)據(jù)庫。在使用JDBC開發(fā)與數(shù)據(jù)庫相關(guān)的應(yīng)用程序時,一個主要的困難是數(shù)據(jù)庫連接的管理。很多時候,連接管理混亂導(dǎo)致的系統(tǒng)資源開銷過大已經(jīng)成為制約大型企業(yè)應(yīng)用效率的瓶頸。對于大量用戶訪問的Web應(yīng)用,使用數(shù)據(jù)庫連接技術(shù)的系統(tǒng)的效率和穩(wěn)定性要

58、比使用其他傳統(tǒng)方法的系統(tǒng)好得多。2.環(huán)境配置首先,我的tomcat的安裝路徑是:C: Program Files(x86) Apache Software Foundation Tomcat 7.0;JDK的安裝路徑是:C: Program Files(x86) Java JDK 1 . 7 . 0 _ 17。然后,要添加環(huán)境變量,右擊“計算機(jī)”-屬性-高級屬性-雙擊路徑-添加“jdbc.jar的完整路徑”(我的是D: Program Files Microsoft SQL Server JDBC驅(qū)動3.0 SQL JDBC _ 3.0 SQL JDBC.jar)。配置MyEclipse打開我

59、的eclipse-window-references-Java-installed jres-選擇你的JRE-點擊編輯在右邊-添加外部jar-選擇sqljdbc4.jar保存。配置項目右鍵單擊要使用的項目名,構(gòu)建路徑-配置構(gòu)建路徑-庫選項卡-添加外部jar-選擇sqljdbc4.jar4.2.3中文亂碼中文亂碼是java程序開發(fā)中常見的問題。要徹底解決這個問題,必須對Java編碼機(jī)制及其過程有一個大致的了解。在系統(tǒng)實施過程中,徹底解決了中文亂碼問題。以下是解決方案:1.Java的部分編碼機(jī)制Java語言部門使用Unicode表示字符,完全遵循UnicodeV2.0標(biāo)準(zhǔn)。注釋、字符、標(biāo)識符等除外

60、。,Java程序中的所有輸入元素只由ASC字符或生成ASC字符的Unicode轉(zhuǎn)義序列組成。因此,在讀入字符時,字符將被轉(zhuǎn)換為Unicode字符。2.漢字編碼機(jī)制在Java中,漢字的默認(rèn)編碼方式是Unicode,而中文常用的文件和數(shù)據(jù)庫是基于GB2312或BIG5編碼的。因此,在處理中文亂碼時,要正確選擇漢字的編碼方式,正確處理漢字的編碼。英文字符用一個字節(jié)表示,最常用的編碼方式是ASCII。但是一個字節(jié)最多只能區(qū)分256個字符,而漢字有上千個,所以現(xiàn)在漢字都是用雙字節(jié)來表示。在實際項目中,經(jīng)常遇到的編碼方式有GB2312、BIG5、Unicode等。當(dāng)瀏覽器客戶端提交的信息中含有漢字時,在數(shù)

溫馨提示

  • 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

提交評論