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

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  摘 要:1</b></p><p><b>  0 前言1</b></p><p>  1 系統(tǒng)所用軟件簡介1</p><p>  1.1 MyEclipse簡介1</p>&l

2、t;p>  1.2 MySQL簡介2</p><p>  1.3 Tomcat簡介2</p><p>  1.4 JDK簡介4</p><p>  2 系統(tǒng)所用語言簡介4</p><p>  2.1 Java基礎(chǔ)簡介4</p><p>  2.2 JSP簡介6</p><p>

3、  2.3 Servlet簡介7</p><p>  2.4 JavaScript簡介7</p><p>  3 系統(tǒng)需求分析7</p><p>  3.1系統(tǒng)的性能要求分析7</p><p>  3.2系統(tǒng)功能需求分析7</p><p><b>  4 系統(tǒng)設(shè)計8</b></p

4、><p>  4.1 運行環(huán)境設(shè)計8</p><p>  4.2 功能模塊設(shè)計8</p><p>  4.3 數(shù)據(jù)庫設(shè)計8</p><p><b>  5 系統(tǒng)實現(xiàn)9</b></p><p>  5.1 首頁模塊9</p><p>  5.2 個人中心模塊13<

5、;/p><p>  5.3 管理員模塊20</p><p><b>  6 軟件測試20</b></p><p>  6.1 軟件測試簡介20</p><p>  6.2 功能測試21</p><p><b>  7 結(jié)論21</b></p><p&

6、gt;<b>  參考文獻22</b></p><p>  基于JSP的精品課程網(wǎng)站設(shè)計與實現(xiàn)</p><p>  摘 要: </p><p>  本論文主要工作為精品課網(wǎng)站的設(shè)計及實現(xiàn)。通過本網(wǎng)站,可以使用戶能夠在線的查閱有關(guān)課程的最新信息,了解知識。使教學(xué)更加方便,方便學(xué)生在

7、家或?qū)嬍易约簩W(xué)習(xí),提高學(xué)生自學(xué)能力,也節(jié)省學(xué)生、老師的時間。</p><p><b>  關(guān)鍵詞: </b></p><p>  精品課程;網(wǎng)站; JSP;JavaBean; Servlet; Access</p><p><b>  0 前言</b></p><p>  人類社會的發(fā)展與知識的傳遞

8、有著一種必然的聯(lián)系,教育是人類傳遞知識的最直接最有效的方式。在21世紀這個信息高度發(fā)達,并且高速流通的時代,計算機的普及以及計算機網(wǎng)絡(luò)技術(shù)的應(yīng)用,讓大量普通人能夠有機會接觸到比以往更多的知識。作為一個以傳播知識為主要職能的機構(gòu)——學(xué)校建立一個自己的精品課程網(wǎng)站是十分必要的事情,這不僅是能使更多的人享用寶貴的教育資料源,同時也對于提升學(xué)校自身的知名度,提高學(xué)生自學(xué)能力,有相當(dāng)大的幫助。</p><p>  在世界范

9、圍內(nèi)來看,有關(guān)精品課程網(wǎng)站研究一直都在進行并且不斷取得進步,特別是西方發(fā)達國家,他們在精品課程的理論研究與實際運用方法積累了大量的經(jīng)驗,雖然我們中國國內(nèi)在精品課程網(wǎng)站這一方面的研究起步較晚,但我們同樣也取得了大量豐碩的成果。各個高校相繼創(chuàng)建了各自的精品課程網(wǎng)站,清華大學(xué)、人民大學(xué)、北京大學(xué)等一大批知名學(xué)府利用自身的資源優(yōu)勢,引領(lǐng)中國國內(nèi)精品課程網(wǎng)站的發(fā)展方面。政府的大力支持,各高等學(xué)府的積極配合,使得我們國內(nèi)精品課程網(wǎng)站的研究取得了不俗

10、的成就。</p><p>  1 系統(tǒng)所用軟件簡介</p><p>  1.1 MyEclipse簡介</p><p>  1.1.1 MyEclipse簡介</p><p>  MyEclispe企業(yè)級工作平臺(MyEclipse Enterprise Workbench,簡稱MyEclipse)是一個十分優(yōu)秀的用于開發(fā)Java,J2EE的

11、Eclispe插件集合。在MyEclispe 6.0以前版本需要先安裝Eclipse,以后的版本安裝時則不需安裝。其功能非常強大,支持也十分廣泛,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā),發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的Java集成開發(fā)環(huán)境,包括了完備的編碼 調(diào)試 測試和發(fā)布功能,完整的支持HTML,Struts,JSP,CSS,JavaScript,JDBC,Servlet,AJAX等多項功能。&l

