2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  基于WEB的Java精品課程網站的設計與實現(xiàn)</p><p><b>  摘 要</b></p><p>  在Internet飛速發(fā)展的今天,互聯(lián)網成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經濟、生活等各個方面發(fā)揮著重要的作用。Internet上發(fā)布信息主要是通過網站來實現(xiàn)的,獲取信息也是要在Internet“海洋”中按照一定的

2、檢索方式將所需要的信息從網站上下載下來。因此網站建設在Internet應用上的地位顯而易見,它已成為政府、企事業(yè)單位信息化建設中的重要組成部分,從而倍受人們的重視。 本畢業(yè)設計主要完成該精品課網站的設計及實現(xiàn)。</p><p>  通過本網站,可以使用戶能夠在線的查閱有關課程的最新信息,了解Java知識,下載課程的課件,在線觀看課程的講座,并可進行在線

3、答疑等。使教學更加方便,方便學生在家或寢室自己學習,提高學生自學能力,也節(jié)省學生、老師的時間。</p><p>  關鍵詞  精品課程;網站; JSP;JavaBean; Servlet; Access </p><p>  The Java-based WEB Quality Course Design and Implementation of Web site </p>

4、<p><b>  ABSTRACT</b></p><p>  The rapid development of the Internet today, Internet access to become a fast release and an important channel for transmitting information, it's politica

5、l, economic, and other aspects of life play an important role. Published information on the Internet is mainly achieved through the website, access to information is also in the Internet "sea" in the search acc

6、ording to certain ways the information they need to download from the site. Therefore the construction site in the status of Internet ap</p><p>  KEY WORDS Courses, JSP, JavaBean, Servlet, Access ,Site<

7、/p><p><b>  目 錄</b></p><p><b>  摘 要1</b></p><p>  ABSTRACT2</p><p><b>  1緒論4</b></p><p>  1.1系統(tǒng)開發(fā)背景4</p>

8、<p>  1.2系統(tǒng)當前現(xiàn)狀4</p><p>  1.3精品課程網站研究的意義5</p><p>  1.4本文的主要工作5</p><p>  2系統(tǒng)所用技術概述7</p><p>  2.1Java理論基礎7</p><p>  2.2jsp簡介8</p>&l

9、t;p>  2.2.1什么是JSP8</p><p>  2.2.2JSP技術原理9</p><p>  2.2.3JSP運行機制10</p><p>  2.3Servlet簡介10</p><p>  2.3.1什么是Servlet10</p><p>  2.3.2Servlet技術的

10、特點10</p><p>  2.3.3Servlet的生命周期11</p><p>  2.4Struts簡介11</p><p>  2.4.1什么是Struts11</p><p>  2.4.2Struts框架的主要組件和原理11</p><p>  2.5CSS簡介12</p>

11、;<p>  2.5.1什么是CSS12</p><p>  2.5.2CSS分類13</p><p>  2.5.3CSS的特點13</p><p>  2.6Access13</p><p>  2.7XML的基本概念15</p><p>  3系統(tǒng)的分析設計與實現(xiàn)18<

12、/p><p>  3.1系統(tǒng)架構設計概述18</p><p>  3.1.1三層架構18</p><p>  3.1.2MVC簡介19</p><p>  3.1.3三層架構的優(yōu)點21</p><p>  3.1.4數(shù)據(jù)訪問層21</p><p>  3.2系統(tǒng)需求分析22&

13、lt;/p><p>  3.2.1系統(tǒng)定義22</p><p>  3.2.2功能需求22</p><p>  3.2.3數(shù)據(jù)需求22</p><p>  3.3系統(tǒng)模塊設計23</p><p>  3.4數(shù)據(jù)庫設計24</p><p>  3.4.1數(shù)據(jù)庫設計概述24<

14、;/p><p>  3.4.2數(shù)據(jù)庫概念結構設計24</p><p>  3.5系統(tǒng)詳細設計與實現(xiàn)25</p><p>  3.5.1網站首頁25</p><p>  3.5.2課程介紹27</p><p>  3.5.3課程內容28</p><p>  3.5.4網上課堂3

15、0</p><p>  3.5.5常用下載35</p><p>  3.5.6參考資料36</p><p>  3.5.7后臺管理37</p><p>  4系統(tǒng)的難點及解決方案44</p><p>  4.1文件上傳問題44</p><p>  4.2樹形菜單的設計44

16、</p><p>  5系統(tǒng)總結與展望46</p><p>  5.1系統(tǒng)的總結46</p><p>  5.2系統(tǒng)的展望46</p><p><b>  致  謝47</b></p><p><b>  參考文獻48</b></p><p

17、><b>  緒論</b></p><p><b>  系統(tǒng)開發(fā)背景</b></p><p>  人類社會的發(fā)展與知識的傳遞有著一種必然的聯(lián)系,教育是人類傳遞知識的最直接最有效的方式。在21世紀這個信息高度發(fā)達,并且高速流通的時代,計算機的普及以及計算機網絡技術的應用,讓大量普通人能夠有機會接觸到比以往更多的知識。作為一個以傳播知識為主要職

18、能的機構——學校建立一個自己的精品課程網站是十分必要的事情,這不僅是能使更多的人享用寶貴的教育資料源,同時也對于提升學校自身的知名度,提高學生自學能力,有相當大的幫助。</p><p><b>  系統(tǒng)當前現(xiàn)狀</b></p><p>  在世界范圍內來看,有關精品課程網站研究一直都在進行并且不斷取得進步,特別是西方發(fā)達國家,他們在精品課程的理論研究與實際運用方法積累

19、了大量的經驗,雖然我們中國國內在精品課程網站這一方面的研究起步較晚,但我們同樣也取得了大量豐碩的成果。各個高校相繼創(chuàng)建了各自的精品課程網站,清華大學、人民大學、北京大學等一大批知名學府利用自身的資源優(yōu)勢,引領中國國內精品課程網站的發(fā)展方面。政府的大力支持,各高等學府的積極配合,使得我們國內精品課程網站的研究取得了不俗的成就。</p><p>  精品課程網站研究的意義</p><p>  

