版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要隨著計(jì)算機(jī)技術(shù)的快速,當(dāng)今社會(huì)越來(lái)越多的人重視網(wǎng)絡(luò)文化。注重自己的網(wǎng)絡(luò)虛擬空間,需要有自己的一片天地,去表達(dá)自己的想法,分享自己的快樂(lè),由于這個(gè)前提,個(gè)人空間信息系統(tǒng)應(yīng)運(yùn)而生。本系統(tǒng)是一個(gè)為適應(yīng)當(dāng)前個(gè)人迫切需求而設(shè)計(jì)開(kāi)發(fā)的軟件系統(tǒng),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和前端頁(yè)面開(kāi)發(fā)兩個(gè)方面。經(jīng)過(guò)分析,本系統(tǒng)使用MYSQL做為其后臺(tái)數(shù)據(jù)庫(kù),采用連接池技術(shù);Eclipse做為開(kāi)發(fā)工具,系統(tǒng)主要實(shí)現(xiàn)的功能包括:文章檢索查詢管理模塊、相冊(cè)管理模塊、用戶基本信息管理模塊等,完成對(duì)個(gè)人空間的基本需求。關(guān)鍵字:個(gè)人空間,MYSQLAbstractWithcomputertechnologyrapidly,moreandmorepeopleintoday'ssocietyattentionnetworkculture.Payattentiontotheirownvirtualspace,tohaveitsownplaceintheworld,toexpresstheirideas,sharetheirhappiness,becauseofthispremise,personalspatialinformationsystemcameintobeing.
Thesystemisapressingneedtoadapttothecurrentindividualdesignanddevelopmentofsoftwaresystems,whichmainlyincludestheestablishmentofdatabaseanddevelopmentoftwoaspectsofthefrontpage.Afteranalysis,thesystemusesMYSQLasitsbackenddatabase,theuseofconnectionpooltechnology;Eclipseasadevelopmenttoolsystemismainlyimplementedfeaturesinclude:articlessearchquerymanagementmodule,photoalbummanagementmodule,theuserbasicinformationmanagementmodule,completethebasicneedsofpersonalspace.Keyword:personalspace,MYSQL目錄1緒論11.1項(xiàng)目開(kāi)發(fā)的背景11.2項(xiàng)目開(kāi)發(fā)的目的與意義11.3論文內(nèi)容綜述22相關(guān)開(kāi)發(fā)工具簡(jiǎn)介22.1概述32.2JAVA語(yǔ)言基本知識(shí)3語(yǔ)言簡(jiǎn)介3語(yǔ)言的特點(diǎn)32.2.3JSP基礎(chǔ)4基礎(chǔ)4基礎(chǔ)52.3MySQL數(shù)據(jù)庫(kù)6數(shù)據(jù)庫(kù)簡(jiǎn)介6MySQL數(shù)據(jù)庫(kù)的特性72.4基于B/S的WEB應(yīng)用體系結(jié)構(gòu)7傳統(tǒng)的兩層體系結(jié)構(gòu)7三層體系結(jié)構(gòu)7網(wǎng)站開(kāi)發(fā)模式82.5開(kāi)發(fā)平臺(tái)9簡(jiǎn)介9簡(jiǎn)介92.6MVC設(shè)計(jì)模式93系統(tǒng)分析階段113.1可行性分析11經(jīng)濟(jì)可行性分析11技術(shù)可行性分析11法律可行性分析11操作可行性分析113.2需求分析12系統(tǒng)功能需求分析123.2.2系統(tǒng)性能需求分析124系統(tǒng)設(shè)計(jì)階段134.1系統(tǒng)的流程圖144.2總體結(jié)構(gòu)確定144.3數(shù)據(jù)庫(kù)的設(shè)計(jì)155詳細(xì)設(shè)計(jì)和編碼實(shí)現(xiàn)階段175.1用戶登錄模塊的設(shè)計(jì)175.2系統(tǒng)前臺(tái)界面的設(shè)計(jì)185.3系統(tǒng)后臺(tái)界面的設(shè)計(jì)195.4文章檢索查詢管理模塊205.5相冊(cè)管理模塊的設(shè)計(jì)215.6用戶基本信息管理界面設(shè)計(jì)225.7公告信息管理的設(shè)計(jì)265.8投票信息管理界面的設(shè)計(jì)265.9數(shù)據(jù)庫(kù)連接的設(shè)計(jì)266系統(tǒng)測(cè)試階段276.1測(cè)試的目的286.2軟件測(cè)試的方法286.3測(cè)試的步驟28結(jié)束語(yǔ)28致謝30參考文獻(xiàn)31附錄部分源代碼47緒論項(xiàng)目開(kāi)發(fā)的背景當(dāng)今時(shí)代作為青少年都主張自由表達(dá)、開(kāi)放寬容、個(gè)性張揚(yáng)、專業(yè)精神。在沒(méi)有一個(gè)屬于自己的空間信息之前,人們會(huì)經(jīng)常進(jìn)出于論壇發(fā)表貼子或者通過(guò)即時(shí)通信軟件聊天,來(lái)表達(dá)自已的想法,可是這些都是零散的和雜亂的。一些空間網(wǎng)頁(yè)的出現(xiàn),讓人們可以不斷的把自己以前的和每天激發(fā)的一些想法或者感受整理放在屬于自己的空間上面,每次在寫(xiě)文章的時(shí)候,可能又會(huì)產(chǎn)生新的想法。雖然一些想法一些思考只是皮毛,沒(méi)有什么深度,但是當(dāng)下筆去寫(xiě)的時(shí)候每次都會(huì)對(duì)某個(gè)小小的問(wèn)題有了更多的一點(diǎn)點(diǎn)思考,再寫(xiě)文章的時(shí)候就感覺(jué)到了一種滿足感,一種想法得以釋放思考得以延伸的滿足感。生活中每天的一個(gè)小小的事情都會(huì)引起人們的思考,甚至是和朋友的聊天中一個(gè)小小的火花迸發(fā)。督促自己努力、把一時(shí)的想法變成觀點(diǎn),爭(zhēng)取在生命中的每天里留下點(diǎn)什么,這也是人們寫(xiě)日志的目的之一。這樣就能督促自己每一天不要渾渾噩噩,時(shí)光流逝無(wú)痕無(wú)聲無(wú)息,寫(xiě)日志也是在自己的每一天上留下了一道淺淺的思考和劃痕,所以這些展現(xiàn)自己的信息網(wǎng)站得以發(fā)展。不僅如此,通過(guò)寫(xiě)信息、記錄自己的想法可以幫助實(shí)現(xiàn)如下這些目(記錄生活,在自己的每一天上留下思考的劃痕、整理思路,固化知識(shí),獲得更多更好的想法、分享,將自己的想法、經(jīng)驗(yàn)與人分享、交流、提高,通過(guò)交流產(chǎn)生更多的思維火花,相互提高、交友,互相鼓勵(lì),一路同行)如果說(shuō)這些網(wǎng)站是一個(gè)舞臺(tái),那么所有的成員都是其中的舞者,把自己有價(jià)值的真實(shí)的一面展示在網(wǎng)絡(luò)世界中,相互交流溝通;如果這些信息網(wǎng)站僅僅為了寫(xiě)日志,那么它就是一面鏡子,鏡子中展現(xiàn)的是真實(shí)的自己;如果這些信息是一個(gè)自由媒體,可以把自身感覺(jué)有價(jià)值的信息通過(guò)這個(gè)工具發(fā)布,與網(wǎng)友共享。項(xiàng)目開(kāi)發(fā)的目的與意義隨著中國(guó)網(wǎng)民人數(shù)的增加,個(gè)人空間作為一種新的生活方式、新的工作方式和新的學(xué)習(xí)方式已經(jīng)被越來(lái)越多的人所接受,并且在改變傳統(tǒng)的網(wǎng)絡(luò)和社會(huì)結(jié)構(gòu)。它使交流和溝通更有明確的選擇和方向性;單一的思想和群體的智慧結(jié)合變得更加有效;個(gè)人出版變成人人都可以實(shí)現(xiàn)的夢(mèng)想??臻g正在影響和改變著我們的生活。本系統(tǒng)采用MVC模式設(shè)計(jì)實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的信息空間系統(tǒng)。MVC模式極大地提高了系統(tǒng)的靈活性、復(fù)用性、開(kāi)發(fā)效率、適應(yīng)性和可維護(hù)性,充分發(fā)揮了JSP、Servlet等J2EE組件的特點(diǎn)。從而,使更多的人們通過(guò)文字、圖片等,盡情展示自我、分享感受、參與交流,美好你我生活。Showyou,shareme,人人都可以展示,人人都需要網(wǎng)上屬于自己的一片空間。現(xiàn)在的個(gè)人空間網(wǎng)站的主要特點(diǎn):首先空間屬于個(gè)人所有,是自發(fā)建立和非正式的建設(shè)??臻g不需要作網(wǎng)站的專業(yè)知識(shí),可以像發(fā)郵件一樣簡(jiǎn)單地實(shí)現(xiàn)博客網(wǎng)頁(yè)的呈現(xiàn)。技術(shù)的極度簡(jiǎn)化,包括架構(gòu)和申請(qǐng)空間網(wǎng)站、編輯、上傳和修改內(nèi)容等。其次任何一個(gè)人都可以像申請(qǐng)免費(fèi)郵件般免費(fèi)申請(qǐng)自己的空間網(wǎng)站。不需要注冊(cè)域名的成本,不需要租用服務(wù)器空間的成本,不需要許多軟件工具的成本。與個(gè)人主頁(yè)相比較,空間是使用方便的、交互性強(qiáng)。與傳統(tǒng)的電子郵件、BBS這兩種互聯(lián)網(wǎng)溝通方式相比,個(gè)人空間是一種較嚴(yán)肅的溝通平臺(tái)。BBS公共匿名性很強(qiáng),而個(gè)人性很弱,因此缺乏約束。電子郵件是多用于個(gè)人間的通訊,而個(gè)人空間是個(gè)人性和公共性的結(jié)合。個(gè)人空間是個(gè)人在網(wǎng)上展示自己、與別人溝通交流的綜合平臺(tái),它的管理比BBS簡(jiǎn)單的多。論文內(nèi)容綜述本論文主要從以下方面對(duì)項(xiàng)目進(jìn)行了說(shuō)明:(1)介紹了相關(guān)開(kāi)發(fā)工具以及各開(kāi)發(fā)工具的特點(diǎn);(2)系統(tǒng)可行性研究與分析,并做出總體設(shè)計(jì)框架;(3)詳細(xì)設(shè)計(jì)實(shí)現(xiàn)文章檢索查詢管理、相冊(cè)管理、用戶基本信息管理等功能;(4)分析并解決實(shí)現(xiàn)中的若干技術(shù)問(wèn)題;(5)完成完整的個(gè)人空間信息的設(shè)計(jì),完成系統(tǒng)測(cè)試;相關(guān)開(kāi)發(fā)工具簡(jiǎn)介概述此個(gè)人空間信息管理系統(tǒng)主要是以JAVA為開(kāi)發(fā)語(yǔ)言,以MYSQL為數(shù)據(jù)庫(kù),用JSP實(shí)現(xiàn)的一個(gè)完全基于瀏覽器的系統(tǒng),以下是本系統(tǒng)開(kāi)發(fā)工具的介紹。JAVA語(yǔ)言基本知識(shí)JAVA語(yǔ)言簡(jiǎn)介在Java出現(xiàn)以前。Internet上的信息內(nèi)容都是一些乏味死板的HTML文檔。這對(duì)于那些迷戀于WEB瀏覽的人們來(lái)說(shuō)簡(jiǎn)直不可容忍。他們迫切希望能在WEN中看到一些交互式的內(nèi)容,開(kāi)發(fā)人員也極希望能夠在WEB上創(chuàng)建一類無(wú)需考慮軟硬件平臺(tái)就可以執(zhí)行的應(yīng)用程序,當(dāng)然這些程序還要有極大的安全保障。對(duì)于用戶的這種要求,傳統(tǒng)的編程語(yǔ)言顯得無(wú)能為力,面SUN的工程師敏銳地察覺(jué)到了這一點(diǎn),從1994年起,他們開(kāi)始將OAK技術(shù)應(yīng)用于WEB上,并且開(kāi)發(fā)出了HotJava的第一個(gè)版本。當(dāng)SUN公司1995年正式以Java這個(gè)名字推出的時(shí)候,幾乎所有的WEB開(kāi)發(fā)人員都想到:噢,這正是我想要的。于是Java成了一顆耀眼的明星,丑小鴨一下了變成了白天鵝。JAVA語(yǔ)言的特點(diǎn)面向?qū)ο螅浩鋵?shí)是現(xiàn)實(shí)世界模型的自然延伸?,F(xiàn)實(shí)世界中任何實(shí)體都可以看作是對(duì)象。對(duì)象之間通過(guò)消息相互作用。另外,現(xiàn)實(shí)世界中任何實(shí)體都可歸屬于某類事物,任何對(duì)象都是某一類事物的實(shí)例。如果說(shuō)傳統(tǒng)的過(guò)程式編程語(yǔ)言是以過(guò)程為中心以算法為驅(qū)動(dòng)的話,面向?qū)ο蟮木幊陶Z(yǔ)言則是以對(duì)象為中心以消息為驅(qū)動(dòng)。用公式表示,過(guò)程式編程語(yǔ)言為:程序=算法+數(shù)據(jù);面向?qū)ο缶幊陶Z(yǔ)言為:程序=對(duì)象+消息。所有面向?qū)ο缶幊陶Z(yǔ)言都支持三個(gè)概念:封裝、多態(tài)性和繼承,Java也不例外?,F(xiàn)實(shí)世界中的對(duì)象均有屬性和行為,映射到計(jì)算機(jī)程序上,屬性則表示對(duì)象的數(shù)據(jù),行為表示對(duì)象的方法(其作用是處理數(shù)據(jù)或同外界交互)。所謂封裝,就是用一個(gè)自主式框架把對(duì)象的數(shù)據(jù)和方法聯(lián)在一起形成一個(gè)整體??梢哉f(shuō),對(duì)象是支持封裝的手段,是封裝的基本單位。Java語(yǔ)言的封裝性較強(qiáng),因?yàn)镴ava無(wú)全程變量,無(wú)主函數(shù),在Java中絕大部分成員是對(duì)象,只有簡(jiǎn)單的數(shù)字類型、字符類型和布爾類型除外。而對(duì)于這些類型,Java也提供了相應(yīng)的對(duì)象類型以便與其他對(duì)象交互操作??梢浦残裕壕褪窃谶@個(gè)系統(tǒng)上作的程序經(jīng)過(guò)一次編譯后可以移植到別的系統(tǒng)上解釋執(zhí)行,只要經(jīng)過(guò)簡(jiǎn)單的粘貼和復(fù)制就行了,不影響程序的效果安全性:在iSeries服務(wù)器上運(yùn)行的大多數(shù)Java(TM)程序是應(yīng)用程序,而不是applet,所以“砂箱”安全性模型對(duì)它們不起限制作用。從安全性的觀點(diǎn)看,Java應(yīng)用程序所受的安全性限制與iSeries服務(wù)器上的任何其它程序相同。要在iSeries服務(wù)器上運(yùn)行Java程序,您必須對(duì)集成文件系統(tǒng)中的類文件具有權(quán)限。程序一旦啟動(dòng),它就在該用戶權(quán)限控制下運(yùn)行。您可以使用沿用權(quán)限來(lái)訪問(wèn)具有運(yùn)行程序的用戶的權(quán)限和程序擁有者權(quán)限的對(duì)象。沿用權(quán)限臨時(shí)地將用戶原先無(wú)權(quán)訪問(wèn)的對(duì)象的權(quán)限授予用戶。JSP基礎(chǔ)JSP即JavaServerPages,是由SunMicrosystem公司于1996年6月推出的新技術(shù),是基于JavaServlet以及整個(gè)Java體系的Web開(kāi)發(fā)技術(shù)。JSP已經(jīng)成為開(kāi)發(fā)Web動(dòng)態(tài)網(wǎng)頁(yè)重要、快速和有效的工具,是全新的網(wǎng)絡(luò)服務(wù)器編程環(huán)境。JSP充分利用了Java的強(qiáng)大功能,是一種優(yōu)秀的服務(wù)器端技術(shù)。隨著Java技術(shù)的日益成熟和流行,JSP在網(wǎng)絡(luò)編程中也變得越來(lái)越重要。JSP基于強(qiáng)大的Java語(yǔ)言,具有極強(qiáng)的擴(kuò)展能力,良好的收縮性,以及與平臺(tái)無(wú)關(guān)的開(kāi)發(fā)特性,成為構(gòu)建動(dòng)態(tài)網(wǎng)站的主流技術(shù)之一,JSP有著其他技術(shù)所不具備的優(yōu)勢(shì)。其優(yōu)勢(shì)在于:可以將內(nèi)容的生成和顯示進(jìn)行分離、生成可重用的組件、采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開(kāi)發(fā)。JSP能提供所有Servlet的功能。Servlet基礎(chǔ)Servlet是Java編寫(xiě)的服務(wù)器端程序,是由服務(wù)器端執(zhí)行和調(diào)用的Java類。Servlet是采用Java技術(shù)來(lái)實(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)求。圖2.1Servlet工作流程圖d)服務(wù)器將響應(yīng)信息返回至客戶端JavaBean基礎(chǔ)JSP的一大特點(diǎn)就是與JavaBeans的結(jié)合,而JSP與JavaBeans結(jié)合的一個(gè)突出的優(yōu)點(diǎn)是頁(yè)面顯示和業(yè)務(wù)邏輯的分離。這可以使團(tuán)隊(duì)協(xié)作的更好,開(kāi)發(fā)出更高質(zhì)量的站點(diǎn)。JavaBean是一種可以重用的Java組件,在JSP程序中常用來(lái)封裝事物邏輯、數(shù)據(jù)庫(kù)操作等,可以很好的實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺(tái)程序的分離,使得系統(tǒng)具有更好的健壯性和靈活性。事件處理是JavaBeans體系結(jié)構(gòu)的核心之一。通過(guò)事件處理機(jī)智,可以讓一些組件作為事件源,發(fā)出可被描述環(huán)境或其他組件接受的事件。這樣,不同的組件就可在構(gòu)造工具內(nèi)組合在一起,組件之間通過(guò)事件的傳遞進(jìn)行通信,構(gòu)成一個(gè)應(yīng)用。從概念上講,事件是一種在“源對(duì)象”和“監(jiān)聽(tīng)對(duì)象”之間、某種狀態(tài)發(fā)生變化的傳遞機(jī)智。事件有許多不同的用途,如:鼠標(biāo)事件、窗口邊界改變事件、鍵盤(pán)事件等。在Java和JavaBeans中則是定義了一個(gè)一般的、可擴(kuò)充的事件機(jī)制,它能夠:1).對(duì)事件類型和傳遞模型的定義和擴(kuò)充提供一個(gè)公共框架,并適合于廣泛的應(yīng)用。2).與Java語(yǔ)言和環(huán)境有較高的集成度。事件能描述環(huán)境捕獲和被激發(fā)。能使其他構(gòu)造工具采取某種技術(shù)在設(shè)計(jì)時(shí)直接控制事件,遺跡控制事件源和事件監(jiān)聽(tīng)者之間的聯(lián)系。事件本身不依賴于復(fù)雜的開(kāi)發(fā)工具。特別的,事件機(jī)制還應(yīng)當(dāng):1).能夠發(fā)現(xiàn)制定的對(duì)象類可以生成的事件。2).能夠發(fā)現(xiàn)制定的對(duì)象類可以觀察監(jiān)聽(tīng)到的事件。3).提供一個(gè)常規(guī)的注冊(cè)機(jī)制,允許動(dòng)態(tài)操縱事件源與事件監(jiān)聽(tīng)者之間的關(guān)系。4).不需要其他的虛擬機(jī)和語(yǔ)言即可實(shí)現(xiàn)。5).事件源與監(jiān)聽(tīng)者之間可進(jìn)行高效的事件傳遞。6).能完成JavaBean事件模型與相關(guān)的其他組件體系結(jié)構(gòu)事件模型的中立映射。JSP和ASP.NET同樣是網(wǎng)站開(kāi)發(fā)中常用的開(kāi)發(fā)工具。但是,ASP是微軟的產(chǎn)品,其應(yīng)用只能是在Windows平臺(tái)上,移植性差,而且以源代碼的形式存放在服務(wù)器端,安全性差。每次由服務(wù)器解釋運(yùn)行,運(yùn)行效率不高。Jsp頁(yè)面文件執(zhí)行時(shí)被編譯成字節(jié)代碼,由客戶端流覽的Java虛擬機(jī)解釋執(zhí)行,不再是源代碼,因此執(zhí)行效率和安全性高。將數(shù)據(jù)庫(kù)連接的重要信息存放在JavaBean文件后,可以編譯成虛擬機(jī)才能解釋的字節(jié)代碼,確保了數(shù)據(jù)庫(kù)的安全。在ASP技術(shù)里,通過(guò)Web頁(yè)面要實(shí)現(xiàn)一些特定的功能比較困難,比如基于網(wǎng)頁(yè)的報(bào)表,打印實(shí)現(xiàn)起來(lái)就比較麻煩。ASP提供的解決方案是自己開(kāi)發(fā)組件,通過(guò)在服務(wù)器端注冊(cè)組件,成為獨(dú)立的可以重復(fù)利用的模塊供讀者調(diào)用。因此要求讀者需要掌握比較復(fù)雜的變成語(yǔ)言的開(kāi)發(fā)技術(shù)。在JSP開(kāi)發(fā)技術(shù)里,可以通過(guò)開(kāi)發(fā)JavaBean文件實(shí)現(xiàn)同樣的功能,JavaBean不需要注冊(cè),只要放置在相應(yīng)的目錄下就可以運(yùn)行??梢詫?shí)現(xiàn)ASP的COM組件同樣的功能。此外JSP推出主要就是考慮到平臺(tái)的無(wú)關(guān)性。JSP代碼可以在APACHE、IIS等服務(wù)器上執(zhí)行,支持大部分操作系統(tǒng)。JSP繼承JAVA技術(shù)的優(yōu)點(diǎn):一次運(yùn)行,處處運(yùn)行。MySQL數(shù)據(jù)庫(kù)MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介MySQL是一個(gè)快速的、多線程、多用戶和健壯的SQL數(shù)據(jù)庫(kù)服務(wù)器。MySQL服務(wù)器支持關(guān)鍵任務(wù)、重負(fù)載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個(gè)大配置(mass-deployed)的軟件中去。MySQL是一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng):一個(gè)數(shù)據(jù)庫(kù)是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合。它可以是從一個(gè)簡(jiǎn)單的銷售表到一個(gè)美術(shù)館、或者一個(gè)社團(tuán)網(wǎng)絡(luò)的龐大的信息集合。MySQL是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng):關(guān)系數(shù)據(jù)庫(kù)把數(shù)據(jù)存放在分立的表格中,這比把所有數(shù)據(jù)存放在一個(gè)大倉(cāng)庫(kù)中要好得多,這樣做將增加你的速度和靈活性。MySQL是開(kāi)源的:開(kāi)源意味著任何人都可以使用和修改該軟件,任何人都可以從Internet上下載和使用MySQL而不需要支付任何費(fèi)用。如果你愿意,你可以研究其源代碼,并根據(jù)你的需要修改它。MySQL服務(wù)器原本就是開(kāi)發(fā)比已存在的數(shù)據(jù)庫(kù)更快的用于處理大的數(shù)據(jù)庫(kù)的解決方案,并且已經(jīng)成功用于高苛刻生產(chǎn)環(huán)境多年。盡管MySQL仍在開(kāi)發(fā)中,但它已經(jīng)提供一個(gè)豐富和極其有用的功能集。它的連接性、速度和安全性使MySQL非常適合訪問(wèn)在Internet上的數(shù)據(jù)庫(kù)。MySQL數(shù)據(jù)庫(kù)的特性1.使用C和C++編寫(xiě),并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多種操作系統(tǒng)3.為多種編程語(yǔ)言提供了API。這些編程語(yǔ)言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4.支持多線程,充分利用CPU資源5.優(yōu)化的SQL查詢算法,有效地提高查詢速度6.既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫(kù)而嵌入到其他的軟件中提供多語(yǔ)言支持,常見(jiàn)的編碼如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名7.提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具9.可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)MySQL名字的來(lái)歷MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQLAB公司,在2008年1月16號(hào)被Sun公司收購(gòu)。MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中?;贐/S的WEB應(yīng)用體系結(jié)構(gòu)傳統(tǒng)的兩層體系結(jié)構(gòu)在Web發(fā)展的初期,Web應(yīng)用主要是通過(guò)靜態(tài)頁(yè)面在Internet上發(fā)布信息。用戶通過(guò)瀏覽器向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器接收用戶端的請(qǐng)求,向客戶端瀏覽器發(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)有交互。三層體系結(jié)構(gòu)三層體系結(jié)構(gòu)圖如圖2.2所示。CGI,ASP,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)圖2.2三層體系結(jié)構(gòu)圖求進(jìn)行分析,如果請(qǐng)求是靜態(tài)頁(yè)面,那么就將所請(qǐng)求的頁(yè)面發(fā)送到客戶端;如果請(qǐng)求的是動(dòng)態(tài)頁(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ù)器之間的交互性。JSP網(wǎng)站開(kāi)發(fā)模式目前,JSP技術(shù)已經(jīng)成為一種受大多數(shù)大型企業(yè)或中小型企業(yè)喜愛(ài)的動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。越來(lái)越多的技術(shù)人員也逐步成為JSP技術(shù)的推崇者。JSP技術(shù)正是利用了Java的“一次開(kāi)發(fā),處處使用”的性能,成為了網(wǎng)站開(kāi)發(fā)技術(shù)人員的首選技術(shù)。當(dāng)然,JSP技術(shù)的最大優(yōu)勢(shì)在于能夠?qū)㈨?yè)面的表現(xiàn)形式和頁(yè)面的商業(yè)邏輯分開(kāi)。JSP網(wǎng)站開(kāi)發(fā)技術(shù)標(biāo)準(zhǔn)提供了兩種開(kāi)發(fā)模式:一種是JSP+JavaBean開(kāi)發(fā)模式;一種是JSP+Servlet+JavaBean開(kāi)發(fā)模式[8,9]。JSP+JavaBean模型圖如圖2.3所示。圖2.3JSP+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ū)⒆兊卯惓?fù)雜給開(kāi)發(fā)和維護(hù)帶來(lái)困難。JSP+Servlet+JavaBean模型圖如圖2.4所示。圖2.4JSP+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ō):第二種模式要好些,更適合于團(tuán)隊(duì)開(kāi)發(fā),速度相對(duì)較慢,但是可維護(hù)性高。開(kāi)發(fā)平臺(tái)Eclipse簡(jiǎn)介Eclipse最初由OTI和IBM兩家公司的IDE產(chǎn)品開(kāi)發(fā)組創(chuàng)建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎(chǔ),包括Platform、JDT和PDE。Eclipse是一個(gè)開(kāi)放源代碼的軟件開(kāi)發(fā)項(xiàng)目,專注于為高度集成的工具開(kāi)發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成。Tomcat簡(jiǎn)介如今,基于Web的應(yīng)用越來(lái)越多,傳統(tǒng)的Html已經(jīng)滿足不了如今的需求。因此需要一個(gè)交互式的Web,于是便誕生了各種Web語(yǔ)言。如Asp,Jsp,Php等。當(dāng)然,這些語(yǔ)言與傳統(tǒng)的語(yǔ)言有著密切的聯(lián)系,如Php基于C和C++語(yǔ)言,Jsp基于Java語(yǔ)言。Tomcat即是一個(gè)Jsp和Servlet的運(yùn)行平臺(tái)。Tomcat是一個(gè)免費(fèi)的開(kāi)源的Serlvet容器,是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache,Sun和其它一些公司及個(gè)人共同開(kāi)發(fā)而成。MVC設(shè)計(jì)模式MVC模式的基本形式圖如圖2.5所示。圖2.5MVC模式的基本形式圖MVC(Model-View-Controller)模式并不是J2EE行業(yè)人士標(biāo)新立異的。MVC的核心就是要做到三級(jí)甚至多級(jí)的松散耦合,MVC模式將系統(tǒng)分為三個(gè)部分,分別是數(shù)據(jù)模型、視圖和控制器,并定義了這三個(gè)部分之間實(shí)現(xiàn)通信的一種模式,使每個(gè)部分不必卷入到其他部分的狀態(tài)表示和方法實(shí)現(xiàn)的細(xì)節(jié)中去。每個(gè)部分有自己的數(shù)據(jù)管理規(guī)則,各個(gè)對(duì)象之間的通信只能使用自己定義的一個(gè)受限連接集合進(jìn)行。保持這種分離性通常是面向?qū)ο缶幊毯驮O(shè)計(jì)要追求的目標(biāo),讓各個(gè)對(duì)象只需專注于自己的事務(wù)。模型部分代表了商業(yè)數(shù)據(jù)的訪問(wèn)及修改數(shù)據(jù)的操作。當(dāng)數(shù)據(jù)發(fā)生改變時(shí),要負(fù)責(zé)通知視圖部分,并且提供視圖查詢狀態(tài)的能力。另外,還向控制部分提供應(yīng)用功能。視圖部分以自己的方式顯示模型的內(nèi)容。訪問(wèn)模型的數(shù)據(jù),并且當(dāng)模型的數(shù)據(jù)發(fā)生變化時(shí)更新模型的顯示。視圖還把從用戶那里得到的信息傳給控制部分。控制部分定義了應(yīng)用的行為。分發(fā)用戶請(qǐng)求和選擇表現(xiàn)視圖,還負(fù)責(zé)解釋用戶輸入,進(jìn)而調(diào)用模型的功能。在Web應(yīng)用中,用戶輸入包括對(duì)Web級(jí)資源的HTTP、GET和POST請(qǐng)求??刂撇糠指鶕?jù)用戶交互和模型的狀態(tài)選擇要顯示的視圖。一個(gè)應(yīng)用程序一般為相關(guān)的功能選擇一個(gè)控制部分。系統(tǒng)分析階段可行性分析可行性分析是在進(jìn)行初步調(diào)查后所進(jìn)行的對(duì)系統(tǒng)開(kāi)發(fā)必要性和可能性的研究,所以也稱為可行性研究。信息系統(tǒng)也應(yīng)從技術(shù)可行性,經(jīng)濟(jì)可行性、法律可行性和操作可行性四方面來(lái)論證。通過(guò)長(zhǎng)時(shí)間的觀察與實(shí)踐,我認(rèn)為信息空間的可行性如下:經(jīng)濟(jì)可行性分析作為空間這樣的商業(yè)性質(zhì)較小的場(chǎng)所,其經(jīng)濟(jì)成分比重相對(duì)較少,主要是支出的費(fèi)用:其中包括設(shè)備購(gòu)置費(fèi)、軟件開(kāi)發(fā)費(fèi)用、管理和維護(hù)費(fèi)等。由于經(jīng)濟(jì)的快速發(fā)展,計(jì)算機(jī)已經(jīng)越來(lái)越普及,該系統(tǒng)使用普通的計(jì)算機(jī)就可以對(duì)其管理,所以成本低。該系統(tǒng)采用的是java和mysql進(jìn)行開(kāi)發(fā)的,所以在系統(tǒng)開(kāi)發(fā)上需要的費(fèi)用低,對(duì)硬件的要求低,最后,對(duì)于該系統(tǒng)如何運(yùn)行,只需要對(duì)使用的人員進(jìn)行簡(jiǎn)單的培訓(xùn)即可、綜上所述,該系統(tǒng)在經(jīng)濟(jì)上是可行的。技術(shù)可行性分析技術(shù)上的可行性分析主要分析現(xiàn)有技術(shù)條件能否順利完成開(kāi)發(fā)工作。本系統(tǒng)采用的開(kāi)發(fā)工具是JAVA和mysql,首先JAVA不受平臺(tái)的限制,可以使用于不同的操作系統(tǒng),所以用JAVA開(kāi)發(fā)是方便而又安全的,用此開(kāi)發(fā)工具開(kāi)發(fā)出的系統(tǒng)在現(xiàn)有的操作系統(tǒng)上運(yùn)行時(shí)性能穩(wěn)定,給該軟件的使用者提供了安全保障。其次,JAVA是面向?qū)ο蟮模嫦驅(qū)ο缶幊痰淖畲髢?yōu)點(diǎn)是可以通過(guò)軟件的重用來(lái)提高軟件的生產(chǎn)率,所以用JAVA作為編程語(yǔ)言進(jìn)行開(kāi)發(fā),軟件的開(kāi)發(fā)效率高,大大縮小了軟件的開(kāi)發(fā)時(shí)間。此系統(tǒng)開(kāi)發(fā)所使用的開(kāi)發(fā)工具保障了系統(tǒng)的開(kāi)發(fā)效率和系統(tǒng)的安全性,因此,此系統(tǒng)的開(kāi)發(fā)在技術(shù)上是可行的。法律可行性分析當(dāng)前項(xiàng)目的開(kāi)發(fā)沒(méi)有違反國(guó)家相關(guān)法律,并且沒(méi)有對(duì)他人的知識(shí)產(chǎn)權(quán)構(gòu)成威脅,因此在法律上是可行的。操作可行性分析項(xiàng)目的開(kāi)發(fā)完全按照客戶方的要求來(lái)定制,完成所需要的每個(gè)功能,模塊簡(jiǎn)單但功能完善,并且操作界面比較友好、操作方便,代碼完全按照代碼規(guī)范來(lái)編寫(xiě),可擴(kuò)充性強(qiáng)。同時(shí),結(jié)合最流行的基于瀏覽器的數(shù)據(jù)管理模式,建議采用基于組件技術(shù)的B/S(brower/server)系統(tǒng)結(jié)構(gòu)。需求分析系統(tǒng)功能需求分析在計(jì)算機(jī)網(wǎng)絡(luò),數(shù)據(jù)庫(kù)和先進(jìn)的開(kāi)發(fā)平臺(tái)上,利用現(xiàn)有的軟件,配置一定的硬件,開(kāi)發(fā)一個(gè)具有開(kāi)放體系結(jié)構(gòu)的、易擴(kuò)充的、易維護(hù)的、具有良好人機(jī)交互界面的個(gè)人空間網(wǎng)站,為網(wǎng)絡(luò)用戶提供進(jìn)行在線分享、交流的網(wǎng)絡(luò)平臺(tái)。通過(guò)個(gè)人空間網(wǎng)站可以結(jié)交更多的朋友,表達(dá)更多的想法,它隨時(shí)可以發(fā)布文章。具體的要求如下:1).會(huì)員可以簡(jiǎn)單的添加和刪除文章;2).獨(dú)立于具體的數(shù)據(jù)庫(kù)平臺(tái)。對(duì)于與數(shù)據(jù)庫(kù)交互的部分充分考慮兼容性;3).容易在原先基礎(chǔ)上進(jìn)行二次開(kāi)發(fā);4).中間基礎(chǔ)平臺(tái)的無(wú)型性。盡量采用開(kāi)放的標(biāo)準(zhǔn)技術(shù),達(dá)到跨平臺(tái)運(yùn)行的效果;為了達(dá)到以上的開(kāi)發(fā)目的,個(gè)人空間網(wǎng)站應(yīng)遵循一定的設(shè)計(jì)和開(kāi)發(fā)與原則:1).模塊接口定義清晰;2).基礎(chǔ)類庫(kù)和接口設(shè)計(jì)合理,盡量建立可以擴(kuò)展的接口和抽象類;3).數(shù)據(jù)庫(kù)操作使用標(biāo)準(zhǔn)SQL語(yǔ)句,如果一定要使用有差別的SQL語(yǔ)句,則盡量集中在一起,定義一個(gè)工具類,以減少將來(lái)維護(hù)和移植的難度;4).采用開(kāi)放的標(biāo)準(zhǔn)和工具等;系統(tǒng)性能需求分析主要特性:1).多樣性:個(gè)人空間網(wǎng)站在設(shè)計(jì)時(shí)必須遵循的一個(gè)重要原則,就是以用戶為系統(tǒng)設(shè)計(jì)的中心。網(wǎng)絡(luò)的發(fā)展大大降低了信息咨詢的成本,用戶面臨更多的選擇,所以,個(gè)人空間網(wǎng)站除了降低成本以外,還必須在皮膚,功能的多樣性上下工夫,才能夠得到用戶的認(rèn)可。具體來(lái)說(shuō),應(yīng)用系統(tǒng)應(yīng)能實(shí)現(xiàn)用戶特定的需求,操作界面友好、方便,功能設(shè)置符合用戶的習(xí)慣和要求。2).易維護(hù):管理員能夠簡(jiǎn)單方便地管理系統(tǒng),定義新的應(yīng)用,并對(duì)系統(tǒng)進(jìn)行日常維護(hù);隨著個(gè)人空間網(wǎng)站信息的變更或增加、數(shù)據(jù)規(guī)模的增大,系統(tǒng)升級(jí)、維護(hù)應(yīng)易于操作;各子系統(tǒng)、功能模塊的設(shè)計(jì)應(yīng)具有良好的靈活性,保證在個(gè)人空間網(wǎng)站系統(tǒng)建設(shè)過(guò)程中后期系統(tǒng)功能的實(shí)現(xiàn)不影響前期已投入使用的系統(tǒng)功能。3).安全性:系統(tǒng)應(yīng)充分考慮信息、設(shè)備、運(yùn)行和管理的安全性,建立完善的多層次的安全保障體系,保證用戶的個(gè)人信息等資料的數(shù)據(jù)安全。4).可擴(kuò)展:個(gè)人空間網(wǎng)站的用戶從事著各種行業(yè),他們的需求各不相同,系統(tǒng)在設(shè)計(jì)時(shí)應(yīng)充分考慮到用戶需求不斷變化的需要,降低系統(tǒng)在擴(kuò)展新的業(yè)務(wù)功能時(shí)的復(fù)雜度。系統(tǒng)設(shè)計(jì)階段系統(tǒng)的流程圖前臺(tái):后臺(tái):總體結(jié)構(gòu)確定1.博客注冊(cè)登錄管理本模塊實(shí)現(xiàn)新用戶注冊(cè),登錄功能。其中,注冊(cè)新用戶時(shí)會(huì)對(duì)用戶輸入的注冊(cè)信息進(jìn)行有效的驗(yàn)證,包括基本數(shù)據(jù)格式的有效性,以及邏輯有效性,例如:用戶名被占用時(shí)給出提示。注冊(cè)成功登錄時(shí)會(huì)對(duì)會(huì)員輸入的信息進(jìn)行提示,如用戶名、密碼錯(cuò)誤。同時(shí)在注冊(cè)時(shí)還用到了驗(yàn)證碼技術(shù),防止惡意注冊(cè)!2.會(huì)員文章查詢顯示管理本模塊用于幫助網(wǎng)絡(luò)用戶快速定位到自己關(guān)注的頁(yè)面及對(duì)應(yīng)的文章信息中。在本模塊中提供了最新文章推薦。3.發(fā)表文章管理該模塊實(shí)現(xiàn)了會(huì)員發(fā)表新文章的功能。會(huì)員發(fā)表文章時(shí),可以選擇文章所屬類別,此外只有是會(huì)員才能發(fā)表文章,對(duì)此進(jìn)行了嚴(yán)格的身份驗(yàn)證。4.發(fā)表及顯示評(píng)論管理該模塊實(shí)現(xiàn)了與文章相關(guān)的評(píng)論管理。只有注冊(cè)成本站用戶才能對(duì)文章進(jìn)行發(fā)表評(píng)論。5.上傳相片管理該模塊實(shí)現(xiàn)了會(huì)員上傳相片的功能,會(huì)員可以上傳自己喜歡的相片,對(duì)相片的格式進(jìn)行了有效的限制、相片的大小限制等,會(huì)員可以對(duì)相片進(jìn)行刪除,只有注冊(cè)本站的用戶才能對(duì)相片進(jìn)行查看。6.會(huì)員發(fā)布公告管理本模塊用于會(huì)員發(fā)布自己最近的動(dòng)態(tài),抒發(fā)最近的心情,讓本站注冊(cè)的用戶進(jìn)行查看。7.會(huì)員發(fā)布投票管理該模塊實(shí)現(xiàn)會(huì)員對(duì)當(dāng)下的實(shí)事進(jìn)行點(diǎn)評(píng),本站可以通過(guò)查看投票的內(nèi)容進(jìn)行查看,并投上自己寶貴的一票8.會(huì)員添加朋友管理會(huì)員可以添加自己喜歡的朋友信息,讓你隨時(shí)掌握你的朋友信息??梢詫?duì)你的朋友信息進(jìn)行修改刪除。數(shù)據(jù)庫(kù)的設(shè)計(jì)一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫(kù),可以使系統(tǒng)的實(shí)現(xiàn)變得非常的簡(jiǎn)單。同時(shí),也可以使系統(tǒng)的執(zhí)行速度變得很快。反之,一個(gè)設(shè)計(jì)混亂的數(shù)據(jù)庫(kù),不僅增加了吸引的管理實(shí)現(xiàn)過(guò)程,同時(shí)在系統(tǒng)的執(zhí)行過(guò)程中,使得檢索變得很慢,降低效率。所以數(shù)據(jù)庫(kù)的設(shè)計(jì)是一個(gè)系統(tǒng)設(shè)計(jì)很重要的步驟。根據(jù)系統(tǒng)功能設(shè)計(jì)要求和模塊劃分,本站的數(shù)據(jù)庫(kù)主要有用戶信息、文章信息、管理員信息、照片信息、文章類型信息、評(píng)論信息、投票信息、朋友圈視圖。數(shù)據(jù)庫(kù)的設(shè)計(jì)通常是以一個(gè)已經(jīng)存在的數(shù)據(jù)庫(kù)管理系統(tǒng)為基礎(chǔ)的,常用的數(shù)據(jù)庫(kù)管理系統(tǒng)有Access、SQLServer、Oracle、MySQL等。根據(jù)用戶需求和系統(tǒng)分析,本系統(tǒng)采用MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)。管理員信息表如圖3.5:表3.5管理員表文章信息表如圖3.6:圖3.6文章表文章類型信息表如圖3.7所示:圖3.7文章類型視圖評(píng)論信息表如圖3.8所示圖3.8評(píng)論表朋友信息表如圖3.9所示圖3.9朋友表相冊(cè)信息表如圖3.10所示圖3.10相冊(cè)表評(píng)論信息表如圖3.11所示圖3.11評(píng)論表投票信息表如圖3.12所示圖3.12投票表詳細(xì)設(shè)計(jì)和編碼實(shí)現(xiàn)階段用戶登錄模塊的設(shè)計(jì)用戶登錄模塊是系統(tǒng)進(jìn)入的第一個(gè)模塊,在用戶輸入用戶名和密碼后,系統(tǒng)需要連接數(shù)據(jù)庫(kù)進(jìn)行用戶名和密碼的比對(duì)工作,當(dāng)用戶名和密碼正確后,用戶就可以進(jìn)入系統(tǒng)的主界面。在設(shè)計(jì)的時(shí)候給用戶提供友好的提示信息,當(dāng)用戶名或密碼為空的時(shí)候提示用戶輸入該信息,當(dāng)用戶的信息全部錯(cuò)誤的時(shí)候用對(duì)話框提示用戶信息錯(cuò)誤。此模塊的界面如圖5.1所示。圖5.1登錄界面登錄對(duì)話框的代碼如下:ConsumerFormconsumerForm=consumerDao.getConsumerForm(account);if(consumerForm==null){ request.setAttribute("information","您輸入的用戶名不存在,請(qǐng)重新輸入!"); }elseif(!consumerForm.getPassword().equals( request.getParameter("password"))){ request.setAttribute("information","您輸入的登錄密碼有誤,請(qǐng)重新輸入!"); }else{ request.setAttribute("form",consumerForm); }系統(tǒng)前臺(tái)界面的設(shè)計(jì)用戶登錄后首先進(jìn)入系統(tǒng)的主界面,在系統(tǒng)的主界面上用戶可以選擇所要管理的信息,主界面上列出了本系統(tǒng)所提供的管理功能,供用戶區(qū)選擇。主界面只是提供各個(gè)功能模塊的入口。系統(tǒng)的前臺(tái)主界面如圖5.2所示:圖5.2系統(tǒng)前臺(tái)主界面采用鏈接的形式,在每一種功能的入口處均以點(diǎn)擊該功能的形式來(lái)實(shí)現(xiàn)的,同時(shí)刷新頁(yè)面,響應(yīng)所點(diǎn)擊的內(nèi)容。主界面的代碼如下:for(inthost=0;host<consumerlist.size();host++){com.wy.form.ConsumerFormconsumerHostForm=(com.wy.form.ConsumerForm)consumerlist.get(host);for(intarticleI=0;articleI<articleNumber;articleI++){ArticleFormarticleForm=(ArticleForm)articleList.get(articleI);StringarticleContent=articleForm.getContent();if(articleContent.length()>100){articleContent=articleContent.substring(0,100)+"...";}系統(tǒng)后臺(tái)界面的設(shè)計(jì)會(huì)員登錄后首先進(jìn)入系統(tǒng)的主界面,然后點(diǎn)擊“進(jìn)入后臺(tái)”,進(jìn)入會(huì)員的后臺(tái)管理,在系統(tǒng)的后臺(tái)界面上用戶可以選擇所要管理的信息,后臺(tái)界面上列出了本系統(tǒng)會(huì)員所提供的管理功能,供會(huì)員選擇。后臺(tái)界面只是提供各個(gè)功能模塊的入口。系統(tǒng)的后臺(tái)主界面如圖5.3所示:圖5.3系統(tǒng)后臺(tái)主界面采用鏈接的形式,在每一種功能的入口處均以點(diǎn)擊該功能的形式來(lái)實(shí)現(xiàn)的,同時(shí)刷新頁(yè)面,響應(yīng)所點(diǎn)擊的內(nèi)容。模塊說(shuō)明:該模塊只有該網(wǎng)站的會(huì)員才可以進(jìn)入,也就是該會(huì)員屬于高級(jí),通過(guò)該模塊的功能,會(huì)員可以添加、刪除所要添加的東西,普通會(huì)員則沒(méi)有權(quán)限。所以當(dāng)?shù)卿浀挠脩羰瞧胀ㄓ脩舻臅r(shí)候,則在主頁(yè)上沒(méi)有連接后臺(tái)的連接。文章檢索查詢管理模塊會(huì)員進(jìn)入前臺(tái)主頁(yè)面,通過(guò)點(diǎn)擊“文章”,可以看到該會(huì)員發(fā)表的文章,每頁(yè)顯示5個(gè),保證頁(yè)面的完整性,在通過(guò)“閱讀全文”來(lái)查看該文章的內(nèi)容,可以看到該文章的閱讀量,別人關(guān)于這個(gè)文章的回復(fù)(回復(fù)內(nèi)容、回復(fù)人)此模塊的界面如圖5.4所示。圖5.4會(huì)員文章管理界面模塊說(shuō)明:主要功能是用戶在瀏覽系統(tǒng)時(shí)查看發(fā)表的文章列表及文章的詳細(xì)內(nèi)容,包括文章的題目、發(fā)表時(shí)間、該文章的瀏覽次數(shù)等,并可以針對(duì)文章發(fā)表進(jìn)行回復(fù),它給用戶提供展示文筆的平臺(tái),增加會(huì)員與用戶、用戶與用戶之間的交流,能夠使系統(tǒng)內(nèi)的氣氛更加活躍,內(nèi)容更加豐富,前臺(tái)文章查詢模塊主要包括,所有文章瀏覽、文章分類瀏覽、文章內(nèi)容詳細(xì)瀏覽及文章回復(fù)功能。相冊(cè)管理模塊的設(shè)計(jì)會(huì)員和普通用戶可以通過(guò)該模塊,彼此更加的了解,會(huì)員可以上傳相片來(lái)展示自己,可以讓普通用戶充分享有視覺(jué)享受。此模塊的界面如圖5.5所示圖5.5.1相冊(cè)圖5.5.2相冊(cè)信息添加模塊說(shuō)明:該模塊的主要功能是實(shí)現(xiàn)對(duì)相片文件的上傳、查詢和刪除操作,可以使會(huì)員隨時(shí)更新個(gè)人系統(tǒng)內(nèi)的相冊(cè)文件,便于對(duì)相冊(cè)的管理、方便快捷,能夠使前臺(tái)內(nèi)容吸引更多的瀏覽者。用戶基本信息管理界面設(shè)計(jì)用戶基本信息管理是信息系統(tǒng)的主要內(nèi)容,在此部分中需要對(duì)會(huì)員的基本信息進(jìn)行管理。通過(guò)系統(tǒng)后臺(tái)的用戶設(shè)置,使得會(huì)員能夠很快的定位或者查出該系統(tǒng)中的所有用戶基本信息。用戶可以通過(guò)注冊(cè)成員該系統(tǒng)的常用用戶,通過(guò)該用戶的賬號(hào),可以查看該系統(tǒng)會(huì)員寫(xiě)的文章、上傳的相冊(cè)等,并且可以對(duì)會(huì)員的文章進(jìn)行回復(fù),加以評(píng)論。圖5.6用戶基本信息管理的主界面同樣在此部分,給管理人員提供應(yīng)有的操作(添加,修改,刪除及查看員工的家庭成員)。而添加,修改和刪除按鈕提供給具有相應(yīng)權(quán)限的用戶,所以對(duì)不具有相應(yīng)權(quán)限的用戶應(yīng)該置灰。檢查是否具有權(quán)限的代碼如下: if(curUser.GetUser_type()!=1) { GetDlgItem(IDC_ADD_BUTTON)->EnableWindow(FALSE); GetDlgItem(IDC_MODI_BUTTON)->EnableWindow(FALSE); GetDlgItem(IDC_DEL_BUTTON)->EnableWindow(FALSE); GetDlgItem(IDC_TRANSFER_BUTTON)->EnableWindow(FALSE); GetDlgItem(IDC_EXP_BUTTON)->EnableWindow(FALSE);圖5.6.1用戶信息圖5.6.2用戶信息查詢圖5.6.3會(huì)員添加好友管理圖5.6.4會(huì)員查詢好友管理圖5.6.5會(huì)員信息管理模塊說(shuō)明:通過(guò)注冊(cè)成為用戶,填寫(xiě)相應(yīng)的信息,完善個(gè)人資料,便于會(huì)員對(duì)該系統(tǒng)的用戶進(jìn)行查看和管理,確保當(dāng)前系統(tǒng)的穩(wěn)定性。會(huì)員可以通過(guò)該模塊添加關(guān)注的好友信息,對(duì)好友進(jìn)行管理,修改好友的信息等,時(shí)刻關(guān)注好友的動(dòng)態(tài),更新好友的狀態(tài)。會(huì)員也通過(guò)該頁(yè)面及時(shí)的修改個(gè)人的信息。公告信息管理的設(shè)計(jì)此模系統(tǒng)塊用于展現(xiàn)會(huì)員的狀態(tài)、心情,由于添加公告要分不同的天和時(shí)間,所以在此模塊設(shè)計(jì)時(shí),應(yīng)該添加了時(shí)間控制,來(lái)記錄公告的發(fā)布的準(zhǔn)確時(shí)間。并且為了檢索的方便,在此模塊上添加了修改的操作,用來(lái)修改當(dāng)前的公告。圖5.7會(huì)員公告管理主界面時(shí)間控制的設(shè)計(jì):主要通過(guò)JAVA函數(shù)來(lái)實(shí)現(xiàn)。主要的代碼設(shè)計(jì)如下:publicStringcurrentlyTime(){ Datedate=newDate(); DateFormatdateFormat=DateFormat.getDateInstance(DateFormat.FULL);returndateFormat.format(date); }投票信息管理界面的設(shè)計(jì)投票信息管理的設(shè)計(jì)與公告管理的設(shè)計(jì)基本一致,唯一不同的地方時(shí)他們寫(xiě)入數(shù)據(jù)庫(kù)中的記錄以及記錄所寫(xiě)入的表不同,且投票信息管理沒(méi)有時(shí)間的功能。數(shù)據(jù)庫(kù)連接的設(shè)計(jì)數(shù)據(jù)庫(kù)的連接是本系統(tǒng)設(shè)計(jì)的主要內(nèi)容,數(shù)據(jù)庫(kù)是數(shù)據(jù)存儲(chǔ)和獲取的地方,所以很重要,如果數(shù)據(jù)的連接出現(xiàn)了異常,則系統(tǒng)就失去它的作用。本系統(tǒng)采用連接池的技術(shù),所謂的連接池的原理是:在內(nèi)部對(duì)象池中維護(hù)一定數(shù)量的數(shù)據(jù)庫(kù)連接,并對(duì)外暴露數(shù)據(jù)庫(kù)連接獲取和返回方法。如:外部使用者可通過(guò)getConnection方法獲取連接,使用完畢后再通過(guò)releaseConnection方法將連接返回,注意此時(shí)連接并沒(méi)有關(guān)閉,而是由連接池管理器回收,并為下一次使用做好準(zhǔn)備。主要代碼如下:privatefinalStringurl="jdbc:mysql://localhost:3306/db_BlodMay?characterEncoding=GB2312";privatefinalStringuserName="root";privatefinalStringpassword="root";privateConnectioncon=null;//通過(guò)構(gòu)造方法加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)static{try{Class.forName("com.mysql.jdbc.Driver").newInstance();}catch(Exceptionex){System.out.println("數(shù)據(jù)庫(kù)加載失敗");}}//創(chuàng)建數(shù)據(jù)庫(kù)連接publicbooleancreatConnection(){try{con=DriverManager.getConnection(url,userName,password);con.setAutoCommit(true);}catch(SQLExceptione){System.out.println(e.getMessage());System.out.println("creatConnectionError!");}returntrue;}系統(tǒng)測(cè)試階段測(cè)試的目的首先,確認(rèn)軟件的質(zhì)量,其一方面是確認(rèn)軟件做了你所預(yù)期做的事情,另一方面是確認(rèn)軟件以正確的方式來(lái)做這個(gè)事情,其次是提供信息,比如提供給開(kāi)發(fā)人員或者程序經(jīng)理的回饋信息,為風(fēng)險(xiǎn)評(píng)估所做準(zhǔn)備,然后軟件測(cè)試不僅在測(cè)試軟件產(chǎn)品本身,而且還包括軟件開(kāi)發(fā)過(guò)程,如果一個(gè)產(chǎn)品開(kāi)發(fā)完成之后發(fā)現(xiàn)了很多問(wèn)題,這說(shuō)明此軟件開(kāi)發(fā)過(guò)程很可能是有缺陷的,因此,軟件測(cè)試的第三個(gè)目的是保證整個(gè)軟件開(kāi)發(fā)過(guò)程是高質(zhì)量的。軟件測(cè)試的方法軟件測(cè)試有很多方法,本系統(tǒng)采用了UI測(cè)試,是指軟件中的可見(jiàn)外觀及其底層與用戶交互的部分,用戶界面測(cè)試是指測(cè)試用戶的界面是否滿足客戶要求,文字是否正確,頁(yè)面是否美觀,文字圖片的結(jié)合是否完美,操作是否友好等,目標(biāo)是確保用戶界面會(huì)提供相應(yīng)的訪問(wèn)或?yàn)g覽功能,確保用戶界面符合公司和行業(yè)的標(biāo)準(zhǔn),包括用戶友好性、人性化、易操作性測(cè)試。測(cè)試的步驟由于本系統(tǒng)不能作為一個(gè)小系統(tǒng)來(lái)測(cè)試,也就是不能把它看作一個(gè)整體來(lái)對(duì)其測(cè)試。所以測(cè)試的步驟通常分為:模塊測(cè)試:確保測(cè)試的模塊是一個(gè)單獨(dú)的整體,不與其他模塊關(guān)聯(lián)。子系統(tǒng)測(cè)試:把經(jīng)過(guò)單元測(cè)試的模塊放在一起形成一個(gè)子系統(tǒng)來(lái)測(cè)試。系統(tǒng)測(cè)試:把測(cè)試的一些子系統(tǒng)一起作為一個(gè)系統(tǒng)來(lái)測(cè)試。測(cè)試驗(yàn)收:確保該系統(tǒng)可以給用戶使用、滿足客戶的需求。結(jié)束語(yǔ)經(jīng)過(guò)這幾個(gè)月的努力,在導(dǎo)師的指導(dǎo)和幫助下,完成了這個(gè)空間的畢業(yè)設(shè)計(jì)。通過(guò)這段時(shí)間的開(kāi)發(fā),讓我了解了開(kāi)發(fā)一個(gè)系統(tǒng)的流程,有了一定的開(kāi)發(fā)經(jīng)驗(yàn)。通過(guò)這幾個(gè)月的學(xué)習(xí),我初步掌握了JAVA語(yǔ)言的基本編程,了解到了MYSQL的基本功能,但還是掌握得不深。所以在編程的時(shí)候,出現(xiàn)了比較多的錯(cuò)誤,系統(tǒng)的功能和性能還不是很好,容錯(cuò)能力比較低。不過(guò)會(huì)通在以后的學(xué)習(xí)和工作中去完善這方面的能力。由于時(shí)間比較倉(cāng)促,本系統(tǒng)的功能實(shí)現(xiàn)還不是很完美,還存在需要改進(jìn)的地方,但我確實(shí)已經(jīng)盡最大努力了。希望在以后能夠有機(jī)會(huì)使系統(tǒng)的設(shè)計(jì)日趨完善。致謝本次畢業(yè)設(shè)計(jì)是在王喜鳳老師和幾個(gè)同學(xué)的指導(dǎo)和幫助下完成的,從選題到開(kāi)題報(bào)告,從寫(xiě)作提綱,到一遍又一遍地指出每稿中的具體問(wèn)題,老師都嚴(yán)格把關(guān),循循善誘,在此我表示衷心感謝。在王喜鳳的指導(dǎo)下我完成了這次畢業(yè)設(shè)計(jì),并學(xué)到了好多相關(guān)的專業(yè)知識(shí)。短短的幾個(gè)月我獲益頗多。在這里我再次感謝王喜鳳對(duì)我們的教導(dǎo),謝謝您。謝謝您的鼓勵(lì)與支持。同時(shí)要感謝我的學(xué)校,安徽工業(yè)大學(xué)工商學(xué)院,她讓我愉快而有意義的度過(guò)美好的大學(xué)時(shí)光;感謝我的父母,他們給予了我極大的支持和鼓勵(lì);另外,還要感謝陪伴我共同走過(guò)大學(xué)時(shí)代并給予我?guī)椭睦蠋?、同學(xué)和朋友們,感謝你們,祝福你們?cè)谝院蟮娜兆永?,開(kāi)心、快樂(lè)!參考文獻(xiàn)[1]王國(guó)輝,王毅等.JSP程序開(kāi)發(fā)寶典.人民郵電出版社.2007[2]劉彬.JSP數(shù)據(jù)庫(kù)高級(jí)教程.清華大學(xué)出版社.2006[3]蔣文容.JSP程序設(shè)計(jì).高等教育出版社.2004[4]賽奎春.JSP工程應(yīng)用與項(xiàng)目實(shí)踐.機(jī)械工業(yè)出版社.2004[5]姜曉銘劉波張亦華.JSP程序設(shè)計(jì)精彩實(shí)例.清華大學(xué)出版社.2001[6]徐國(guó)平劉臣勇于軍.JSP網(wǎng)絡(luò)開(kāi)發(fā)實(shí)務(wù).電子工業(yè)出版社.2001[7]王國(guó)輝李鐘尉王毅.Java程序設(shè)計(jì)自學(xué)手冊(cè).人民郵電出版社.2008[8]位元文化著.JSP動(dòng)態(tài)網(wǎng)頁(yè)入門(mén)實(shí)務(wù).科學(xué)出版社.2001[9]飛思科技.JSP應(yīng)用開(kāi)發(fā)詳解.電子工業(yè)出版社.2002[10]楊磊,陳凌云.精通EclipseWeb開(kāi)發(fā).人民郵電出版社.2006[11][美]HansBergsten.JavaServerPages_2ndEdition[M].2002[12][美]KevinDuffey,VikramGoyal.ProfessionalJSPSiteDesign[M].2002[13][美]BillBrogden.Java開(kāi)發(fā)指南.電子工業(yè)出版社.2001[14][美]MichaelMorrisonJavaBeans使用手冊(cè).機(jī)械工業(yè)出版社.1997附錄部分源代碼一.文章檢索查詢模塊主要代碼publicbooleanoperationArticle(Stringoperation,ArticleFormform){ booleanflag=false; Stringsql=null; if(operation.equals("添加"))sql="insertintotb_article(typeID,title,content,phTime,number)values('"+form.getTypeId()+"','" +form.getTitle()+"','"+form.getContent()+"','" +form.getPhTime()+"','"+form.getNumber()+"')"; if(operation.equals("修改")) sql="updatetb_articlesettypeID='"+form.getTypeId() +"',title='"+form.getTitle()+"',content='" +form.getContent()+"'whereid='"+form.getId()+"'"; if(operation.equals("刪除")) sql="deletefromtb_articlewhereid='"+form.getId()+"'"; if(operation.equals("增加")) sql="updatetb_articlesetnumber=number+1whereid='" +form.getId()+"'"; if(connection.executeUpdate(sql)){ flag=true; } returnflag; } publicListqueryArticle(IntegertypeId){ Listlist=newArrayList(); Stringsql=null; if(typeId==null) sql="select*fromtb_article"; else sql="select*fromtb_articlewheretypeID='"+typeId +"'orderbyiddesc"; ResultSetrs=connection.executeQuery(sql); try{ while(rs.next()){ articleForm=newArticleForm(); articleForm.setId(rs.getInt(1)); articleForm.setTypeId(rs.getInt(2)); articleForm.setTitle(rs.getString(3)); articleForm.setContent(rs.getString(4)); articleForm.setPhTime(rs.getString(5)); articleForm.setNumber(rs.getInt(6)); list.add(articleForm); } }catch(SQLExceptione){ e.printStackTrace(); } returnlist; } publicArticleFormqueryArticleForm(Integerid){ Stringsql="select*fromtb_articlewhereid='"+id+"'"; ResultSetrs=connection.executeQuery(sql); try{ while(rs.next()){ articleForm=newArticleForm(); articleForm.setId(rs.getInt(1)); articleForm.setTypeId(rs.getInt(2)); articleForm.setTitle(rs.getString(3)); articleForm.setContent(rs.getString(4)); articleForm.setPhTime(rs.getString(5)); articleForm.setNumber(rs.getInt(6));publicbooleanoperationArticleType(Stringoperation,ArticleTypeFormform){ booleanflag=false; Stringsql=null; if(operation.equals("添加")) sql="insertintotb_articleType(typeName,description)values('"+form.getTypeName() +"','"+form.getDescription()+"')"; if(operation.equals("刪除")) sql="deletefromtb_articleTypewhereid='"+form.getId()+"'"; if(connection.executeUpdate(sql)){ flag=true; } returnflag; } publicStringqueryArticleTypeName(Integerid){ StringtypeName=null; Stringsql="select*fromtb_articleTypewhereid='"+id+"'"; ResultSetrs=connection.executeQuery(sql); try{ while(rs.next()){ typeName=rs.getString("typeName"); } }catch(SQLExceptione){ e.printStackTrace(); } returntypeName; } publicListqueryArticleType(){ Listlist=newArrayList(); ArticleTypeFormform=null; Stringsql="select*fromtb_articleType"; ResultSetrs=connection.executeQuery(sql); try{ while(rs.next()){ form=newArticleTypeForm(); form.setId(rs.getInt(1)); form.setTypeName(rs.getString(2)); form.setDescription(rs.getString(3)); list.add(form); } }catch(SQLExceptione){ e.printStackTrace(); } returnlist; }二.相冊(cè)管理模塊主要代碼publicbooleanoperationPhoto(Stringoperation,PhotoFormphotoForm){ booleanflag=false; Stringsql=null; if(operation.equals("刪除")) sql="deletefromtb_photowhereid='"+photoForm.getId()+"'"; if(operation.equals("添加")) sql="insertintotb_photo(photoAddress,photoDescription,photoTime)values('" +photoForm.getPhotoAddress()+"','" +photoForm.getPhotoDescription()+"','" +photoForm.getPhtoTime()+"')";System.out.println(sql); if(connection.executeUpdate(sql)) flag=true; returnflag; } publicPhotoFormqueryPhoto(Integerid){ PhotoFormform=null; Stringsql="select*fromtb_photowhereid='"+id+"'"; ResultSetrs=connection.executeQuery(sql); try{ while(rs.next()){ form=newPhotoForm(); form.setId(Integer.valueOf(rs.getString(1))); form.setPhotoAddress(rs.getString(2)); form.setPhotoDescription(rs.getString(3)); form.setPhtoTime(rs.getString(4)); } }catch(SQLExceptione){ e.printStackTrace(); } returnform; } publicListqueryPhoto(){ Listlist=newArrayList(); PhotoFormform=null; Stringsql="select*fromtb_photoorderbyiddesc"; ResultSetrs=connection.executeQuery(sql); try{ while(rs.next()){ form=newPhotoForm(); form.setId(Integer.valueOf(rs.getString(1))); form.setPhotoAddress(rs.getString(2)); form.setPhotoDescription(rs.getString(3)); form.setPhtoTime(rs.getString(4)); list.add(form); } }catch(SQLExceptione){ e.printStackTrace(); } returnlist; } publicIntegerMaxQueryID(){ IntegermaxID=0; Stringsql="selectmax(id)asidfromtb_photo"; ResultSetrs=connection.executeQuery(sql); try{ while(rs.next()){ maxID=rs.getInt("id"); } }catch(SQLExceptione){ e.printStackTrace(); } returnmaxID; }}三用戶基本信息管理界面主要代碼//以數(shù)據(jù)庫(kù)編號(hào)為條件,修改用戶信息 publicbooleanfront_updateConsumerForm(ConsumerFormform){ booleanflag=false; Stringsql="updatetb_consumersetaccount='"+form.getAccount() +"',password='"+form.getPassword()+"',name='" +form.getName()+"',sex='"+form.getSex()+"',QQNumber='" +form.getQQNumber()+"',mainPage='"+form.getMainPage() +"',interest='"+form.getInterest()+"',eMail='" +form.getEMail()+"'whereid='"+form.getId()+"'"; if(connection.executeUpdate(sql)){ flag=true; } returnflag; } //更新用戶操作 publicbooleanupdateConsumerForm(ConsumerFormform){ booleanflag=false; Stringsql="updatetb_consumersetaccount='"+form.getAccount() +"',password='"+form.getPassword()+"',name='" +form.getName()+"',sex='"+form.getSex()+"',QQNumber='" +form.getQQNumber()+"',mainPage='"+form.getMainPage() +"',interest='"+form.getIn
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡(jiǎn)單裝修購(gòu)房委托協(xié)議(30篇)
- 24.5 相似三角形的性質(zhì)(第1課時(shí))同步練習(xí)
- 委托招聘網(wǎng)站發(fā)布廣告合同(3篇)
- 實(shí)習(xí)手冊(cè)個(gè)人自我總結(jié)(十五篇)
- 運(yùn)動(dòng)會(huì)總結(jié)大會(huì)發(fā)言稿
- 24.4 解直角三角形 同步練習(xí)
- 2024-2025學(xué)年牛津譯林版九年級(jí)英語(yǔ)上冊(cè)Units 3~4 單元測(cè)試(含答案)
- 2024年廣東省公務(wù)員考試《行測(cè)》真題及答案解析
- 勞動(dòng)爭(zhēng)議和解協(xié)議書(shū)范本
- 雷達(dá)課課程設(shè)計(jì)模板
- 河北省承德市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- (完整)E級(jí)GPS控制測(cè)量技術(shù)設(shè)計(jì)書(shū)
- 療養(yǎng)院建筑設(shè)計(jì)規(guī)范(含條文說(shuō)明)
- 大學(xué)教師課程教學(xué)質(zhì)量獎(jiǎng)評(píng)選辦法
- 放射性物質(zhì)危險(xiǎn)品貨物運(yùn)輸資格證考試與答案
- 《針灸治療中風(fēng)假性球麻痹臨床實(shí)踐指南》方案系統(tǒng)解讀
- 航空服務(wù)禮儀課程標(biāo)準(zhǔn)
- 客服話術(shù)大全-
- 護(hù)理核心制度督查表20179
- 紅色古色綠色文化教育活動(dòng)策劃方案
- 《正交分解法》導(dǎo)學(xué)案
評(píng)論
0/150
提交評(píng)論