12、t;/p><p>  1.1.2 MyEclipse分類</p><p>  在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類:</p><p> ?。?)JavaEE模型</p><p> ?。?)WEB開發(fā)工具</p><p>  (3)EJB開發(fā)工具</p><p> ?。?)應(yīng)用程序服務(wù)器的

13、連接器</p><p> ?。?)JavaEE項目部署服務(wù)</p><p><b> ?。?)數(shù)據(jù)庫服務(wù)</b></p><p> ?。?)MyEclipse整合幫助</p><p>  對于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,

14、可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。</p><p>  1.2 MySQL簡介</p><p>  MySQL是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前屬于Oracle公司。MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站

15、總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。</p><p>  1.3 Tomcat簡介</p><p>  1.3.1 Tomcat基本簡介</p><p>  Tomcat服務(wù)器是一個免費的開放源代碼的Web 應(yīng)用服務(wù)器,是Apache軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、S

16、un 和其他一些公司及個人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn)。因為Tomcat 技術(shù)先進、性能穩(wěn)定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的Web 應(yīng)用服務(wù)器。目前最新版本是7.0。</p><p>  Tomcat是一個輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使

17、用,是開發(fā)和調(diào)試JSP程序的首選。其運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能,更是受到廣大程序員的喜歡。</p><p>  1.3.2 Tomcat常用目錄結(jié)構(gòu)</p><p>  /bin:存放windows或Linux平臺上啟動或關(guān)閉Tomcat的腳本文件。</p><p>  /conf:存放Tomcat服務(wù)器的各種全

18、局配置文件,其中最重要的是server.xml和web.xml。</p><p>  /webapps:Tomcat的主要Web發(fā)布目錄,默認情況下把Web應(yīng)用文件放于此目錄。</p><p>  /src:存放Tomcat的源代碼。</p><p>  /work:存放JSP編譯后產(chǎn)生的class文件。</p><p>  /server/

19、lib:存放Tomcat服務(wù)器所需的各種JAR文件。</p><p>  1.3.3 Tomcat與MyEclipse的連接問題</p><p>  MyEclipse自帶一個Tomcat插件,但性能不好,一般自己配置Tomcat。配置方法為:在MyEclipse中選擇Window,然后點擊preference,在列表中選擇MyEclipse,繼續(xù)選擇Servers,點擊Tomcat,按照

20、你的Tomcat版本選擇目錄,添加路徑后,點擊Tomcat server中的Enable。如圖1-1所示。</p><p>  圖1-1 Tomcat連接圖</p><p><b>  1.4 JDK簡介</b></p><p>  1.4.1 JDK簡介</p><p>  JDK(Java Development K

21、it)是Sun Microsystems針對Java開發(fā)員的產(chǎn)品。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK。JDK 是整個Java的核心,包括了Java運行環(huán)境、Java工具和Java基礎(chǔ)類庫。JDK是學(xué)好Java的第一步。從SUN的JDK5.0開始,提供了泛型等非常實用的功能,其版本也不斷更新,運行效率得到了非常大的提高。如果沒有JDK,就無法編譯Java程序[1]。</p><p> 

22、 1.4.2 JDK基本組件</p><p>  用到的JDK基本組件:</p><p>  Javac-編譯器,將源程序轉(zhuǎn)成字節(jié)碼;</p><p>  jar – 打包工具,將相關(guān)的類文件打包成一個文件;</p><p>  java – 運行編譯后的java程序(.class后綴的);</p><p>  Jav

23、ap:Java反匯編器,顯示編譯類文件中的可訪問功能和數(shù)據(jù),同時顯示字節(jié)代碼含義。</p><p>  2 系統(tǒng)所用語言簡介</p><p>  2.1 Java基礎(chǔ)簡介</p><p>  2.1.1 Java簡介</p><p>  Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計語言(以下簡

24、稱Java語言)和Java平臺的總稱。Java語言被特意設(shè)計用于互聯(lián)網(wǎng)的分布式環(huán)境。Java具有類似于C++語言的“形式和感覺”,但它要比C++語言更易于使用,而且在編程時徹底采用了一種“以對象為導(dǎo)向”的方式。使用Java編寫的應(yīng)用程序,既可以在一臺單獨的電腦上運行,也可以被分布在一個網(wǎng)絡(luò)的服務(wù)器端和客戶端運行。Java 平臺就是基于 Java 語言的平臺[2]。</p><p>  2.1.2 Java特性&l

25、t;/p><p>  Sun 公司對 Java 編程語言的解釋是:Java 編程語言是個簡單、面向?qū)ο?、分布式、解釋性、健壯、安全與系統(tǒng)無關(guān)、可移植、高性能、多線程和動態(tài)的語言[3]。</p><p>  Java語言的語法與C語言和C++語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動