20、根據(jù)我國教育水平的現(xiàn)狀,盡管我國的現(xiàn)代教育水平在新中國成立之后取得了巨大的進步,但是相對于西方發(fā)達國家而言我們還十分落后。人口多而教育資源缺乏影響著我國受過高等教育的人在人口比例中所占的比重,這嚴重的制約了我國社會的發(fā)展與進步,這對于提高我國國民的文化科學素養(yǎng)十分不利。怎樣才能讓更多的人享有本因只有一少部分人才能享有的教育資源呢?對于這個問題,前人已經做了大量的研究。隨著計算機技術以及計算機網絡技術的飛速發(fā)展,人們終于找到了一條實現(xiàn)這種

21、夢想的捷徑,那就是寄希望于把各種教育資源移置到互聯(lián)網上去,使得各地方的人都能夠方便的獲取到各種自己想要的知識,打破傳統(tǒng)教育資源分配不均的限制,使得更多的人能夠有機會獲取到知識,這就是精品課程網站研究的實現(xiàn)意義。</p><p><b>  本文的主要工作</b></p><p>  如果從一個較低層次來理解什么是精品課程網站。那么首先它是一個網站,因此它必須具備一個網

22、站所應該擁有開放性、可用性、安全性、可維護性等屬性。要做到這些,就必須要求在設計與實現(xiàn)過程中更多的去了解與網絡有關的知識。其次,精品課程網站設計與實現(xiàn)的主要目的是傳播知識,因此它必須具備一些與教育有關的功能,比如考試、答疑等功能。作者認為精品課程網站應是一個與時代接軌的產物,因此它還需要具備這一個時代所必須的一些特性,比如信息化、高效、遠程和資源共享等特點。因此,本文的主要目的是分析說明精品課程網站研究應具有的各項功能以及其實現(xiàn)過程。&

23、lt;/p><p>  本文的組織結構是這樣安排的:“第1章緒論”,從系統(tǒng)開發(fā)背景、系統(tǒng)當前現(xiàn)狀、國內外對精品課程網站的研究現(xiàn)狀以及精品課程研究的意義等方面給大家做一個簡要的介紹;“第2章系統(tǒng)所用技術說明與設計”,將著重介紹精品課程的發(fā)展概況,技術介紹;“第3章精品課程網站的實現(xiàn)”,重點介紹如何實現(xiàn)此精品課程網站各功能系統(tǒng)的需求分析,精品課程網站各個功能的設計以及系統(tǒng)的執(zhí)行流程;“結論”部分對整篇文章進行總結分析,對

24、此精品課程網站的優(yōu)點與缺點進行簡單總結。</p><p><b>  系統(tǒng)所用技術概述</b></p><p><b>  Java理論基礎</b></p><p>  Java是一種簡單的、面向對象的、分布式的、健壯的、安全的、結構中立的、可移植的、性能很優(yōu)異的、多線程的、動態(tài)的語言。 </p><p

25、><b>  (1)簡單 </b></p><p>  Java的風格類似于C++,并且摒棄了C++中容易引發(fā)程序錯誤的地方,如指針和內存管理。 此外Java提供了豐富的類庫。 </p><p><b> ?。?)面向對象 </b></p><p>  面向對象可以說是Java最重要的特性。Java語言的設計完全是面

26、向對象的。Java支持靜態(tài)和動態(tài)風格的代碼繼承及重用。 </p><p><b>  (3)分布式 </b></p><p>  Java包括一個支持HTTP和FTP等基于TCP/IP協(xié)議的子庫。因此,Java應用程序可憑借URL打開并訪問網絡上的對象,其訪問方式與訪問本地文件系統(tǒng)幾乎完全相同。</p><p><b> ?。?)健壯

27、 </b></p><p>  Java致力于檢查程序在編譯和運行時的錯誤。Java自己操縱內存減少了內存出錯的可能性。Java提供Null指針檢測數(shù)組邊界、檢測異常出口、字節(jié)代碼校驗。 </p><p><b> ?。?)安全 </b></p><p>  Java的安全性可從兩個方面得到保證。一方面,在Java語言里,像指針和釋

28、放內存等C++功能被刪除,避免了非法內存操作。另一方面,當Java用來創(chuàng)建瀏覽器時,語言功能和瀏覽器本身提供的功能結合起來,使它更安全。</p><p><b> ?。?)結構中立 </b></p><p>  為了建立Java作為網絡的一個整體,Java將它的程序編譯成一種結構中立的中間文件格式。只要有Java運行系統(tǒng)的機器都能執(zhí)行這種中間代碼。Java源程序被編譯

29、成一種高層次的與機器無關的byte-code格式語言,這種語言被設計在虛擬機上運行,由機器相關的運行調試器實現(xiàn)執(zhí)行。 </p><p><b> ?。?)可移植的 </b></p><p>  Java的可移植性一直是Java程序設計師們的精神指標,也是Java之所以能夠受到程序設計師們喜愛的原因之一,最大的功臣就是JVM的技術。JAVA編譯器產生的目標代碼(J-Co

30、de) 是針對一種并不存在的CPU--JAVA虛擬機(JAVA Virtual Machine),而不是某一實際的CPU。JAVA虛擬機能掩蓋不同CPU之間的差別,使J-Code能運行于任何具有JAVA虛擬機的機器上。 </p><p><b> ?。?)高性能 </b></p><p>  Java可以在運行時直接將目標代碼翻譯成機器指令。Sun用直接解釋器一秒鐘內

31、可調用300,000個過程。翻譯目標代碼的速度與C/C++的性能沒什么區(qū)別。 </p><p><b>  (9)多線程 </b></p><p>  Java支持多線程,多線程功能使得在一個程序里可同時執(zhí)行多個小任務。線程,有時也稱小進程,是一個大進程里分出來的小的獨立的進程。</p><p><b>  (10)動態(tài) </b

