基于JAVA的校園BBS的設(shè)計與實現(xiàn)-畢業(yè)論文.doc_第1頁
基于JAVA的校園BBS的設(shè)計與實現(xiàn)-畢業(yè)論文.doc_第2頁
基于JAVA的校園BBS的設(shè)計與實現(xiàn)-畢業(yè)論文.doc_第3頁
基于JAVA的校園BBS的設(shè)計與實現(xiàn)-畢業(yè)論文.doc_第4頁
基于JAVA的校園BBS的設(shè)計與實現(xiàn)-畢業(yè)論文.doc_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

安徽建筑工業(yè)學(xué)院 畢業(yè)設(shè)計(論文) 安徽建筑工業(yè)學(xué)院 畢 業(yè) 設(shè) 計 (論 文)專 業(yè) 信息與計算科學(xué) 班 級 06信息(2) 學(xué)生姓名 李寧 學(xué) 號 06207010220 課 題 校園bbs的設(shè)計與實現(xiàn) 指導(dǎo)教師 李義寶 二零一零 年 六 月摘 要在internet飛速發(fā)展的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟、生活等各個方面發(fā)揮著重要的作用。internet上發(fā)布信息主要是通過網(wǎng)站來實現(xiàn)的,獲取信息也是要在internet“海洋”中按照一定的檢索方式將所需要的信息從網(wǎng)站上下載下來。它已成為政府、企事業(yè)單位信息化建設(shè)中的重要組成部分,從而倍受人們的重視,因此網(wǎng)站建設(shè)在internet應(yīng)用上的地位顯而易見。構(gòu)建校園論壇網(wǎng)站是為加強老師同學(xué)們之間的聯(lián)系,通過網(wǎng)站,全面宣傳,展示學(xué)校風(fēng)采、優(yōu)點與特色,發(fā)布學(xué)校的活動和重大安排。作為近年來日益普及和訪問量日趨增大的bbs論壇,正越來越被大家所接受。隨著bbs的發(fā)展,近年來bbs已成為大學(xué)校園內(nèi)相互溝通與學(xué)習(xí)交流的常用工具。教學(xué)過程是一個知識傳遞、師生信息互動的過程,而由于bbs具有實時性、開放性和靈活的交互性等特點,因此bbs已成為很好的師生、生生交互和溝通的途徑。本文是基于asp.net開發(fā)的校園bbs論壇系統(tǒng),sql server作為數(shù)據(jù)庫服務(wù)器。其中,著重研究ado與ado.net、asp與asp.net,明確了采用ado.net和asp.net開發(fā)高性能要求的web應(yīng)用是可取的、先進的。接著文章將介紹論壇用戶驗證、數(shù)據(jù)庫設(shè)計及md5數(shù)據(jù)加密、分頁技術(shù)等,讓大家進一步了解這個系統(tǒng)。關(guān)鍵字:校園bbs;ado.net;asp.net;abstracttoday , with the rapidly development , the internet become the channel that people could have access to ,publish and disseminate important information , which plays an important role in political, economic, and other aspects of life .internet to publish information is mainly achieved through the website, access to information is download from the site down which could though the internet sea in accordance with certain methods of retrieval of information needed . it has become the important information technology components of the government, enterprises and institutions in order to attract peoples attention, so the construction site on the status of internet applications is obvious. building campus forum website is to strengthen the link between teacher and students, through the website, we could have a comprehensive information display school style, excellence and characteristics of school activities and major publishing arrangements. as the popularity and increasing in recent years, bbs is increasingly being accepted by all.with the development of bbs, bbs has become a university campus in recent years, mutual communication and learning within the common communication tool. the teaching process is a knowledge transfer, the process of interaction between teachers and students information, and since bbs real-time, open and flexible interaction characteristics, so bbs has become a good teacher, life and life ways of interaction and communication.this article is based on the asp.net development systems of campus bbs forum and regard sql server as the database server. among them, the focus is the ado and ado.net, asp and asp.net, ado.net and asp.net .it is desirable and advanced by using the web application development with clear performance requirements. then the article will introduce the forum user authentication, database design and md5 encryption, paging technology, so that we learn more about the system.keywords:campus bbs;ado.net;asp.net;目 錄第一章 緒 論11.1 研究背景11.2 問題的提出11.3 研究目的及意義2第二章 系統(tǒng)研究32.1 校園bbs概述簡介32.2 校園bbs環(huán)境下的教與學(xué)4第三章 開發(fā)環(huán)境概述53.1 ado.net技術(shù)53.1.1 ado與ado.net簡介53.1.2 數(shù)據(jù)訪問方式的歷史53.1.3 ado與ado.net對照63.2 asp.net技術(shù)73.2.1 asp與asp.net比較73.2.2 asp.net的優(yōu)點83.3 javascript腳本語言9第四章校園bbs系統(tǒng)設(shè)計與實現(xiàn)114.1基于.net的三層web體系結(jié)構(gòu)114.2系統(tǒng)功能124.2.1概述124.2.2系統(tǒng)整體架構(gòu)134.2.3系統(tǒng)用例圖144.3 數(shù)據(jù)庫設(shè)計144.4 數(shù)據(jù)庫連接及數(shù)據(jù)綁定174.5 用戶驗證184.6 加密技術(shù)194.7 文章分頁技術(shù)214.8 在貼子中實現(xiàn)超文本信息輸入224.9 運行效果26第五章 系統(tǒng)測試與運行環(huán)境275.1 系統(tǒng)測試275.2 系統(tǒng)維護27總結(jié)28致謝29參考文獻3031安徽建筑工業(yè)學(xué)院 畢業(yè)設(shè)計(論文)第一章 緒 論1.1 研究背景隨著信息化技術(shù)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,人們獲取信息的途徑和學(xué)習(xí)的方法都發(fā)生了巨大的變化。社會在發(fā)展,科學(xué)在進步,而借助于信息技術(shù)的網(wǎng)絡(luò)技術(shù)來進行教育、信息交流已成為社會發(fā)展的趨勢。信息化教育的顯著特點是:教材多媒化;資源全球化;教學(xué)個性化;學(xué)習(xí)自主化;任務(wù)合作化;環(huán)境虛擬化;管理自動化。顯然,從七個特點的內(nèi)容看,信息化教育必然要求加強資源共享,加強學(xué)生和老師之間的信息交流。因為信息化教育必然引起教育方式、教學(xué)模式等方面的改革。這涉及教育的諸多方面,其中一個主要方面就是教師傳授知識和學(xué)生獲取知識的方式發(fā)生了變化,即知識流發(fā)生了變化,且具有資源共享、時空不限、多向互動的特點。然而隨著信息化教育的不斷發(fā)展,學(xué)生與老師、學(xué)生與學(xué)生之間的交流日趨減少,這嚴重影響著現(xiàn)在大學(xué)教育的發(fā)展。使得老師不知道學(xué)生學(xué)的怎么樣、學(xué)生想學(xué)什么,學(xué)生對老師教授的課程沒有興趣、不清楚自己未來的發(fā)展方向等問題日趨嚴重。1.2 問題的提出從20世紀(jì)90年代起,世界各國相繼啟動其面向21世紀(jì)的教育信息化建設(shè)工程。我國也在2001年發(fā)布教育信息化“十五”發(fā)展規(guī)劃(綱要),提出用5到10年時問在全國范圍內(nèi)開展教育信息化建設(shè),全面實施“校校通”工程。在我國,信息化建設(shè)的進程在教育行業(yè)迅速推進,“學(xué)校信息化”、“校園網(wǎng)”、“校校通”成為當(dāng)前網(wǎng)絡(luò)建設(shè)的熱點。信息化教育是以現(xiàn)代信息技術(shù)為基礎(chǔ)的全新教育形態(tài),然而信息技術(shù)為教育帶來一系列的革新,如服務(wù)于個別化學(xué)習(xí)、拓展了教育內(nèi)容、豐富了教育方式等以促進學(xué)生與學(xué)校老師之間的溝通交流。但由于信息技術(shù)的廣泛發(fā)展和互聯(lián)網(wǎng)的普及,使我們的信息量空前浩繁,大量的、無序的信息混于學(xué)習(xí)、工作之中。產(chǎn)生這種現(xiàn)狀的主要原因在于沒有一個專門性的門戶對信息進行分類。bbs是bulletin board system的簡稱,意即電子公告牌。bbs是internet上最知名的服務(wù)之一,提供了internet上信息交流的強有力手段,是具有強大實時交互功能的信息交流平臺。通過bbs,用戶可以在bbs某個討論區(qū)上提出問題,發(fā)表自己的見解,也可回復(fù)他人的問題,還可以針對某個話題和他人展開討論等等。然而,現(xiàn)今流行的bbs大多是針對專業(yè)學(xué)術(shù)性的信息網(wǎng)站。1.3 研究目的及意義本論文的選題為“校園bbs系統(tǒng)的設(shè)計與實現(xiàn)”,即期望使校園bbs成為了大學(xué)校園內(nèi)相互溝通與學(xué)習(xí)交流的常用工具。教學(xué)過程是一個知識傳遞、師生信息互動的過程,而由于bbs具有實時性、開放性和靈活的交互性等特點,因此bbs是一條很好的師生、生生交互和溝通的途徑。我們可以利用校園bbs系統(tǒng)來進行交互式教學(xué),培養(yǎng)學(xué)生利用網(wǎng)絡(luò)進行交互、協(xié)商、溝通,形成共識,分享成果的能力,形成批判性和創(chuàng)造性思維。即開發(fā)一個基于學(xué)生與老師交流、溝通的信息平臺。在瀏覽論壇的過程中,學(xué)生可以交流自己在校學(xué)習(xí)和生活中的感受,同時還可以對現(xiàn)存學(xué)校教育、管理等方面內(nèi)容提問。學(xué)校老師也可以在瀏覽論壇的過程中,針對學(xué)生提出的問題給予了解與解答,大大促進學(xué)生的發(fā)展。同時也讓老師了解學(xué)生在想些什么。在校園bbs里的討論者基本上都是在校大學(xué)生,大學(xué)生們較為關(guān)心的學(xué)習(xí)問題,把bbs作為獲取專業(yè)信息、解決學(xué)習(xí)問題的重要途徑。由于大學(xué)課程學(xué)習(xí)的特殊性,強調(diào)學(xué)生的自主學(xué)習(xí)性。當(dāng)遇到學(xué)習(xí)上的困難時,除了在課堂上請教老師、同學(xué)外,基本上沒有集體討論的時間。而在bbs上,他們可以提出問題,共同商量和討論,還可以向其他老師、學(xué)長學(xué)姐們請教。同時,老師們可以利用bbs提供更多的學(xué)習(xí)信息,師生之間也可以在bbs上進行學(xué)術(shù)思想交流。第二章 系統(tǒng)研究2.1 校園bbs概述簡介本論文研究的環(huán)境和平臺是基于www的校園bbs系統(tǒng),因此本論文僅限于校園bbs來研究bbs的發(fā)展、功能及特點。校園bbs是指在各校園網(wǎng)中設(shè)立的電子公告版系統(tǒng),俗稱“網(wǎng)上論壇”,是學(xué)生與老師信息交流的平臺。隨著校園網(wǎng)絡(luò)的日益普及,校園bbs將成為學(xué)生之間、學(xué)校與社會之間交流的信息平臺。通過校園bbs,師生可以在bbs的某個討論區(qū)上提出問題,發(fā)表自己的見解,也可回復(fù)他人的問題,還可以針對某個話題和他人展開討論等等。通過bbs,用戶可以參與討論問題,查詢感興趣的信息,尋求幫助等等。校園bbs的廣泛普及將隨著中國教育和科研計算機網(wǎng)(以下簡稱cernet)的建立和發(fā)展而同步發(fā)展起來,而且成為國內(nèi)bbs的主流之一。1995年8月,清華大學(xué)bbs站“水木清華”開通,成為大陸第一個校園bbs站點,成為大學(xué)校園bbs發(fā)展史上的一個里程碑。1996年到1999年,隨著互聯(lián)網(wǎng)的迅猛發(fā)展,校園網(wǎng)建設(shè)也進入大跨步發(fā)展階段,越來越多的老師和學(xué)生開始接觸網(wǎng)絡(luò)并進入校園bbs系統(tǒng)。2000年至今,商業(yè)網(wǎng)站的熱潮帶動了校園網(wǎng)的發(fā)展。中國教育和科研計算機網(wǎng)的建設(shè)直接引導(dǎo)和推動了校園網(wǎng)的持續(xù)發(fā)展,到2002年底,cernet擁有全國范圍的光纖傳輸網(wǎng),主干總?cè)萘靠蛇_40gbps,覆蓋我國近200個城市,有1000多所高校接入cernet。隨著校園網(wǎng)絡(luò)建設(shè)的加快,校園bbs站點也越來越多,成了萃萃學(xué)子閑暇之余光顧的重要場所。校園網(wǎng)的發(fā)展壯大,使得各大學(xué)之間、大學(xué)與社會之間的交流更加方便。校園bbs是一種全網(wǎng)開放的服務(wù),用戶可以在bbs某個討論區(qū)上提出問題,發(fā)表自己的見解,也可回復(fù)他人的問題,還可以針對某個話題和他人展開討論等。討論區(qū)中包括了各類學(xué)術(shù)討論區(qū)以及各類話題討論區(qū)。在這些討論區(qū)中,用戶可以挑選自己感興趣的話題去閱讀或發(fā)表自己的見解和文章。文件共享區(qū)的作用是進行各種文件(程序、數(shù)據(jù)資料等等)交流的場所。這種交流類似于文件傳輸ftp功能,主要差異是它可以讓普通用戶將文件拷貝到這里,與其他用戶共享。還有一些bbs站點提供其它的特別服務(wù),如游戲、詞典查詢、日歷查詢、ip查詢等??傊琤bs的功能在不斷擴大,它是一個集學(xué)術(shù)討論和休閑娛樂于一身的自由活動空間。cernet建立以來,校園bbs很快地發(fā)展了起來,目前很多大學(xué)都有了bbs,幾乎遍及全國上下。清華大學(xué)、北京大學(xué)、上海交大等等都建立了自己的bbs系統(tǒng),清華大學(xué)的水木清華很受學(xué)生和網(wǎng)民們的喜愛。綜觀國內(nèi)校園bbs的發(fā)展,校園bbs可以歸納為以下特點:(1)發(fā)展迅速,站點眾多;(2)討論區(qū)全,信息面廣;(3)訪問流量大,校內(nèi)用戶占主要部分;(4)信息更新速度快;(5)立足服務(wù)校園生活。2.2 校園bbs環(huán)境下的教與學(xué)bbs是在信息時代的大背景下,將信息技術(shù)作為教師的教學(xué)輔助手段和學(xué)生學(xué)習(xí)知識的工具。教師“以人為本”轉(zhuǎn)換自身角色,逐步的由知識的傳授者、課程的組織者、教學(xué)的管理者,轉(zhuǎn)變?yōu)閎bs環(huán)境的創(chuàng)設(shè)者,課程內(nèi)容的設(shè)計者,學(xué)生學(xué)習(xí)的指導(dǎo)者和合作者,新型教學(xué)方法的研究者。學(xué)生不應(yīng)該只跟在老師后面學(xué)習(xí)知識,而應(yīng)當(dāng)成為bbs環(huán)境下的主動學(xué)習(xí)者。協(xié)作式學(xué)習(xí),探究式學(xué)習(xí),交互式學(xué)習(xí),自我建構(gòu)式學(xué)習(xí),是bbs環(huán)境下學(xué)生學(xué)習(xí)的主要特點。本校園bbs的目標(biāo)是培養(yǎng)具有創(chuàng)新精神和實踐能力,能適應(yīng)信息時代知識經(jīng)濟要求的高素質(zhì)人才。校園bbs為建構(gòu)主義學(xué)習(xí)理論創(chuàng)造了理想的學(xué)習(xí)環(huán)境。建構(gòu)主義理論認為,學(xué)習(xí)者獲取的知識主要是學(xué)習(xí)者在一定的情境和社會文化背景下,根據(jù)自己已經(jīng)掌握的知識,借助他人的幫助(包括教師和學(xué)習(xí)伙伴),利用必要的學(xué)習(xí)資料,通過意義建構(gòu)的方式而獲得的。建構(gòu)主義強調(diào)學(xué)習(xí)者的認知主體作用,體現(xiàn)了以人為本的思想,但并不忽視教師的指導(dǎo)作用。教師是意義建構(gòu)的幫助者,促進者,而不是知識的傳授者與灌輸者。教師的主要角色是:系統(tǒng)地指導(dǎo)學(xué)生的學(xué)習(xí)活動;對課程的結(jié)構(gòu)、內(nèi)容及教學(xué)媒體進行研究設(shè)計和優(yōu)化;作為學(xué)生學(xué)習(xí)的合作者參與討論,啟發(fā)學(xué)生的智慧,激發(fā)學(xué)生的學(xué)習(xí)興趣;對學(xué)習(xí)效果進行評估。我國傳統(tǒng)的教育思想受行為主義認知理論的影響,認為學(xué)習(xí)與內(nèi)部心理過程無關(guān),是教師對學(xué)生提供外部刺激引起的反應(yīng)過程,學(xué)生在教師“填鴨式”的灌注下被動地認識、接受知識。目前在教學(xué)中老師基本上秉承了傳統(tǒng)教育思想,要使教師適應(yīng)校園bbs教學(xué),一方面要加強對教師的信息能力培訓(xùn),使教師逐步掌握現(xiàn)代教育技術(shù),主動地研究新理論、新方法,積極地推行新的教學(xué)模式,探求更有效的教與學(xué)的結(jié)合點。另一方面教師需要更廣泛地學(xué)習(xí)知識,成為真正意義上的學(xué)生學(xué)習(xí)的指導(dǎo)者。對于學(xué)生來說,他們是信息加工的主體和主動建構(gòu)者,而不是知識灌輸?shù)膶ο?。學(xué)生在教師指導(dǎo)下充分利用大量的網(wǎng)上學(xué)習(xí)資源,通過自主、協(xié)作、互動、探究式學(xué)習(xí)夯實基礎(chǔ)知識。按照這樣的學(xué)習(xí)理論學(xué)生在接觸新知識的同時,還要在大腦中建立起新舊知識的聯(lián)系,實現(xiàn)知識重構(gòu)促進知識遷移。學(xué)生通過網(wǎng)絡(luò)也能夠及時交流學(xué)習(xí)知識,用以彌補教學(xué)點的差異給學(xué)生帶來的學(xué)習(xí)差異。在教學(xué)階段,通過校園bbs環(huán)境下的教與學(xué),教師和學(xué)生的信息意識均得到加強獲取、檢索、表達、交流信息的技能得以提高,信息加工和信息創(chuàng)造的能力得到鍛煉,這也是一種良好的信息素養(yǎng)教育。同時,我們還要依托校園bbs建立起切實可行的教學(xué)評估體系,對學(xué)生的專業(yè)知識、實踐能力、信息素養(yǎng)以及教師的教學(xué)水平做出綜合評估,便于教師及學(xué)生看到成績,找出差距,不斷提高。第三章 開發(fā)環(huán)境概述3.1 ado.net技術(shù)3.1.1 ado與ado.net簡介ado與ado.net既有相似也有區(qū)別,他們都能夠編寫對數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)進行訪問和操作的應(yīng)用程序,并且易于使用、高速度、低內(nèi)存支出和占用磁盤空間較少,支持用于建立基于客戶端/服務(wù)器和 web 的應(yīng)用程序的主要功能。但是ado使用oledb接口并基于微軟的com技術(shù),而ado.net擁有自己的ado.net接口并且基于微軟的.net體系架構(gòu)。眾所周知.net體系不同于com體系,ado.net接口也就完全不同于ado和oledb接口,這也就是說ado.net和ado是兩種數(shù)據(jù)訪問方式。3.1.2 數(shù)據(jù)訪問方式的歷史 下面簡單的回顧一下微軟的數(shù)據(jù)訪問方式所走過的幾個階段。 odbc (open database connectivity)是第一個使用sql訪問不同關(guān)系數(shù)據(jù)庫的數(shù)據(jù)訪問技術(shù)。使用odbc應(yīng)用程序能夠通過單一的命令操縱不同的數(shù)據(jù)庫,而開發(fā)人員需要做的僅僅只是針對不同的應(yīng)用加入相應(yīng)的odbc驅(qū)動。 dao - (data access objects)不像odbc那樣是面向c/c+程序員的,它是微軟提供給visual basic開發(fā)人員的一種簡單的數(shù)據(jù)訪問方法,用于操縱access數(shù)據(jù)庫。 rdo 在使用dao訪問不同的關(guān)系型數(shù)據(jù)庫的時候,jet引擎不得不在dao和odbc之間進行命令的轉(zhuǎn)化,導(dǎo)致了性能的下降,而rdo(remote data objects)的出現(xiàn)就順理成章了。 oledb 隨著越來越多的數(shù)據(jù)以非關(guān)系型格式存儲,需要一種新的架構(gòu)來提供這種應(yīng)用和數(shù)據(jù)源之間的無縫連接,基于com(component object model)的oledb應(yīng)運而生了。 ado 基于oledb之上的ado更簡單、更高級、更適合visual basic程序員,同時消除了oledb的多種弊端,取而代之是微軟技術(shù)發(fā)展的趨勢。 圖 3. 1 ado架構(gòu)圖表3.1.3 ado與ado.net對照在開始設(shè)計.net體系架構(gòu)時,微軟就決定重新設(shè)計數(shù)據(jù)訪問模型,以便能夠完全的基于xml和離線計算模型。兩者的區(qū)別主要有: ado以recordset存儲,而ado.net則以dataset表示。recordset看起來更像單表,如果讓recordset以多表的方式表示就必須在sql中進行多表連接。反之,dataset可以是多個表的集合。ado 的運作是一種在線方式,這意味著不論是瀏覽或更新數(shù)據(jù)都必須是實時的。ado.net則使用離線方式,在訪問數(shù)據(jù)的時候ado.net會利用xml制作數(shù)據(jù)的一份幅本,ado.net的數(shù)據(jù)庫連接也只有在這段時間需要在線。 由于ado使用com技術(shù),這就要求所使用的數(shù)據(jù)類型必須符合com規(guī)范,而ado.net基于xml格式,數(shù)據(jù)類型更為豐富并且不需要再做com編排導(dǎo)致的數(shù)據(jù)類型轉(zhuǎn)換,從而提高了整體性能。 下面就是以圖表的形式描繪了ado.net體系:圖 3. 2 ado.net架構(gòu)圖表本系統(tǒng)采用ado.net技術(shù),其中為了操作方便與安全數(shù)據(jù)操作大多采用存儲過程實現(xiàn)。具體用到sqlconnection打開一個數(shù)據(jù)庫連接,sqlcomman 執(zhí)行的一個 transact-sql 語句或存儲過程,最后調(diào)用executenonquery方法對連接執(zhí)行 transact-sql 語句并返回受影響的行數(shù)。3.2 asp.net技術(shù)3.2.1 asp與asp.net比較從一開始使用asp,用戶面臨的問題就是:如果應(yīng)用程序要有強大的功能,就需要編寫大量的代碼,所有的功能都必須用代碼來實現(xiàn)。雖然使用一些小技巧可以實現(xiàn)代碼的共享,但是仍然存在大量嵌入html的代碼,難于管理。這還只是一個表面現(xiàn)象。從更深的層次來研究asp.net,會發(fā)現(xiàn)asp.net與asp之間的區(qū)別主要在于以下幾個方面:(1) 效率asp是一個腳本編程環(huán)境,只能用vbscript或者javascript這樣的非模塊化語言來編寫。當(dāng)asp程序完成之后,在每次請求的時候解釋執(zhí)行。這就意味著它在使用其他語言編寫的大量組件的時候會遇到困難,并且無法實現(xiàn)對操作系統(tǒng)的底層操作。由于它是解釋執(zhí)行的,所以速度和效率要遠遠低于編譯執(zhí)行的程序。而asp.net則是建立在.net framework之上的,它可以使用visual basic、c#這樣的模塊化程序設(shè)計語言,并且它在第一次執(zhí)行時進行了編譯,之后的執(zhí)行不需要重新編譯就可以直接運行,所以速度和效率比asp會提高很多。(2) 可重用性在寫asp應(yīng)用程序的時候,asp代碼和html混合在一起。只要有需要,就可以在任意的一個位置插入一段代碼來實現(xiàn)特定的功能。這種方法表面上看起來很方便,但在實際的工作中會產(chǎn)生大量繁瑣的頁面,很難讀懂,導(dǎo)致代碼維護很困難。雖然可以使用include指令盡量讓程序模塊化,但是仍然不是一個最終徹底的解決方案。而asp.net則可以實現(xiàn)代碼和內(nèi)容的完全分離,使得前面提到的問題迎刃而解。(3) 代碼量asp需要對所有的要實現(xiàn)的功能通過編寫代碼來實現(xiàn)。例如,所有的asp程序員都遇到過這樣的情況:為了保證一個用戶數(shù)據(jù)提交頁面的友好性,當(dāng)用戶輸入錯誤的時候會顯示錯誤的位置,并盡量把用戶原來的輸入在控件中顯示出來。這樣的一個應(yīng)用需要程序員編寫大量的代碼來實現(xiàn)。雖然它實在是一個非常簡單的功能,但在其他的應(yīng)用程序中根本不需要編寫這么多的代碼就可以實現(xiàn)。在asp.net中,我們會發(fā)現(xiàn)只要預(yù)先說明,這樣的功能asp.net就可以自動實現(xiàn)。所以相對來說,要實現(xiàn)同樣的功能,使用asp.net比使用asp的代碼量要小得多。3.2.2 asp.net的優(yōu)點通過上面對asp缺點的介紹,我們可以很容易地理解asp.net已經(jīng)解決了這些問題。事實的確如此,并且asp.net所提供的不僅僅是這些。下面是asp.net的4個主要目標(biāo): 使代碼更清晰 提高可部署性、可伸縮性、安全性以及可靠性 為不同的瀏覽器和設(shè)備提供更好的支持 支持一種全新的web應(yīng)用程序但我們一般不會直接使用這些新特性,因為common language runtime (clr)會處理其中的大多數(shù)特性。asp.net的強大功能: 1. 多語言asp曾在腳本引擎方面受到了限制,特別是vbscript和jscript。而.net framework本質(zhì)上就支持多語言,因此我們可以使用任何需要的語言。在默認情況下,visual basic .net、c#和jscript .net都附帶了clr(它們都是經(jīng)過編譯的),另外還可以使用許多第三方語言,例如perl、cobol等。此外,visual studio .net增加了對visual c+的支持和java實現(xiàn)(稱為 j# .net)。由于多語言支持是.net framework的一部分,因此不論使用何種語言都沒有關(guān)系。很明顯,從用戶的觀點來看,保持某種程度上的兼容性可能是最好不過的(例如僅僅為了維護),但對于架構(gòu)而言,語言的使用是沒有任何限制的。多語言支持的作用并不僅僅限于可使用什么語言,同時還在于如何使用這些語言。通過它可以用某種語言編寫組件,而用另一種語言來使用(或重用)這些組件。比如用c#編寫基于服務(wù)器的控件,然后在visual basic .net中繼承這些控件,接著在jscript .net (或任何.net支持的語言)中繼續(xù)繼承這些控件。2. 服務(wù)器處理使用asp的一大問題在于頁面簡單地定義了一個大函數(shù),該函數(shù)開始于頁面的開頭,結(jié)束于頁面的末尾。不管頁面的內(nèi)容是純html還是asp生成的html,它都是按照頁面順序顯示的。因此,邏輯代碼依賴于它在頁面中的位置,并且無法將html控件作為目標(biāo),除非將它們作為流的一部分進行顯示。我們所做的任何工作都需要編寫代碼,包括html元素的輸出。而asp.net就解決了這個問題,方法是為控件引入一個聲明的基于服務(wù)器的模型。這對asp開發(fā)人員來說是一個截然不同的概念,因為控件在服務(wù)器上聲明,可以在服務(wù)器上編程,也可以是客戶端驅(qū)動的事件。這聽起來確實不可思議,但使用起來很簡單。為把一個普通的html控件變成一個服務(wù)器控件,只需將runat=server作為一個特性添加到代碼中。例如:這是一個標(biāo)準(zhǔn)的html控件,增加了runat特性后,就可以利用服務(wù)器端的代碼對該控件進行編程了。例如,如果要將該控件置于一個窗體中,并且將該窗體提交回同一個頁面中,就可以在服務(wù)器端代碼中做以下修改:dim personfirstname as stringpersonfirstname = firstname.text控件在服務(wù)器上運行,將允許我們使用id特性來直接識別它。這樣代碼就具有更高的可讀性,原因在于不必引用窗體的內(nèi)容或者將這些內(nèi)容復(fù)制到變量中。同時直接引用控件也就更加自然了,從而使頁面的開發(fā)更加簡單。3.3 javascript腳本語言script(腳本)是由一組可以在客戶端瀏覽器上運行的命令組合而成的語言,可以把它想像成一個運行于客戶端上的可執(zhí)行程序。目前在網(wǎng)頁編制上比較流行的腳本語言包括vbscript及javascript。它們都是一種與html語言相似的描述性語言,也是以文本形式存在,不像c語言或java語言那樣,需要編譯連接成字節(jié)碼形式的可執(zhí)行程序。script語句可以單獨存成文檔,也可以被嵌入到html的文件之中,與html語句結(jié)合在一起。當(dāng)需要將script語句直接加入到html文件中時,只要使用一個html標(biāo)記符號即可。例如: temp var i = 10;document.write (i);this is a javascript example.另外,script程序在html中的位置也比較自由,它可以在html文件中的任何位置。腳本語言是一種解釋性語言,可以直接由瀏覽器來解釋執(zhí)行。并且可以直接訪問瀏覽器中的各種對象,如窗口對象、文檔對象、框架對象、超鏈接對象等。腳本語言可以實現(xiàn)的功能很多,可以用于定義網(wǎng)頁、在網(wǎng)頁中加入動畫、對網(wǎng)頁中的各種元素進行處理,特別是在處理表單方面有很強功能。不僅如此,它還可以很方便地控制瀏覽器中的各對象的屬性。例如,可以實現(xiàn)打開或關(guān)閉瀏覽器窗口、設(shè)置窗口狀態(tài)、改變窗口中的超鏈接位置等??傊恍┏S玫墓δ芏伎梢杂媚_本語言實現(xiàn)。java語言的功能很強大,在網(wǎng)頁設(shè)計中非常的有效,但是它要求創(chuàng)建applet的人員必須是程序設(shè)計員。sun microsystems(太陽微系統(tǒng))公司為了消除對于web站點的開發(fā)人員的特殊要求,專門發(fā)布了javascript。javascript腳本語言是一種解釋性,基本對象的腳本語言。雖然,它沒有那些真正意義上的面向?qū)ο笳Z言那么多的特性,但是對于它的預(yù)期功能而言,它能夠?qū)崿F(xiàn)的功能已經(jīng)夠大了。javascript并不是任何一種語言的刪節(jié)版(它只是與java語言的關(guān)系很接近),它也不是任何一種語言的簡化版。然而,它的使用是有限的。不能使用它創(chuàng)建一個獨立的應(yīng)用,比如,它幾乎不能進行文件的讀寫。此外,javascript腳本只能運行在解釋性語言的環(huán)境下,或是web服務(wù)器和web瀏覽器上。javascript是一種比較隨意的語言,這就并不意味著不一定必須明確地聲明變量的類型。此外,在很多情況下,javascript腳本語言在需要的時候可以進行自動轉(zhuǎn)換。javascript是java與html結(jié)合的產(chǎn)物,html文檔中可以嵌套javascript命令,但是javascript語句不需要編譯,瀏覽器可以直接執(zhí)行javascript語句。利用javascript結(jié)合ccs可以創(chuàng)建交互能力很強的web界面。開發(fā)設(shè)計得bbs系統(tǒng)中就運用了腳本語言,來完成表單提交前的數(shù)據(jù)驗證任務(wù)通過使用腳本語言既防止了大量錯誤數(shù)據(jù)被提交到服務(wù)器,進而節(jié)約了寶貴的系統(tǒng)資源;也使網(wǎng)頁更加美觀、操作更加方便。大大提高了系統(tǒng)的性能。第四章校園bbs系統(tǒng)設(shè)計與實現(xiàn)4.1基于.net的三層web體系結(jié)構(gòu)三層體系結(jié)構(gòu)將web應(yīng)用程序分成三個不同的邏輯層次:表示層,中間層(應(yīng)用邏輯層)和數(shù)據(jù)層。采用“瀏覽器web服務(wù)器數(shù)據(jù)庫系統(tǒng)”的三層結(jié)構(gòu)模型具有網(wǎng)絡(luò)通訊量小、易于維護和擴展、支持異構(gòu)數(shù)據(jù)庫等特點,從而滿足了目前信息網(wǎng)絡(luò)的要求。三層結(jié)構(gòu)的模型圖如圖 4. 1 三層結(jié)構(gòu)模型所示:數(shù)據(jù)庫服務(wù)器(數(shù)據(jù)邏輯)web服務(wù)器(應(yīng)用邏輯)前臺模塊(用戶界面)表示層 中間層 數(shù)據(jù)層圖 4. 1 三層結(jié)構(gòu)模型目前,流行的三層web體系結(jié)構(gòu)主要有基于的omg的corba、基于微軟com+和基于sun公司的rmi的分布式三層體系結(jié)構(gòu)。這些的三層結(jié)構(gòu)存在著許多缺陷,如互操作性能差、難于跨平臺運行等。microsoft.net是創(chuàng)建可互操作的分布式應(yīng)用程序的新平臺,客戶端和服務(wù)器間能夠自由地用http進行通信,不論兩個程序的平臺和編程語言是什么,應(yīng)用程序間通信不受現(xiàn)有proxy和防火墻的限制,真正做到了能跨平臺、跨語言。基于.net的web三層體系結(jié)構(gòu)如圖 4. 2基于.net的三層web體系結(jié)構(gòu)圖所示:.netweb servicesasp.net ado.netc#,vb (dataset)數(shù)據(jù)庫服務(wù)器瀏覽器browser表示層 中間層 數(shù)據(jù)層圖 4. 2基于.net的三層web體系結(jié)構(gòu)圖1)表示層在表示層中,.net是由asp.net web forms來實現(xiàn)的。基于服務(wù)器端的動態(tài)頁面技術(shù),可以在服務(wù)器端根據(jù)客戶端請求和提交的信息,動態(tài)地生成與客戶端瀏覽器類型無關(guān)的通用頁面,也可html以根據(jù)客戶端瀏覽器類型,生成特定的數(shù)據(jù)表現(xiàn)形式,因此這里的表示層是指面向瀏覽器的表示層。web forms控件負責(zé)生成用戶接口。它提出了一種將應(yīng)用程序代碼和用戶接口內(nèi)容分離的更加結(jié)構(gòu)化的方法,使asp.net網(wǎng)頁能動態(tài)地編譯到類中,用以提高性能。每個引入的http請求都被傳遞到一個新的網(wǎng)頁實例,因此開發(fā)人員不需要關(guān)心代碼中的線程安全性。asp.net web forms框架起到了如下作用:l 建立和使用可重用的用戶界面控件,封裝常用的功能,減少頁面書寫代碼的工作量;l 給開發(fā)者提供結(jié)構(gòu)清晰、風(fēng)格井然的頁面邏輯;l 強大的所見即所得(wysiwyg)的頁面開發(fā)工具;l 使用任何支持的編程語言(例如現(xiàn)階段支持的c、vb、vc、jscript)進行開發(fā),不同語言的asp.net代碼將是可以互操作的。2)中間層在應(yīng)用邏輯層,分布式業(yè)務(wù)組件負責(zé)企業(yè)應(yīng)用的商業(yè)邏輯部署。由于這些業(yè)務(wù)組件經(jīng)常負責(zé)處理數(shù)據(jù)庫連接、網(wǎng)絡(luò)資源、線程等高昂的資源,因此一直是三層多層架構(gòu)的關(guān)鍵和企業(yè)應(yīng)用的核心。.net平臺內(nèi)建了對web的支持。web services是基于網(wǎng)絡(luò)、分布式的模塊化組件,它執(zhí)行特定任務(wù),遵守具體的技術(shù)規(guī)范,這些規(guī)范使得web services能與其他兼容的組件進行互操作。3)數(shù)據(jù)層.net框架使用ado.net完成對數(shù)據(jù)庫的訪問。在創(chuàng)建基于web的應(yīng)用程序時我們在asp.net中使用ado.net技術(shù)通過網(wǎng)絡(luò)和web進行數(shù)據(jù)訪問.ado。.net技術(shù)是一個基于標(biāo)準(zhǔn)的、面向創(chuàng)建分布式數(shù)據(jù)共享應(yīng)用程序的編程模型,是ado技術(shù)延伸和發(fā)展,帶來了比ado技術(shù)更為優(yōu)越的互操作性、可維護性、司編程性和更出色的性能。ado.net包含了所有允許數(shù)據(jù)處理的類,這些類擁有典型的數(shù)據(jù)訪問功能(如索引、排序和視圖)的數(shù)據(jù)容器對象。在需要斷開連接訪問遠程數(shù)據(jù)的解決方案中,ado.net使用xml在程序和網(wǎng)絡(luò)之間實現(xiàn)數(shù)據(jù)交換。任何能夠讀取xml數(shù)據(jù)的組件都能處理ado.net組件。用xml格式的數(shù)據(jù)集傳送信息,是開發(fā)者能夠輕易地把處理數(shù)據(jù)的部分和用戶界面的部分分別放在不同的服務(wù)器上。因此,它能夠極大地提高性能和增強支持多用戶系統(tǒng)的可維護性。ado.net還為基于web的數(shù)據(jù)分享應(yīng)用程序提供了極大的可伸縮性。web應(yīng)用是當(dāng)今分布式應(yīng)用最廣泛的應(yīng)用方式。基于.net的三層結(jié)構(gòu)在web中的應(yīng)用顯著提高了應(yīng)用程序的跨平臺性和互操作性,增強了系統(tǒng)的靈活性、開放性。因此,我們將這一項新興技術(shù)應(yīng)用到課題的研究中。4.2系統(tǒng)功能4.2.1概述本校園bbs論壇采用基于.net的web三層體系結(jié)構(gòu):表示層、中間系統(tǒng)處理層(web服務(wù)器)和數(shù)據(jù)層(網(wǎng)頁庫、討論資料和學(xué)習(xí)記錄資料庫)。前臺應(yīng)用即表示層功能,包括登錄與注冊、教學(xué)互動、分類討論、資源共享等,后臺管理包括安全管理、帖子管理、公告管理、板塊管理、用戶管理、數(shù)據(jù)統(tǒng)計等。bbs論壇中的帖子、附件等都直接存儲到數(shù)據(jù)庫,通過sql語言實現(xiàn)信息挖掘。我們采用數(shù)據(jù)庫來存儲bbs系統(tǒng)中的信息,因為數(shù)據(jù)庫存儲相對簡單且高效,能夠?qū)bs進行更好的控制,也能夠?qū)Y料提供一些驗證和保護。本論壇的開發(fā)為了bbs系統(tǒng)在校園中得到更多的實踐與應(yīng)用,以求促進信息化教育的發(fā)展。師生利用論壇進行課程的教與學(xué),充分利用論壇的教學(xué)資源庫以求實現(xiàn)學(xué)習(xí)效果與教學(xué)質(zhì)量的提高。學(xué)生可以通過在論壇中交流與討論,以實現(xiàn)問題的解決和知識的獲取,培養(yǎng)學(xué)生創(chuàng)新能力與合作精神;教師可以通過論壇來進行討論、經(jīng)驗分享及反思教學(xué)經(jīng)驗,以促進科學(xué)教師的專業(yè)教學(xué)知識與技能。目前本系統(tǒng)已經(jīng)初步體現(xiàn)知識管理的思想,構(gòu)建了一個教學(xué)資源庫,隨著系統(tǒng)的功能不斷完善,必將使資源庫成為一個知識庫,通過社區(qū)眾多用戶與學(xué)習(xí)者的互動交流,最終達到知識共享與知識創(chuàng)新。4.2.2系統(tǒng)整體架構(gòu)校園bbs系統(tǒng)包含“用戶功能”和“后臺管理”兩大模塊,用戶功能模塊包含:登錄與注冊、教學(xué)互動、分類討論、帖子管理等子模塊;后臺管理模塊包含:安全管理、帖子管理、公告管理、板塊管理、用戶管理、數(shù)據(jù)統(tǒng)計等子模塊。下面給出系統(tǒng)的整體架構(gòu)圖如圖 4. 3 整體架構(gòu)圖所示。瀏覽者用戶注冊登錄管理板塊瀏覽板塊管理用戶發(fā)帖瀏覽帖子回帖管理帖子管理員圖 4. 3 整體架構(gòu)圖系統(tǒng)存在著兩種用戶:注冊用戶和管理員。用戶的權(quán)限是向下覆蓋的,即上級權(quán)限包含下級權(quán)限,在我們的論壇中,管理員的權(quán)限是上級權(quán)限。管理員具有系統(tǒng)的最高權(quán)限,包括系統(tǒng)的用戶功能與后臺管理的全部權(quán)限。4.2.3系統(tǒng)用例圖通過系統(tǒng)整體架構(gòu)進行分析,我們已經(jīng)了解系統(tǒng)所具有的整體功能,下面對帖子、板塊和用戶等對象的相關(guān)方法進行分析,給出相關(guān)用例圖如下。用戶管理員瀏覽帖子編輯帖子回帖管理帖子編輯刪除發(fā)帖置頂圖 4. 4 帖子管理用戶管理員修改個人信息注冊登錄管理用戶設(shè)置權(quán)限添加刪除圖 4. 5 信息管理4.3 數(shù)據(jù)庫設(shè)計本系統(tǒng)采用sql server 2005作為后臺數(shù)據(jù)庫,數(shù)據(jù)庫設(shè)計包括建數(shù)據(jù)庫、建表、關(guān)系、儲存過程、觸發(fā)器等。根據(jù)對系統(tǒng)模塊功能的詳細分析,我們設(shè)計出以下數(shù)據(jù)庫表,如表 4. 1 數(shù)據(jù)庫表所示:表 4. 1 數(shù)據(jù)庫表序號表名說明1articles帖子信息表2restorecard回復(fù)信息表3cataloges一級版塊4userinfo用戶基本信息5grade權(quán)限值與權(quán)限對應(yīng)6userdetail用戶詳細信息7classes二級版塊8news首頁新聞(公告)下面是主要表格設(shè)計:表 4. 2用戶基本信息表(userinfo):字段名類型長度是否為空是否主鍵備注useridint2否是用戶編號usernamenchar(10)10否否用戶名userpwdnvarchar(100)100否否用戶密碼usergroupint2否否用戶組表 4. 3用戶詳細信息表(userdetail):字段名類型長度是否為空是否主鍵備注useridint2否是用戶編號nicknamenchar(10)10是否用戶昵稱scoreint2否否用戶積分usersexchar(2)2否否用戶性別pwdquestext否否密碼提示pwdanswertext否否提示答案headimgtext否否用戶頭像intrtext否否自我介紹loginsumint2否否登錄次數(shù)regtimedatetime否否注冊時間lastlogindatetime否否最后登錄表 4. 4一級版塊表(cataloges):字段名類型長度是否為空是否主鍵備注catalogidint2否是版塊idcatalognamenvarchar(100)否否版塊名catalogmanagerint2是否管理員idcatalogintrtext否否版塊介紹表 4. 5二級版塊表(classes):字段名類型長度是否為空是否主鍵備注classidint2否是版塊idclassnamenvarchar(100)否否版塊名classintrtext否否版塊介紹classimgtext否否版塊圖片catalogidint2否否附屬版塊classmangerint2否否管理員表 4. 6帖子表(articles):字段名類型長度是否為空是否主鍵備注articleidint2否是帖子idclassidint2否否附屬版塊articlenamenvarchar(100)否否主題名articletexttext否否主題內(nèi)容authorint2否否發(fā)帖人restoresumint2否否回復(fù)數(shù)seesumint2否否查看數(shù)edittimedatetime否否編輯時間表 4. 7帖子回復(fù)表(restorecard):字段名類型長度是否為空是否主鍵備注cardidint2否是回復(fù)idcardinfotext否否回復(fù)內(nèi)容articleidint2否否附屬帖子floorint2否否樓數(shù)fromuserint2否否回復(fù)人idrestoretimedatetime否否回復(fù)時間表 4. 8用戶組表(grade):字段名類型長度是否為空是否主鍵備注gradeidint2否是用戶組idgradevalueint2否否權(quán)限值gradeitemnchar(10)10否否用戶組名4.4 數(shù)據(jù)庫連接及數(shù)據(jù)綁定本論壇采用web.config文件保存連接字符串: 系統(tǒng)數(shù)據(jù)庫操作大部分采用存儲過程實現(xiàn),這樣可以避免數(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論