26、的強制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。</p><p>  Java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制。Java語言全面支持動態(tài)綁定,而C++語言只對虛函數(shù)使用動態(tài)綁定。總之,Java語言是一個純的面向?qū)ο蟪绦蛟O(shè)計語言[4]。</p><p>

27、;  Java包括一個支持HTTP和FTP等基于TCP/IP協(xié)議的子庫。因此,Java應(yīng)用程序可憑借URL打開并訪問網(wǎng)絡(luò)上的對象,其訪問方式與訪問本地文件系統(tǒng)幾乎完全相同。</p><p>  Java的強類型機制、異常處理、垃圾的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。</p><p>  Java通常被用

28、在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下載的類具有一個安全防范機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。</p><p>  Java程序(后綴為java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的

29、字節(jié)碼格式(后綴為class的文件),然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。</p><p>  可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強的可移植性,Java編譯器是用Java實現(xiàn)的,Java的運行環(huán)境是用ANSI C實現(xiàn)的。</p><p>  即Java程序在Java平

30、臺上被編譯為字節(jié)碼格式,然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。在運行時,Java平臺中的Java解釋器對這些字節(jié)碼進行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運行環(huán)境中。</p><p>  與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越接近于C++。</p><p>  在Ja

31、va語言中支持多線程,多線程功能使得在一個程序里可同時執(zhí)行多個小任務(wù)。線程,有時也稱小進程,是一個大進程里分出來的小的獨立的進程。 </p><p>  Java的動態(tài)特性是其面向?qū)ο笤O(shè)計方法的發(fā)展。它允許程序動態(tài)地裝入運行過程中所需要的類,這是C++語言進行面向?qū)ο蟪绦蛟O(shè)計所無法實現(xiàn)的。Java編譯器不是將對實例變量和成員函數(shù)的引用編譯為數(shù)值引用,而是將符號引用信息在字節(jié)碼中保存下傳遞給解釋器,再由解釋器在完成

32、動態(tài)連接類后,將符號引用信息轉(zhuǎn)換為數(shù)值偏移量[5]。</p><p><b>  2.2 JSP簡介</b></p><p>  2.2.1 JSP簡介</p><p>  JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標準。JSP技術(shù)有點類似ASP技術(shù),它是在傳

33、統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易[

34、6]。</p><p>  2.2.2 JSP技術(shù)簡述</p><p>  JSP和客戶端的交互是通過HTTP協(xié)議實現(xiàn)的,這個過程主要分為以下4個步驟。</p><p>  客戶端和服務(wù)器建立連接; </p><p><b>  客戶端發(fā)送請求;</b></p><p>  服務(wù)器發(fā)出響應(yīng);

35、 </p><p><b>  關(guān)閉連接;</b></p><p>  所有的JSP程序在首次載入時都被翻譯成Servlet文件,然后在運行,這個工作主要有JSP引擎來完成。當(dāng)?shù)谝淮芜\行一個JSP頁面時,JSP引擎會完成以下操作:</p><p>  (1) 將JSP文件翻譯成Servlet文件(以.Java為后綴),它是一

36、個完整的Java應(yīng)用程序。</p><p> ?。?)JSP引擎調(diào)用Java編譯器編譯Servlet文件得到可執(zhí)行的代碼文件(以.class為后綴)。</p><p>  (3)JSP引擎調(diào)用Java虛擬機解釋執(zhí)行class文件,并將運行結(jié)果返回給客戶端瀏覽器。</p><p> ?。?)服務(wù)器將運行結(jié)果以HTML形式作為響應(yīng)返回給客戶端瀏覽器。</p>

37、<p>  2.3 Servlet簡介</p><p>  Servlet是一種獨立于平臺和協(xié)議的服務(wù)器端的Java應(yīng)用程序,可以生成動態(tài)的Web頁面。 它擔(dān)當(dāng)Web瀏覽器或其他Http客戶程序發(fā)出請求,與HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序之間的中間層[7]。Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進

38、行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機。</p><p>  2.4 JavaScript簡介</p><p>  JavaScript是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應(yīng)用戶的各種操作[8]。它最初由網(wǎng)景公司(Netscape)的Brendan Eic

39、h設(shè)計,是一種動態(tài)、弱類型、基于原型的語言,內(nèi)置支持類。JavaScript是Sun公司的注冊商標。Ecma國際以JavaScript為基礎(chǔ)制定了ECMAScript標準。JavaScript也可以用于其他場合,如服務(wù)器端編程。完整的JavaScript實現(xiàn)包含三個部分:ECMAScript,文檔對象模型,字節(jié)順序記號。</p><p><b>  3 系統(tǒng)需求分析</b></p>