32、></p><p>  Java的動態(tài)特性是其面向對象設計方法的發(fā)展。它允許程序動態(tài)地裝入運行過程中所需要的類,這是C++語言進行面向對象程序設計所無法實現(xiàn)的。Java編譯器不是將對實例變量和成員函數(shù)的引用編譯為數(shù)值引用,而是將符號引用信息在字節(jié)碼中保存下傳遞給解釋器,再由解釋器在完成動態(tài)連接類后,將符號引用信息轉換為數(shù)值偏移量。</p><p><b>  jsp簡介

33、</b></p><p>  JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet是jsp技術的基礎,而且大型的web應用程序的開發(fā)需要Java Servlet和jsp配合才能完成。Jsp具備了Java技術的簡單易用,完全面向對象,具有平臺無關性且安全可靠,主要面向Inte

34、rnet的所有特點。</p><p><b>  什么是JSP</b></p><p>  JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網頁技術標準。JSP技術有點類似ASP技術,它是在傳統(tǒng)的網頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(t

35、ag),從而形成JSP文件(*.jsp)。JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態(tài)網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。</p><p><b>  JSP技術原理</b><

36、/p><p>  JSP和客戶端的交互是通過HTTP協(xié)議實現(xiàn)的,這個過程主要分為以下4個步驟。</p><p>  (1) 客戶端和服務器建立連接</p><p>  (2) 客戶端發(fā)送請求</p><p>  (3) 服務器發(fā)出響應</p><p><b>  (4) 關閉連接</b></p&

37、gt;<p>  圖2-1 客戶端請求和響應的過程</p><p><b>  JSP運行機制</b></p><p>  所有的JSP程序在首次載入時都被翻譯成Servlet文件,然后在運行,這個工作主要有jsp引擎來完成。當?shù)谝淮芜\行一個jsp頁面時,jsp引擎會完成以下操作:</p><p>  將jsp文件翻譯成Servl

38、et文件(以.Java為后綴),它是一個完整的Java應用程序。</p><p>  Jsp引擎調用Java編譯器編譯Servlet文件得到可執(zhí)行的代碼文件(以.class為后綴)。</p><p>  Jsp引擎調用Java虛擬機解釋執(zhí)行class文件,并將運行結果返回給客戶端瀏覽器。</p><p>  服務器將運行結果以HTML形式作為響應返回給客戶端瀏覽器。

39、</p><p><b>  Servlet簡介</b></p><p>  什么是Servlet</p><p>  Servlet是一種獨立于平臺和協(xié)議的服務器端的Java應用程序,可以生成動態(tài)的Web頁面。 它擔當Web瀏覽器或其他Http客戶程序發(fā)出請求,與HTTP服務器上的數(shù)據(jù)庫或應用程序之間的中間層。Servlet是位于Web 服務

40、器內部的服務器端的Java應用程序,與傳統(tǒng)的從命令行啟動的Java應用程序不同,Servlet由Web服務器進行加載,該Web服務器必須包含支持Servlet的Java虛擬機。</p><p>  Servlet技術的特點</p><p>  Servlet帶給開發(fā)人員的最大好處是它可以處理客戶端傳來的Http請求,并返回一個響應。Servlet是一個Java的類,Java語言能實現(xiàn)的功能

41、,Servlet基本上都能實現(xiàn)。Servlet有以下優(yōu)勢。</p><p><b>  (1) 可移植性</b></p><p><b>  (2) 功能強大</b></p><p><b>  (3) 安全</b></p><p><b>  (4) 簡潔</

42、b></p><p><b>  (5) 集成</b></p><p><b>  (6) 模塊化</b></p><p>  (7) 擴展性和靈活性</p><p><b>  (8) 高效耐久</b></p><p>  Servlet的生命周

43、期</p><p>  Servlet生命周期定義了一個Servlet如何被加載,初始化,以及它怎樣接收請求,響應請求,提供服務。Servlet生命周期如圖所示。</p><p>  圖2-2 Servlet的生命周期</p><p><b>  Struts簡介</b></p><p><b>  什么是S

44、truts</b></p><p>  Struts是一個開源的Java web框架。它很好的實現(xiàn)了MVC(模型,視圖和控制器)設計模式。通過一個配置文件,它把各個層面的應用組件聯(lián)系起來,使組件在程序層面上聯(lián)系較少,耦合度較低,這就大大提高了應用程序的可維護性和可擴展性。</p><p>  Struts框架的主要組件和原理</p><p>  Stru

45、ts 控制器組件主要包括:充當Struts框架的中央控制器的ActionServlet組件、充當每個子應用模塊的請求處理器的RequestProcessor組件、負責處理一項具體的業(yè)務的Action組件。</p><p>  Struts 的另一特點是使用ActionForm Bean,ActionForm Bean也是一種JavaBean,除了具有一些JavaBean的常規(guī)方法,還包含一些特殊的方法,

46、用于驗證HTML表單數(shù)據(jù)以及將其屬性重新設置為默認值。Struts框架利用ActionForm Bean來進行View組件和Controller組件之間表單數(shù)據(jù)的傳遞。JSP文件使用Struts標簽讀取修改后的ActionForm Bean的信息,重新設置HTML表單。</p><p>  圖2-3 Struts 工作原理圖</p><p><b>  CSS簡介</b&g

47、t;</p><p>  CSS(層疊樣式表)是用來進行網頁風格設計的,它簡化并擴展了HTML中的各種標記,使得各個標記的屬性更具有一般性和通用性,大大提高了HTML開發(fā)的效率.在制作網頁時采用CSS技術,可以有效地對頁面的布局,字體,顏色,背景和其他效果實現(xiàn)更加精確的控制,只要對相應的代碼作一些簡單的修改,就可以改變同一頁面的不同部分,或者頁數(shù)不同的網頁的外觀和格式。</p><p>&