40、;<p>  3.1系統(tǒng)的性能要求分析</p><p> ?。?)磁盤容量要求:</p><p>  本系統(tǒng)屬于B/S模式構(gòu)架,因此存儲容量較小,數(shù)據(jù)庫系統(tǒng)也不是很大,系統(tǒng)文件估計占30M的磁盤空間,數(shù)據(jù)庫文件占用空間也不是很大。不過該精品課程網(wǎng)站中的資源管理模塊將會占用很大的空間。一些管理員的課件資源在文件中將會占用很大的空間。而本機器有320G的空間,足夠放入一些視頻,如

41、果空間不夠,這個就要管理員及時的清空系統(tǒng)中的過期文件[9]。</p><p><b> ?。?)適應(yīng)性要求:</b></p><p>  要求界面友好,菜單清楚,學(xué)生和老師都能很快熟悉網(wǎng)站。對于部分文章、課件的發(fā)布要求達到所見即所得的效果。</p><p>  3.2系統(tǒng)功能需求分析</p><p>  本系統(tǒng)需要采用B

42、/S模式設(shè)計開發(fā),可以作為一般高等院校的精品發(fā)布系統(tǒng)。教師可需要擁有發(fā)表、查看、刪除、修改課程權(quán)限,游客需要可以查看課程,管理員則需要可以查看注冊用戶信息等[10]。</p><p><b>  4 系統(tǒng)設(shè)計</b></p><p>  4.1 運行環(huán)境設(shè)計</p><p>  操作系統(tǒng):Microsoft Windows XP</p&g

43、t;<p>  開發(fā)工具:MyEclipse6.0</p><p>  運行環(huán)境:Tomcat6.0</p><p>  數(shù)據(jù)庫: MySQL </p><p>  4.2 功能模塊設(shè)計</p><p>  系統(tǒng)功能模塊圖如下圖4-1所示:</p><p>  圖4-1 功能模塊圖</p>

44、;<p>  用戶進入首頁后,如未登錄,可以進行搜索課程、查看課程、查看作者等操作。如選擇登錄,則可以進入個人中心頁面,在該頁面可以進行修改個人信息、發(fā)表課程、修改課程、刪除課程等操作。如果是以管理員賬號(賬號:admin,密碼:admin)登錄,則在個人中心多出查看注冊用戶選項。</p><p><b>  4.3 數(shù)據(jù)庫設(shè)計</b></p><p>

45、  數(shù)據(jù)庫概念結(jié)構(gòu)(E-R圖)如圖4-2所下:</p><p><b>  圖4-2 E-R圖</b></p><p>  根據(jù)需求分析,一共設(shè)計四張表:</p><p>  (1)用戶表(用戶ID、用戶姓名、用戶密碼、用戶性別、用戶職位、用戶所屬學(xué)院、用戶籍貫、用戶頭像)。</p><p> ?。?)課程內(nèi)容表(課程I

46、D、課程的主要負責(zé)人、課程名、課程類型、課程發(fā)布日期、教師隊伍簡介、隊伍職位結(jié)構(gòu)、隊伍學(xué)歷結(jié)構(gòu)、隊伍年齡結(jié)構(gòu)、負責(zé)人近五年來講授的主要課程、負責(zé)人在國內(nèi)外發(fā)行刊物發(fā)表的論文、負責(zé)人承擔(dān)的實踐性教學(xué)、負責(zé)人獲得的學(xué)術(shù)研究獎勵、課程簡介、教學(xué)大綱、理論教學(xué)內(nèi)容、實踐教學(xué)內(nèi)容、專家評價、督導(dǎo)組評價、學(xué)生評價、教學(xué)特色介紹、教學(xué)研究、教學(xué)獲獎、參考文獻、網(wǎng)絡(luò)資源)。</p><p> ?。?)學(xué)生作業(yè)表(ID、課程ID、

47、學(xué)生作業(yè))。</p><p> ?。?)歷年考題表(ID、課程ID、歷年考題)。</p><p><b>  5 系統(tǒng)實現(xiàn)</b></p><p><b>  5.1 首頁模塊</b></p><p>  用戶在地址欄中輸入http://localhost:8080/IBMproject/home.

48、jsp,即可進入系統(tǒng)首頁,如下圖5-1所示:</p><p>  圖5-1 首頁展示圖</p><p>  首頁主要有以下幾點功能:</p><p> ?。?)點擊左側(cè)按鈕可跳到各個頁面,比如檢索頁面、登錄頁面、注冊頁面。</p><p> ?。?)最新作品部分可以展示最新發(fā)布的課程,點擊可以進入該課程。</p><p&g

49、t; ?。?)右側(cè)精品課程部分則可以查看優(yōu)秀的課程,點擊可以進入。</p><p> ?。?)著名老師部分可以查看老師信息。</p><p> ?。?)大學(xué)簡介部分有關(guān)于河南大學(xué)的介紹,便于游客了解河南大學(xué)。</p><p>  5.1.1 注冊頁面</p><p>  用戶點擊首頁的注冊,即可進入注冊模塊。頁面展示如5-2所下。</p

50、><p>  圖5-2 注冊頁面圖</p><p>  注冊頁面主要有以下幾點功能:</p><p> ?。?)支持用戶名漢字輸入。</p><p> ?。?)支持密碼確認,防止輸出密碼。</p><p> ?。?)支持籍貫選擇,由動態(tài)選擇框完成。</p><p>  (4)支持頭像圖片上傳。<

51、;/p><p> ?。?)支持驗證碼確認,點擊變化另一張圖片。</p><p>  用戶提交表單后由RegisterServlet控制器跳轉(zhuǎn)到ResponeTime控制器,該控制器主要實現(xiàn)自動跳轉(zhuǎn)功能,三秒之后可以自動跳轉(zhuǎn)到個人中心頁面(index.jsp)。如未跳轉(zhuǎn)可點擊進入。</p><p><b>  部分代碼如下:</b></p>