48、lt;b>  什么是CSS</b></p><p>  CSS是Cascading Style Sheet的縮寫,可以譯成“層疊樣式表”或“級聯(lián)樣式表”。</p><p><b>  CSS分類</b></p><p>  CSS中,Cascading是“層疊”的意思,也就是說在同一個Web文檔中可以有多個樣式表存在,這些樣式

49、表根據(jù)所在的位置,擁有不同的優(yōu)先級,優(yōu)先級越高,就會在最后顯示時被采用。從樣式表插入的形式看可以分為3種。</p><p> ?。?)內聯(lián)式樣式表;</p><p> ?。?)嵌入式樣式表;</p><p>  (3)外部式樣式表;</p><p><b>  CSS的特點</b></p><p>

50、;  CSS是用來擴展HTML的,而不是用來替換HTML的,也就是說CSS不能脫離HTML,它只是一項輔助工具。除了可擴展HTML的樣式設定外,CSS使得網頁的設計與維護更加高效,這主要表現(xiàn)在以下幾個方面。</p><p>  (1)減少圖形文件的使用</p><p> ?。?)集中管理樣式信息</p><p><b>  (3)設定共享樣式</b&

51、gt;</p><p>  (4)將樣式分類使用</p><p><b>  Access</b></p><p>  Access作為最基本最常用的數(shù)據(jù)庫技術,因其操作簡單,可用性強,對當前系統(tǒng)配置要求低而被廣泛利用。</p><p>  利用ADO訪問數(shù)據(jù)庫</p><p>  ADO(Act

52、iveX Data Objects)是一種操作Microsoft所支持的數(shù)據(jù)庫的新技術。在ASP中,ADO可以看作是一個服務器組件(Server Component),更簡單點說,是一系列的對象,應用這些功能強大的對象,即可輕松完成對數(shù)據(jù)庫復雜的操作。本文中個性化頁面的實現(xiàn)便大量地用到了ADO技術。</p><p>  具體的操作步驟可以歸納為以下幾步:</p><p>  1.創(chuàng)建數(shù)據(jù)庫

53、源名(DSN)</p><p>  2.創(chuàng)建數(shù)據(jù)庫鏈接(Connection)</p><p><b>  3.創(chuàng)建數(shù)據(jù)對象</b></p><p><b>  4.操作數(shù)據(jù)庫</b></p><p>  5.關閉數(shù)據(jù)對象和鏈接</p><p><b>  每一步的

54、作法如下:</b></p><p><b>  一、創(chuàng)建數(shù)據(jù)源名</b></p><p>  DSN(Date Source Name)即數(shù)據(jù)源名稱。我們知道,ODBC是一種訪問數(shù)據(jù)庫的方法,只要系統(tǒng)中有相應的ODBC驅動程序,任何程序就可以通過ODBC操縱驅動程序的數(shù)據(jù)庫。比如我們系統(tǒng)中有Access的ODBC驅動程序,那么即使我們沒有Access軟件,

55、也可以在我們的程序中對一個Access的MDB數(shù)據(jù)庫加、刪、改記錄。而且我們根本不用知道這個數(shù)據(jù)庫是放在哪里的。我們只要寫出SQL語句,ODBC驅動程序就會幫我們做一切事情。我們在給ODBC驅動程序傳SQL指令時,即是用DSN來告訴它到底操作的是哪一個數(shù)據(jù)庫。如果數(shù)據(jù)庫的平臺變了,比如我們改用了SQL Server的數(shù)據(jù)庫,只要其中表的結構沒變,我們就不用改寫我們的程序,只要重新在系統(tǒng)中配置DSN就行了。由此可見,DSN是應用程序和數(shù)據(jù)

56、庫之間的橋梁。</p><p>  二、創(chuàng)建數(shù)據(jù)庫鏈接(Connection)</p><p>  ,計算機范文網 www.jsjfw.net,鏈接用以保持一些關于正在訪問的數(shù)據(jù)的一些狀態(tài)信息,以及鏈接者信息。ASP文件中如果要訪問數(shù)據(jù),必須首先創(chuàng)建與數(shù)據(jù)庫的鏈接,其語法如下:</p><p>  set Conn=Server.createObject(“ADOB

57、D.CONNECTION”)</p><p>  這條語句創(chuàng)建了鏈接對象Conn,接下來:</p><p>  connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data.Source="&Server.MapPath(""&db&"")</p><p&

58、gt;  conn.Open connstr</p><p>  這條語句打開鏈接,用到了DSN,本例為“connstr”。</p><p>  以上兩個步驟缺一不可,因為鏈接對象的創(chuàng)建與打開是兩回事,只有打開了才真正可以使用。</p><p>  三、創(chuàng)建數(shù)據(jù)對象(Record Set)</p><p>  ADO中的數(shù)據(jù)對象通常保存的是查

59、詢結果。Record Set是ADO中最復雜的對象,有許多屬性和方法。Record Set保存的是一行行的記錄,并標有一個當前記錄。以下是創(chuàng)建方法:</p><p>  Set Record Set=Conn.Execute(sqtStr)</p><p>  這條語句創(chuàng)建并打開了對象Record Set,其中Con是先前創(chuàng)建的鏈接對象,rs是一個字串,代表一條標準的SQL語句。例如:&l

60、t;/p><p>  rs=“SELECT * FROM shop_books”</p><p>  Set Record Set=mConn.Execute(rs)</p><p>  這條語句執(zhí)行后,對象Record Set中就保存了表tab1中的所有記錄。</p><p><b>  四、操作數(shù)據(jù)庫</b></p

61、><p>  我們通過調用鏈接對象的Execute方法來將查詢結果返回給一個數(shù)據(jù)對象或進行插入、刪除等操作。例如:</p><p>  rs=“INSERT INTO tab1 VALUES(1,2)”</p><p>  mConn.Execute(rs)</p><p><b>  /執(zhí)行插入操作</b></p&g

62、t;<p>  五、關閉數(shù)據(jù)對象和鏈接對象</p><p>  在使用了ADO對象之后要關閉它,因為它使用了一定的服務器資源。通過調用方法close實現(xiàn)關閉,然后再釋放它。</p><p>  Record Set.close</p><p>  Set Record Set=Nothing</p><p>  /關閉創(chuàng)建的數(shù)據(jù)

63、對象</p><p>  mConn.close</p><p>  Set mConn=Nothing</p><p>  /關閉創(chuàng)建的鏈接對象</p><p><b>  XML的基本概念</b></p><p>  簡單地說,XML規(guī)范是一組由Word Wide Web Consortium

64、(W3C,萬維網聯(lián)盟)定義的規(guī)則,用于用普通的文本描述結構化的數(shù)據(jù)[7]。與HTML一樣,XML是一種標記語言,建立在放在尖括號中的標記的基礎上,它也是SGML(Standard Generalized Markup Language,標準通用標記語言)的一個子集。與HTML一樣,XML的文本本質使其數(shù)據(jù)具有高度的可移植性和廣泛的可部署性。另外,XML文檔可以在任意標準文本編輯器中創(chuàng)建和編輯。</p><p> 

65、 但與HTML不同的是,XML的標記集并不是固定的,它是一種元語言,允許創(chuàng)建其他標記語言。正是這種定義新標記的能力,使XML成為一種真正的可擴展語言。與HTML的另一個區(qū)別是,HTML主要用于顯示,而XML主要考慮的是數(shù)據(jù)及其結構。因此,XML在其語法規(guī)則上要嚴格得多,或有“良好的格式”。</p><p>  在XML1.0標準中說明了XML的制定目標:</p><p> ?。?)XML文

66、檔應該具有良好的可讀性,并且比較清晰。</p><p> ?。?)XML設計的置標語言應該真實、簡潔。</p><p>  盡管因為XML出現(xiàn)時間不長,相應的編輯瀏覽工具不成熟,而且應用有限,但隨著時間的推移,XML將成為網絡開發(fā)和數(shù)據(jù)庫的重要技術。XML具有如下一些特點:</p><p> ?。?)內容與形式分離:在HTML中,數(shù)據(jù)內容和表現(xiàn)形式是混在一起的,這樣

67、當改變數(shù)據(jù)的表現(xiàn)形式時,更新文檔的工作量很可觀。對于XML文檔而言,標記是包含信息的,比如關鍵字、繼承關系等,這些信息對于數(shù)據(jù)的檢索、描述起著巨大的簡化作用。當只想改變數(shù)據(jù)的表現(xiàn)形式時,我們只需要修改從XML文檔中分離出的用于數(shù)據(jù)表現(xiàn)的樣式單就可以了。</p><p>  (2)良好的可擴展性:XML允許程序制定自己的標記集,滿足自己的需要。同樣,一個行業(yè)或某一特定人群也可以制定在自己范圍內的通用標記集。這樣,X

68、ML可以輕松地適應每一個領域而無需對語言本身作大修改。另外,要說明的是XML的數(shù)據(jù)定義也是與數(shù)據(jù)本身分離,獨立存在的。這樣使XML的標記集不斷擴大,對于有特殊要求的人,他們可以選擇需要的標記集。</p><p>  (3)良好的移植性:XML語言可以定義各種數(shù)據(jù),向文本、圖像、聲音等。這些數(shù)據(jù)往往有很多種不同的格式,使得數(shù)據(jù)不能在各種系統(tǒng)之間交流,或使用額外的轉換軟件來實現(xiàn)跨平臺的交流。XML的這個特性使得只要交

69、換數(shù)據(jù)的系統(tǒng)能夠處理一種格式的文件,即XML文檔,就能處理由XML標記的各種數(shù)據(jù),從而實現(xiàn)了不同格式數(shù)據(jù)的跨平臺交換。</p><p>  (4)良好的自描述性:良好的自描述性使得XML數(shù)據(jù)可以被不同的應用程序分析處理。并且XML的自描述性可以使一篇XML文檔被人理解。通過標記、元素之間的關系,數(shù)據(jù)要表達的內容就會一清二楚。</p><p>  系統(tǒng)的分析設計與實現(xiàn)</p>

70、<p><b>  系統(tǒng)架構設計概述</b></p><p>  系統(tǒng)架構就是一個軟件系統(tǒng)從整體到部分的最高層次的劃分。其對系統(tǒng)的開發(fā)設計與后期維護和擴展有很重要作用。系統(tǒng)架構設計除了要實現(xiàn)用戶要求的主要功能外,還應該實現(xiàn)以下的目標:</p><p> ?。?)可擴展性:滿足用戶對新增功能的需求;</p><p> ?。?)安全性:保

71、護用戶的數(shù)據(jù)是一個系統(tǒng)必須面對的問題;</p><p>  (3)可定制性:允許根據(jù)不同用戶的需求進行調整;</p><p>  (4)穩(wěn)定性:軟件運行時保持穩(wěn)定的性能,才可以提高用戶的工作效率。</p><p>  系統(tǒng)架構設計主要包括:應用軟件系統(tǒng)架構、系統(tǒng)集成架構設計、系統(tǒng)接口設計等。</p><p><b>  三層架構&l

72、t;/b></p><p>  三層結構最簡單的說就是將系統(tǒng)分為表層、中間層和底層。表層就是與用戶打交道,中間層就是傳遞用戶的參數(shù)給底層,然后再返回底層處理的結果給表層。隨著三層架構越來越多的應用,軟件研發(fā)者細分了三層結構。圖3-1是一個瀏覽器/服務器(B/S)結構的三層細分架構應用系統(tǒng)。</p><p>  圖3-1 B/S模式三層結構圖</p><p> 