52、;<p>  response.setCharacterEncoding("utf-8");</p><p>  response.setContentType("text/html;chartset=utf-8");</p><p>  response.setHeader("refresh","3;ur

53、l='index3.jsp'");</p><p>  response.getWriter().write(" <body background='images/register.jpg'>");</p><p>  response.getWriter().write(" <body backgr

54、ound=>");</p><p>  response.getWriter().write("<h1>恭喜您注冊成功,三秒后自動跳轉(zhuǎn)。</h1></br>如未跳轉(zhuǎn)請點擊<a href='userIndex3.jsp'>這里</a>");</p><p>  5.1.2 登錄頁面

55、</p><p>  用戶在首頁點擊登錄,即可進入登錄頁面,頁面如下圖5-3所示:</p><p>  圖5-3 登錄頁面圖</p><p>  輸入用戶名跟密碼后,登錄到個人中心(index.jsp)。</p><p><b>  部分代碼如下:</b></p><p>  request. s

56、etCharacterEncoding("utf-8");</p><p>  String username=EncodingUtil.getNewString(request.getParameter("</p><p>  username"));</p><p>  String password=request.ge

57、tParameter("password");</p><p><b>  try {</b></p><p>  Class.forName("com.mysql.jdbc.Driver");</p><p>  Connection connection=DriverManager.getConnec

58、tion("jdbc:mysql:///test",</p><p>  "root","root");</p><p>  Statement stmt=connection.createStatement();</p><p>  ResultSet rst=stmt.executeQuery(&quo

59、t;select*from users where username='"+</p><p>  username+"' and password='"+password+"'");</p><p>  User user=new User();</p><p>  if(rst.ne

60、xt()){</p><p>  user.setUserid(rst.getInt("userid"));</p><p>  user.setUsername(rst.getString("username"));</p><p>  user.setPassword(rst.getString("passwor

61、d"));</p><p>  user.setSex(rst.getString("sex"));</p><p>  user.setPostition(rst.getString("postition"));</p><p>  user.setCollege(rst.getString("colle

62、ge"));</p><p>  user.setPlace(rst.getString("place"));</p><p>  user.setPic(rst.getString("pic"));</p><p>  request.getSession().setAttribute("user&quo

63、t;,user);request.getRequestDispatcher("../right/index.html").forward(request, response); </p><p>  response.sendRedirect("../index3.jsp");</p><p><b>  }else{</b&

64、gt;</p><p>  request.setAttribute("error","用戶名或密碼錯誤");</p><p>  request.getRequestDispatcher("../../login.jsp").forward(request, response); </p><p><

65、;b>  }</b></p><p>  } catch (Exception e) {</p><p>  // TODO: handle exception</p><p><b>  }</b></p><p>  5.2 個人中心模塊</p><p>  用戶由登錄或者注

66、冊都可進入該頁面,頁面展示如下圖5-4所示:</p><p>  圖5-4 個人中心頁面圖</p><p>  點擊各個菜單即可進入各個功能模塊。</p><p>  5.2.1 個人信息頁面</p><p>  點擊個人信息,進入個人信息頁面。頁面展示如下圖5-5所示:</p><p>  圖5-5 個人信息頁面圖&

67、lt;/p><p>  該頁面可以查看注冊時候的信息,如想修改可以點擊修改按鈕,進入修改個人信息頁面(userModify.jsp)。頁面展示如下圖5-6所示:</p><p>  圖5-6 個人信息修改頁面</p><p>  本頁面自動填寫舊密碼,用戶輸入新密碼即可。</p><p>  該頁面部分代碼如下:</p><p

68、><b>  <table></b></p><p>  <formaction="<%=request.getContextPath()%>/servlet/ModifyServlet" method="post" enctype="multipart/form-data"></p

69、><p>  <input type="hidden" name="userid" value="${user.userid }"></p><p>  <tr><td><h3><font color="#0000EE">用戶姓名:</font>

70、;</h3></td></p><p>  <td><h3><font>${user.username}</font></h3></td></tr></p><p>  <tr><td></td><td><input type=&

71、quot;password" name="password"value="${user.password }"></td></tr></br></p><p>  <tr><td>輸入新密碼</td><td><input type="password"

72、; name="newpassword"></td></tr></br></p><p>  <tr><td>再次輸入新密碼</td><td><input type="password" name="confirmpassword"></td>

73、;</tr></p><p>  5.2.2 課程發(fā)表頁面</p><p>  點擊發(fā)表課程,進入課程發(fā)布頁面。該頁面可以選擇課程類型,輸入課程名稱,如確定發(fā)表可點擊下一步進入課程詳細說明頁面(curriculumMatter.jsp)。頁面展示如下圖5-7所示:</p><p>  圖5-7課程發(fā)布頁面圖</p><p>  該

74、頁面主要用于添加課程的詳細內(nèi)容,共分六部分。</p><p>  (1)隊伍結(jié)構(gòu):由隊伍簡介、職位結(jié)構(gòu)、學(xué)歷結(jié)構(gòu)、年齡結(jié)構(gòu)、學(xué)緣結(jié)構(gòu)組成,同時構(gòu)成一個form表單,響應(yīng)teamStructureServlet控制器,再傳入數(shù)據(jù)庫中。支持ckeditor插件,可設(shè)置字體大小顏色等。</p><p> ?。?)課程主講人:由近五年來講授的主要課程、在國內(nèi)外發(fā)型刊物發(fā)表的論文、承擔(dān)的實踐性教學(xué)、

75、獲得的學(xué)術(shù)研究獎勵組成,也構(gòu)成一個form表單,響應(yīng)curriculumManServlet控制器。</p><p> ?。?)教學(xué)內(nèi)容:由課程簡介、教學(xué)大綱、理論教學(xué)內(nèi)容、實踐性教學(xué)內(nèi)容組成,也構(gòu)成一個form表單,響應(yīng)studyContentServlet控制器。</p><p>  (4)教學(xué)效果:由專家評價、督導(dǎo)組評價、學(xué)生評價組成,支持圖片上傳。該部分因為上傳三種不同圖片,所以響

76、應(yīng)三個控制器studyAchievementServle</p><p>  t1,studyAchievementServlet2,studyAchievementServlet3。</p><p>  (5)教學(xué)特色:由特色介紹、教學(xué)研究、教學(xué)獲獎組成。該部分有文本上傳也有圖片上傳,整體構(gòu)成一個from表單響應(yīng)teachTraitServlet控制器。</p><p

77、>  (6)教學(xué)資源:由學(xué)生作業(yè)、歷年考題、參考文獻、網(wǎng)絡(luò)資源組成。由于學(xué)生作業(yè)與歷年考題涉及到多張圖片上傳問題,所以新建了兩張表beforepaper與studentworkpic,用于存放數(shù)據(jù)。</p><p><b>  部分代碼如下:</b></p><p>  String troopsStructure=EncodingUtil.getNewStri

78、ng(request.getParameter("</p><p>  troopsStructure"));</p><p>  String positionStructure=EncodingUtil.getNewString(request.getParameter("</p><p>  positionStructure&q

79、uot;));</p><p>  String educationStructure=EncodingUtil.getNewString(request.getParameter(</p><p>  "educationStructure"));</p><p>  String studyStructure=EncodingUtil.get

80、NewString(request.getParameter("</p><p>  studyStructure"));</p><p>  String ageStructure=EncodingUtil.getNewString(request.getParameter(</p><p>  "ageStructure"

81、));</p><p>  Curriculum curriculum=(Curriculum) request.getSession().getAttribute("</p><p>  curriculum");</p><p>  int curriculum_id=curriculum.getCurriculum_id();</p&

82、gt;<p><b>  try {</b></p><p>  Class.forName("com.mysql.jdbc.Driver");</p><p>  Connection connection=DriverManager.getConnection( "jdbc:mysql:///test",<

83、;/p><p>  "root","root");</p><p>  Statement stmt=connection.createStatement();</p><p>  String sql="update curriculum"</p><p>  String sql=&

84、quot;update curriculum set curriculum_troopsStructure='"+troopsStruc</p><p>  ture+"',curriculum_position Structure='"+positionStructure+"',curriculum_education</p>

85、<p>  Structure='"+educationStructure+"',curriculum_ageStructure='"+ageStructure+"',</p><p>  curriculum_studyStructure='"+studyStructure+"' where

86、curriculum_id="+</p><p>  curriculum_id;</p><p>  stmt.executeUpdate(sql); </p><p>  } catch (Exception e) {</p><p>  // TODO Auto-generated catch block</p>

87、<p>  e.printStackTrace();</p><p><b>  }</b></p><p>  response.sendRedirect("../curriculumMatter.jsp");</p><p><b>  }</b></p><p&