73、 從圖3-1中我們可以知道,整個應用系從處理功能上被分為3層。</p><p> ?。?)表示層:用戶接口部分,擔負著用戶與系統(tǒng)間的對話功能。</p><p>  (2)功能層:實現(xiàn)業(yè)務邏輯功能的算法和處理。處理表示層的輸入或調用數(shù)據(jù)層返回數(shù)據(jù)結果。功能層主要包括業(yè)務功能和數(shù)據(jù)功能兩部分。業(yè)務功能在功能層內部就可以解決,數(shù)據(jù)功能必須依靠數(shù)據(jù)層的交互才可以完成。</p><

74、;p>  (3)數(shù)據(jù)層:就是對數(shù)據(jù)庫中數(shù)據(jù)的管理。通常為了提高數(shù)據(jù)讀取速度,在數(shù)據(jù)庫中使用大量的存儲過程。在數(shù)據(jù)層中使用盡量少的SQL語句,便于以后的維護。</p><p><b>  MVC簡介</b></p><p>  模型-視圖-控制器(MVC)是80年代Smalltalk-80出現(xiàn)的一種軟件設計模式,現(xiàn)在已經被廣泛的使用。</p><

75、;p>  1、模型(Model)</p><p>  模型是應用程序的主體部分。模型表示業(yè)務數(shù)據(jù),或者業(yè)務邏輯。2、視圖(View)</p><p>  視圖是應用程序中用戶界面相關的部分,是用戶看到并與之交互的界面。</p><p>  3、控制器(controller) </p><p>  控制器工作就是根據(jù)用戶的輸入,控制用戶

76、界面數(shù)據(jù)顯示和更新model對象狀態(tài)。</p><p>  MVC 式的出現(xiàn)不僅實現(xiàn)了功能模塊和顯示模塊的分離,同時它還提高了應用系統(tǒng)的可維護性、可擴展性、可移植性和組件的可復用性 。</p><p>  早期的程序中,如果不注意對數(shù)功能和顯示的解耦合,常常會導致程序的復雜及難以維護。很多VB,Delphi等RAD程序都有這種問題。甚至現(xiàn)在的C#,Java有時候也會出現(xiàn)把業(yè)務邏輯寫在顯示模

77、塊中的現(xiàn)象 。</p><p>  管MVC設計模式很早就提出,但在Web項目的開發(fā)中引入MVC卻是步履維艱。主要原因:一是在早期的Web項目的開發(fā)中,程序語言和HTML的分離一直難以實現(xiàn)。CGI程序以字符串輸出的形式動態(tài)地生成HTML內容。后來隨著腳本語言的出現(xiàn),前面的方式又被倒了過來,改成將腳本語言書寫的程序嵌入在HTML內容中。這兩種方式有一個相同的不足之處即它們總是無法將程序語言和HTML分離。二是腳本語

78、言的功能相對較弱,缺乏支持MVC設計模式的一些必要的技術基礎。直到基于J2EE的JSP Model 2問世時才得以改觀。它用JSP技術實現(xiàn)視圖的功能,用Servlet技術實現(xiàn)控制器的功能,用JavaBean技術實現(xiàn)模型的功能。 </p><p>  JSP Model 1 與 JSP Model 2</p><p>  SUN在JSP出現(xiàn)早期制定了兩種規(guī)范,稱為Model1和Model2。

79、雖然Model2在一定程度上實現(xiàn)了MVC,但是它的應用用并不盡如人意。</p><p>  圖3-3 JSP Model 1    圖3-4 JSP Model 2   model2 容易使系統(tǒng)出現(xiàn)多個Controller,并且對頁面導航的處理比較復雜  有些人覺得model2仍不夠好,于是Craig R. McClanahan 2000年5月 提交了一個WEB fr

80、amework給Java Community.這就是后來的Struts。</p><p>  2001年7月,Struts1.0,正式發(fā)布。該項目也成為了Apache Jakarta的子項目之一。</p><p><b>  三層架構的優(yōu)點</b></p><p> ?。?)提高程序的可維護性:三層架構層次分明,一旦運行出現(xiàn)問題,可以快速的判斷

81、是哪一層的問題,利于維護。</p><p>  (2)可以合理快速的開發(fā):因為三層之間除了調用沒有其它關系,只需先把三層之間的接口定義好,則程序員可以并行開發(fā),提高了開發(fā)進度。</p><p> ?。?)提高了系統(tǒng)安全性:每層都有安全設置,即使表示層被攻破,那下一層的安全還有保障。</p><p> ?。?)提高了系統(tǒng)的擴展性:三層結構最大的好處就是在擴展應用系時,

82、改動的部分不會影響大局。</p><p><b>  數(shù)據(jù)訪問層</b></p><p>  數(shù)據(jù)訪問層一般由兩部分組成:業(yè)務實體和數(shù)據(jù)訪問邏輯組件。在三層架構中,數(shù)據(jù)訪問層是唯一與數(shù)據(jù)庫打交道的層,所以該層的設計要盡量以提高速度和安全為目標。</p><p>  (1)數(shù)據(jù)訪問邏輯組件</p><p>  數(shù)據(jù)訪問邏輯

83、組件簡單來講就是實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)進行操作的組件,以及實現(xiàn)數(shù)據(jù)相關操作所需的業(yè)務邏輯。</p><p><b>  (2)業(yè)務實體</b></p><p>  使用業(yè)務實體,必須明白業(yè)務實體的內部構造和關聯(lián)方式。業(yè)務實體的主要特點如下:</p><p> ?、偬峁I(yè)務數(shù)據(jù)及相關功能進行編程訪問。</p><p> ?、?/p>

84、可以使用具有復雜架構的數(shù)據(jù)來創(chuàng)建,這些復雜數(shù)據(jù)一般表現(xiàn)為數(shù)據(jù)庫中相關聯(lián)的多個表。</p><p> ?、劭梢宰鳛闃I(yè)務流程中的輸入輸出參數(shù)來傳遞整體數(shù)據(jù)。</p><p> ?、軜I(yè)務實體可序列化,以保持其狀態(tài)。</p><p> ?、輼I(yè)務實體不參與事務處理,只是事務處理過程中的一部分數(shù)據(jù)。事務處理由數(shù)據(jù)訪問組件完成。</p><p> ?。?)

85、業(yè)務實體的創(chuàng)建</p><p>  數(shù)據(jù)層中的業(yè)務實體類,主要功能是表示一個業(yè)務模型。業(yè)務實體與數(shù)據(jù)表之間有對應關系,即業(yè)務實體類的屬性其實是數(shù)據(jù)表中的字段。</p><p><b>  系統(tǒng)需求分析</b></p><p><b>  系統(tǒng)定義</b></p><p>  Java 精品課程是一個

86、供Java學習愛好者學習與交流的學習網站。它應具有良好的可視性和較好的互動性。</p><p><b>  功能需求</b></p><p>  Java 精品課程網站的目的是為Java學習愛好者提供良好的學習環(huán)境,以彌補學生課堂學習的不足。要求知識點廣,可視化強,交流方便,可利用性強。</p><p><b>  數(shù)據(jù)需求</

87、b></p><p><b> ?。?)留言信息</b></p><p>  網友留言的信息包括網友姓名,郵箱,網站,QQ,以及留言主題,留言內容和發(fā)表留言時間。</p><p><b> ?。?)資源信息</b></p><p>  資源信息主要是上傳文件和發(fā)表文章的相關信息,包括資源類別編

88、號(1.課件資源2.工具資源 3.視頻資源 4.參考源碼 5.發(fā)表文章),資源名稱,資源大小,資源所在路徑,資源提供者以及資源提供時間。</p><p><b> ?。?)新聞信息</b></p><p>  新聞信息是管理員后臺發(fā)布的新聞,包括新聞標題,新聞標題圖片,新聞內容以及新聞發(fā)布時間。</p><p><b>  (4)論壇

89、信息</b></p><p>  Java學習論壇主要為Java學習愛好者提供學習,討論的平臺。論壇信息包括主題標題,主題內容以及發(fā)表時間。</p><p><b>  (5)管理員信息</b></p><p>  管理員信息包括管理員編號,管理員名稱,管理員密碼,管理員IP,以及管理員注冊時間。</p><p&

90、gt;<b>  系統(tǒng)模塊設計</b></p><p>  Java精品課程網站整體設計主要有六個功能模塊:</p><p>  課程介紹,包括Java語言簡介,課程特色,教學條件以及教學方法等內容。主要讓大家了解Java來源的相關知識,以及Java教學的相關問題。</p><p>  課程內容,主要是Java相關知識,共十一個篇章。包括:第1

91、章介紹計算機語言的簡單演化史、語言翻譯程序和虛擬機的基本概念;第2章介紹Java開發(fā)環(huán)境JDK和Eclipse使用的一般知識;第3章以Java的主方法main()為背景,介紹Java語言的基礎知識和簡單算法;第4章介紹了Java面向對象的程序設計,這是本書的重點和難點;第5章介紹了Java異常處理;第6章介紹了Java的基本可重用類包(java.lang和java.io);第7章介紹Java圖形用戶界面;第8章介紹小應用程序(Apple

92、t);第9章介紹體現(xiàn)Java多線程編程;第10章介紹java網絡編程基礎; 第11章介紹Java與數(shù)據(jù)庫的連接——JDBC技術。</p><p>  網上課堂,主要為學生提供更加直觀的教學方式。包括在線視頻授課,學習留言,Java學習論壇,在線試題。</p><p>  常用下載,主要供學生下載Java學習相關資源,包括Java相關資料下載,常用工具下載,參考代碼下載以及學習教程下載。&l

93、t;/p><p>  參考資料,主要為學生提供一些Java學習的相關書籍,網站網址,輔助學習。</p><p>  六、后臺管理,主要實現(xiàn)常用下載的相關資料上傳,留言內容管理,文章發(fā)表和文章管理,新聞管理等。</p><p><b>  數(shù)據(jù)庫設計</b></p><p><b>  數(shù)據(jù)庫設計概述</b&g

94、t;</p><p>  數(shù)據(jù)庫是信息管理系統(tǒng)的后臺支持,存儲著前臺界面所需要的信息,在信息管理系統(tǒng)中有著很重要的地位。數(shù)據(jù)庫設計的好與壞,直接影響到這個系統(tǒng)的運行效率。良好的數(shù)據(jù)庫設計,可以提高數(shù)據(jù)信息的存儲效率,保證數(shù)據(jù)信息的完整性和一直性。同時,一個合理的數(shù)據(jù)庫結構有利于程序的實現(xiàn)。這里選用Access作為后臺數(shù)據(jù)庫。</p><p><b>  數(shù)據(jù)庫概念結構設計<

95、/b></p><p>  本系統(tǒng)中用到了四個實體類分別是:論壇信息實體類Article,留言本信息實體類Message,資源信息實體類Resouce,用戶信息實體類User。</p><p>  本系統(tǒng)模塊中用到的數(shù)據(jù)庫邏輯結構有以下幾個:</p><p>  (1)留言板信息表guestbook</p><p>  (2)論壇信息表

96、 article</p><p>  (3)新聞發(fā)布信息表 news</p><p> ?。?)資源管理信息resource</p><p><b>  系統(tǒng)詳細設計與實現(xiàn)</b></p><p><b>  網站首頁</b></p><p>  網站首頁主體部分大體分為三部

97、分:第一部分是新聞中心,在這里可以閱讀新近發(fā)布的新聞;第二部分是網上大學堂,在這里點擊【網上留言板】直接進入留言板頁面,點擊【Java學習論壇】直接進入論壇頁面,供網友進行在線交流。右側有下載區(qū),可以直接點擊下載所需軟件,點擊【更多】將進入資源下載頁面,那里有更多可供下載的資源;第三部分是日歷和公告板,供網友了解更多信息。</p><p><b>  圖3-5 網站首頁</b></p&