88、gt;  5.2.3 搜素頁面</p><p>  在個人中心點擊搜索課程,進入課程搜索頁面。如下圖5-8所示:</p><p>  圖5-8 搜索頁面圖</p><p>  本頁面支持多種查找方式,如作者姓名查找、課程名查找、發(fā)表類型查找。都為模糊查找,只要輸入關(guān)鍵字就可以。該頁面響應(yīng)QueryServlet控制器,該控制器部分代碼如下:</p>&

89、lt;p>  request.setCharacterEncoding("utf-8");</p><p>  String queryusername=</p><p>  EncodingUtil.getNewString(request.getParameter("queryusername"));</p><p>

90、;  String findCondition=EncodingUtil.getNewString(request.</p><p>  getParameter("findCondition"));</p><p>  if(findCondition.equals("1")){</p><p>  List<Curr

91、iculum> curriculum=</p><p>  curriculumService.getCurriculumByUserName(queryusername);</p><p>  request.setAttribute("curriculum", curriculum);</p><p>  request.getRequ

92、estDispatcher("/table.jsp").forward(request,response);</p><p>  }else if (findCondition.equals("2")) {</p><p>  List<Curriculum> curriculum=curriculumService.getCurricu

93、lum</p><p>  ByName(queryusername);</p><p>  request.setAttribute("curriculum", curriculum);</p><p>  request.getRequestDispatcher("/table.jsp").forward(request

94、,response);</p><p>  }else if (findCondition.equals("3")) {</p><p>  List<Curriculum> curriculum=curriculumService.getCurriculum</p><p>  ByType(queryusername);</

95、p><p>  request.setAttribute("curriculum", curriculum);</p><p>  request.getRequestDispatcher("/table.jsp").forward(request,response);</p><p><b>  }else{</

96、b></p><p>  System.out.println("錯誤");</p><p><b>  }</b></p><p>  點擊查找進入具體搜索頁面(table.jsp),如下圖5-9所示:</p><p>  圖5-9 課程檢索頁面圖</p><p>  

97、點擊查看即可查看該課程。該部分主要設(shè)計原理為url傳值,代碼部分如下:</p><p>  <a href="<%=request.getContextPath()%>/servlet/checkServlet?id=</p><p>  <%=curriculum.getCurriculum_id()%>">查看</a>

98、</p><p>  本頁面導(dǎo)航菜單對應(yīng)具體信息,點擊即可查看。頁面展示如下圖5-10所示:</p><p>  圖5-10課程查看頁面圖</p><p><b>  部分代碼如下:</b></p><p>  private CurriculumService curriculumService=new Curricu

99、lumServiceImpl();</p><p>  private BeforePaperService beforePaperService=new BeforePaperServiceImpl();</p><p>  privateStudentWorkPICService studentWorkPICService=new StudentWorkPIC</p>&

100、lt;p>  ServiceImpl();</p><p><b>  @Override</b></p><p>  protected void service(HttpServletRequest request, HttpServletResponse response)</p><p>  throws ServletExcep

101、tion, IOException {</p><p>  String curriculum_id=request.getParameter("id");</p><p>  CurriculumAll curriculumAlls=curriculumService.getCurriculumAllById(Curriculum</p><

102、p><b>  _id);</b></p><p>  List<BeforePaperPIC> beforePaperPICs=beforePaperService.getBefore</p><p>  PaperPICById(curriculum_id);</p><p>  List<StudentWorkPI

103、C> studentWorkPICs=studentWorkPICService.getStudent</p><p>  WorkPICById(curriculum_id);</p><p>  request.getSession().setAttribute("beforePaperPIC",beforePaperPICs);</p><

104、;p>  request.getSession().setAttribute("studentWorkPIC", studentWorkPICs);</p><p>  request.setAttribute("curriculumAlls", curriculumAlls); request.getRequestDispatcher("/se

105、eCurriculumAll.jsp").forward(request, response);</p><p>  5.2.4 查看發(fā)表課程頁面</p><p>  在個人中心點擊后,進入如下圖5-11所示頁面:</p><p>  圖5-11 用戶課程信息頁面圖</p><p>  本頁面多出了修改與刪除選項,如想刪除則點擊該按

106、鈕,彈出選擇框,選擇是即可刪除,如想修改,點擊修改按鈕,進入修改課程頁面。如下圖5-12所示:</p><p>  圖5-12修改課程頁面圖</p><p>  本頁面自動添加課程信息,方便作者修改。</p><p><b>  5.3 管理員模塊</b></p><p>  在登錄時,如果以管理員賬號登錄則會進入管理員

107、模塊,管理員賬號:admin,密碼admin。管理員擁有查看其它用戶資料的權(quán)限,同時也可以擁有普通用戶的權(quán)限。頁面展示如下圖5-13所示:</p><p>  圖5-13 個人信息中心圖</p><p><b>  6 軟件測試</b></p><p>  6.1 軟件測試簡介</p><p>  測試是每個軟件開發(fā)過程

108、中必須經(jīng)歷的階段,它是貫穿在整個軟件開發(fā)的過程中的。測試的目的是為了發(fā)現(xiàn)系統(tǒng)中存在的缺陷,并盡可能地為修正錯誤提供更多的信息,使系統(tǒng)更加地完善。測試的對象包括數(shù)據(jù)、程序和文檔。測試的方法分為動態(tài)測試和靜態(tài)測試兩種。靜態(tài)測試分為人工測試和計算機輔助測試;動態(tài)測試分為黑盒測試和白盒測試。</p><p><b>  6.2 功能測試</b></p><p>  測試方法很

109、多,但是測試是一項非常復(fù)雜的工作,不可能對每一個可能出現(xiàn)的情況都一一測試到。下面僅僅舉一個用戶登錄的例子來說明對網(wǎng)站系統(tǒng)所做的功能測試[11]。</p><p>  在用戶登錄的時候,要求用戶名和密碼是必須填寫的信息。本測試主要是通過對輸入的用戶信息進行分析與判斷,得出預(yù)期的輸出結(jié)果。然后將實際的輸出結(jié)果與預(yù)期的輸出結(jié)果進行比較,得出最終的結(jié)論。</p><p>  1.登錄失敗的測試:&

110、lt;/p><p><b>  測試用例見表6-1</b></p><p><b>  表6-1用例表</b></p><p>  輸入以上登錄信息以后,頁面顯示用戶登錄失敗。</p><p>  2.登錄成功的測試:</p><p><b>  測試用例見表6-2&l

111、t;/b></p><p><b>  表6-2用例表</b></p><p>  輸入以上登錄信息以后,頁面顯示用戶登錄成功。</p><p><b>  7 結(jié)論</b></p><p>  本畢業(yè)設(shè)計實現(xiàn)了課程的發(fā)布、瀏覽、刪除、修改等功能,并設(shè)置管理員權(quán)限。功能雖少,但五臟俱全,頁面美

112、觀整潔,代碼工整,系統(tǒng)要求配置不高,運行速度快。是幾個月辛苦之所得。</p><p>  當(dāng)然,本畢業(yè)設(shè)計也有很多需要改進的地方,如沒有使用SSH框架,配置文件使用較少等,這些都是我需要努力學(xué)習(xí)的地方。</p><p><b>  參考文獻</b></p><p>  [1] 殷兆麟. Java語言程序設(shè)計. 北京:高等教育出版社,2002.5

113、6~60</p><p>  [2] 孫衛(wèi)琴. Java面向?qū)ο缶幊? 北京:電子工業(yè)出版社,2006.70~86</p><p>  [3] 薛為民, 夏文紅, 解侖. Java應(yīng)用教程. 北京:北京交通大學(xué)出版社,2005.30~40</p><p>  [4] 劉藝等.Java程序設(shè)計大學(xué)教程. 北京:機械工業(yè)出版社,2006.15~40</p>

114、<p>  [5] 張白一, 崔尚森. 面向?qū)ο蟪绦蛟O(shè)計Java. 西安:西安電子科技大學(xué)出版社,2006.46~70</p><p>  [6] Cay S.Horstmann. Java核心技術(shù). 北京:機械工業(yè)出版社,2009.17~453</p><p>  [7] 李芝興. Java程序設(shè)計之網(wǎng)絡(luò)編程. 北京:清華大學(xué)出版社,2006.60~79</p>

115、<p>  [8] 朱喜福. Java 程序設(shè)計. 北京:清華大學(xué)出版社 2004.59~90</p><p>  [9] 歐陽桂秀. Java語言程序設(shè)計. 上海:上海交通大學(xué)出版社,2004.46~70</p><p>  [10] 朱福喜,唐曉軍. .Java程序設(shè)計技巧與開發(fā)實例. 北京:人民郵電出版社,2004.78~90</p><p>  

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論