98、gt;<p><b>  首頁CSS控制</b></p><p>  <style type="text/css"></p><p><b>  <!--</b></p><p>  .style5 {color: #000000}</p><p>

99、;<b>  body {</b></p><p>  margin-left: 0px;</p><p>  margin-right: 0px;</p><p><b>  }</b></p><p><b>  .style7 {</b></p><p

100、>  font-size: 14px;</p><p>  font-weight: bold;</p><p>  color: #000066;</p><p><b>  }</b></p><p>  .style8 {color: #003399}</p><p>  .style

101、13 {</p><p>  font-size: 12px;</p><p>  color: #000000;</p><p><b>  }</b></p><p>  .style16 {color: #FF0000; font-weight: bold; }</p><p>  .sty

102、le20 {color: #FF0000}</p><p>  .style21 {</p><p>  color: #003300;</p><p>  font-size: 14px;</p><p>  font-weight: bold;</p><p><b>  }</b></

103、p><p>  .style22 {font-size: 12px}</p><p>  .style23 {color: #666666}</p><p><b>  --></b></p><p><b>  </style></b></p><p><

104、;b>  課程介紹</b></p><p>  在此可了解Java語言簡介,課程特色,教學條件和教學方式。</p><p>  圖3-6 課程介紹界面</p><p><b>  課程內容</b></p><p>  這里以章節(jié)的形式顯示Java語言課程知識。共十一個章節(jié)。</p>&l

105、t;p>  圖3-7 課程內容界面</p><p>  網頁左側用JavaScript控制樹形結構</p><p>  <SCRIPT lanuage="JScript"></p><p>  function turnit(ss)</p><p><b>  {</b></

106、p><p>  if (ss.style.display=="none")</p><p><b>  {</b></p><p>  ss.style.display="";</p><p><b>  }</b></p><p><

107、;b>  else</b></p><p>  {ss.style.display="none"; }</p><p><b>  }</b></p><p><b>  </SCRIPT></b></p><p>  樹形結構的JavaScript

108、應用</p><p>  <TD language="JScript" onmouseup="turnit(Content3);" style="CURSOR: hand"></p><p>  <B><IMG height=9 src="../images/ziliao.jpg"

109、 width="15" height="20"></B><B>2.2 JDK的安裝,環(huán)境配置及使用</B></p><p><b>  </TD></b></p><p><b>  網上課堂</b></p><p>  該模塊可

110、供大家在線學習和交流。在網上課堂頁面,點擊【播放】可以直接觀看java視頻講解,點擊【下載】可以對視頻進行下載。點擊頁面左側“網上留言板”,將直接打開留言板頁面,供大家留言;點擊“學習園地”,將打開發(fā)表的文章頁面,點擊文章名可直接瀏覽文章;點擊“Java學習論壇”,將打開論壇頁面,供大家發(fā)表主題,回復網頁問題等;點擊“在線試題”,將打開試題頁面,供大家對所學知識進行自我檢測。</p><p><b> 

111、?。?)網上課堂</b></p><p>  圖3-8 網上課堂頁面</p><p> ?。?)Java學習論壇</p><p>  論壇回復列表實現(xiàn)樹形顯示</p><p><b>  <%!</b></p><p>  private void tree(List<Ar

112、ticle> articles, Connection conn, int id, int grade) {</p><p>  String sql = "select * from article where pid = " + id;</p><p>  Statement stmt = DB.createStmt(conn);</p><

113、;p>  ResultSet rs = DB.executeQuery(stmt, sql);</p><p><b>  try {</b></p><p>  while (rs.next()) {</p><p>  Article a = new Article();</p><p>  a.initFro

114、mRs(rs);</p><p>  a.setGrade(grade);</p><p>  articles.add(a);</p><p>  if (!a.isLeaf()) {</p><p>  tree(articles, conn, a.getId(), grade + 1);</p><p><

115、b>  }</b></p><p><b>  }</b></p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p>  } finally {</p><p>  DB.close(r

116、s);</p><p>  DB.close(stmt);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  %></b></p><p><b>  <%</b>

117、;</p><p>  List<Article> articles = new ArrayList<Article>();</p><p>  Connection conn = DB.getConn();</p><p>  tree(articles, conn, 0, 0);</p><p>  DB.clos

118、e(conn);</p><p><b>  %></b></p><p><b>  1).論壇列表</b></p><p><b>  圖3-9 論壇列表</b></p><p>  要對主題進行刪除可以單擊【DEL】,點擊后會出現(xiàn)管理員登錄頁面,通過管理員登錄驗證即

119、可進入修改和刪除頁面。</p><p><b>  管理員登錄驗證</b></p><p><b>  <%</b></p><p>  String adminLogined = (String)session.getAttribute("adminLogined");</p>&

120、lt;p>  if(adminLogined == null || !adminLogined.trim().equals("true")) {</p><p>  response.sendRedirect("login.jsp");</p><p><b>  return;</b></p><p&

121、gt;<b>  } </b></p><p><b>  %></b></p><p>  點擊【MOD】可對主題及回帖進行修改,點擊【DEL】可對其進行刪除。</p><p>  2). 管理員操作下論壇列表</p><p>  圖3-10 帖子修改與刪除</p><p

122、><b>  主題回復頁面</b></p><p>  使用FckEditor組件,對回復內容進行編輯</p><p>  FCKeditor文本編輯程序(共享軟件)為用戶提供在線的文檔編輯服務,其具有與微軟office軟件一樣的功能,與之不同的是FCKeditor不需要用戶安裝任何形式的客戶端,F(xiàn)CKeditor程序非常精簡但功能強大,因此而受到廣大應用者的青

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論