版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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基礎簡介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)設計8</b></p
4、><p> 4.1 運行環(huán)境設計8</p><p> 4.2 功能模塊設計8</p><p> 4.3 數(shù)據(jù)庫設計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 結論21</b></p><p&
6、gt;<b> 參考文獻22</b></p><p> 基于JSP的精品課程網(wǎng)站設計與實現(xiàn)</p><p> 摘 要: </p><p> 本論文主要工作為精品課網(wǎng)站的設計及實現(xiàn)。通過本網(wǎng)站,可以使用戶能夠在線的查閱有關課程的最新信息,了解知識。使教學更加方便,方便學生在
7、家或寢室自己學習,提高學生自學能力,也節(jié)省學生、老師的時間。</p><p><b> 關鍵詞: </b></p><p> 精品課程;網(wǎng)站; JSP;JavaBean; Servlet; Access</p><p><b> 0 前言</b></p><p> 人類社會的發(fā)展與知識的傳遞
8、有著一種必然的聯(lián)系,教育是人類傳遞知識的最直接最有效的方式。在21世紀這個信息高度發(fā)達,并且高速流通的時代,計算機的普及以及計算機網(wǎng)絡技術的應用,讓大量普通人能夠有機會接觸到比以往更多的知識。作為一個以傳播知識為主要職能的機構——學校建立一個自己的精品課程網(wǎng)站是十分必要的事情,這不僅是能使更多的人享用寶貴的教育資料源,同時也對于提升學校自身的知名度,提高學生自學能力,有相當大的幫助。</p><p> 在世界范
9、圍內來看,有關精品課程網(wǎng)站研究一直都在進行并且不斷取得進步,特別是西方發(fā)達國家,他們在精品課程的理論研究與實際運用方法積累了大量的經(jīng)驗,雖然我們中國國內在精品課程網(wǎng)站這一方面的研究起步較晚,但我們同樣也取得了大量豐碩的成果。各個高校相繼創(chuàng)建了各自的精品課程網(wǎng)站,清華大學、人民大學、北京大學等一大批知名學府利用自身的資源優(yōu)勢,引領中國國內精品課程網(wǎng)站的發(fā)展方面。政府的大力支持,各高等學府的積極配合,使得我們國內精品課程網(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ā)布以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的Java集成開發(fā)環(huán)境,包括了完備的編碼 調試 測試和發(fā)布功能,完整的支持HTML,Struts,JSP,CSS,JavaScript,JDBC,Servlet,AJAX等多項功能。&l
12、t;/p><p> 1.1.2 MyEclipse分類</p><p> 在結構上,MyEclipse的特征可以被分為7類:</p><p> ?。?)JavaEE模型</p><p> (2)WEB開發(fā)工具</p><p> ?。?)EJB開發(fā)工具</p><p> ?。?)應用程序服務器的
13、連接器</p><p> ?。?)JavaEE項目部署服務</p><p><b> (6)數(shù)據(jù)庫服務</b></p><p> ?。?)MyEclipse整合幫助</p><p> 對于以上每一種功能上的類別,在Eclipse中都有相應的功能部件,并通過一系列的插件來實現(xiàn)它們。MyEclipse結構上的這種模塊化,
14、可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。</p><p> 1.2 MySQL簡介</p><p> MySQL是一個開放源碼的小型關聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前屬于Oracle公司。MySQL被廣泛地應用在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服務器是一個免費的開放源代碼的Web 應用服務器,是Apache軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目,由Apache、S
16、un 和其他一些公司及個人共同開發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn)。因為Tomcat 技術先進、性能穩(wěn)定,而且免費,因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的Web 應用服務器。目前最新版本是7.0。</p><p> Tomcat是一個輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使
17、用,是開發(fā)和調試JSP程序的首選。其運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務等開發(fā)應用系統(tǒng)常用的功能,更是受到廣大程序員的喜歡。</p><p> 1.3.2 Tomcat常用目錄結構</p><p> /bin:存放windows或Linux平臺上啟動或關閉Tomcat的腳本文件。</p><p> /conf:存放Tomcat服務器的各種全
18、局配置文件,其中最重要的是server.xml和web.xml。</p><p> /webapps:Tomcat的主要Web發(fā)布目錄,默認情況下把Web應用文件放于此目錄。</p><p> /src:存放Tomcat的源代碼。</p><p> /work:存放JSP編譯后產(chǎn)生的class文件。</p><p> /server/
19、lib:存放Tomcat服務器所需的各種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基礎類庫。JDK是學好Java的第一步。從SUN的JDK5.0開始,提供了泛型等非常實用的功能,其版本也不斷更新,運行效率得到了非常大的提高。如果沒有JDK,就無法編譯Java程序[1]。</p><p>
22、 1.4.2 JDK基本組件</p><p> 用到的JDK基本組件:</p><p> Javac-編譯器,將源程序轉成字節(jié)碼;</p><p> jar – 打包工具,將相關的類文件打包成一個文件;</p><p> java – 運行編譯后的java程序(.class后綴的);</p><p> Jav
23、ap:Java反匯編器,顯示編譯類文件中的可訪問功能和數(shù)據(jù),同時顯示字節(jié)代碼含義。</p><p> 2 系統(tǒng)所用語言簡介</p><p> 2.1 Java基礎簡介</p><p> 2.1.1 Java簡介</p><p> Java是由Sun Microsystems公司于1995年5月推出的Java面向對象程序設計語言(以下簡
24、稱Java語言)和Java平臺的總稱。Java語言被特意設計用于互聯(lián)網(wǎng)的分布式環(huán)境。Java具有類似于C++語言的“形式和感覺”,但它要比C++語言更易于使用,而且在編程時徹底采用了一種“以對象為導向”的方式。使用Java編寫的應用程序,既可以在一臺單獨的電腦上運行,也可以被分布在一個網(wǎng)絡的服務器端和客戶端運行。Java 平臺就是基于 Java 語言的平臺[2]。</p><p> 2.1.2 Java特性&l
25、t;/p><p> Sun 公司對 Java 編程語言的解釋是:Java 編程語言是個簡單、面向對象、分布式、解釋性、健壯、安全與系統(tǒng)無關、可移植、高性能、多線程和動態(tài)的語言[3]。</p><p> Java語言的語法與C語言和C++語言很接近,使得大多數(shù)程序員很容易學習和使用Java。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動
26、的強制類型轉換。特別地,Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內存管理而擔憂。</p><p> Java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制。Java語言全面支持動態(tài)綁定,而C++語言只對虛函數(shù)使用動態(tài)綁定。總之,Java語言是一個純的面向對象程序設計語言[4]。</p><p>
27、; Java包括一個支持HTTP和FTP等基于TCP/IP協(xié)議的子庫。因此,Java應用程序可憑借URL打開并訪問網(wǎng)絡上的對象,其訪問方式與訪問本地文件系統(tǒng)幾乎完全相同。</p><p> Java的強類型機制、異常處理、垃圾的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。</p><p> Java通常被用
28、在網(wǎng)絡環(huán)境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡下載的類具有一個安全防范機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機制(類SecurityManager)讓Java應用設置安全哨兵。</p><p> Java程序(后綴為java的文件)在Java平臺上被編譯為體系結構中立的
29、字節(jié)碼格式(后綴為class的文件),然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。這種途徑適合于異構的網(wǎng)絡環(huán)境和軟件的分發(fā)。</p><p> 可移植性來源于體系結構中立性,另外,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)編譯器技術的發(fā)展越來越接近于C++。</p><p> 在Ja
31、va語言中支持多線程,多線程功能使得在一個程序里可同時執(zhí)行多個小任務。線程,有時也稱小進程,是一個大進程里分出來的小的獨立的進程。 </p><p> Java的動態(tài)特性是其面向對象設計方法的發(fā)展。它允許程序動態(tài)地裝入運行過程中所需要的類,這是C++語言進行面向對象程序設計所無法實現(xiàn)的。Java編譯器不是將對實例變量和成員函數(shù)的引用編譯為數(shù)值引用,而是將符號引用信息在字節(jié)碼中保存下傳遞給解釋器,再由解釋器在完成
32、動態(tài)連接類后,將符號引用信息轉換為數(shù)值偏移量[5]。</p><p><b> 2.2 JSP簡介</b></p><p> 2.2.1 JSP簡介</p><p> JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準。JSP技術有點類似ASP技術,它是在傳
33、統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易[
34、6]。</p><p> 2.2.2 JSP技術簡述</p><p> JSP和客戶端的交互是通過HTTP協(xié)議實現(xiàn)的,這個過程主要分為以下4個步驟。</p><p> 客戶端和服務器建立連接; </p><p><b> 客戶端發(fā)送請求;</b></p><p> 服務器發(fā)出響應;
35、 </p><p><b> 關閉連接;</b></p><p> 所有的JSP程序在首次載入時都被翻譯成Servlet文件,然后在運行,這個工作主要有JSP引擎來完成。當?shù)谝淮芜\行一個JSP頁面時,JSP引擎會完成以下操作:</p><p> (1) 將JSP文件翻譯成Servlet文件(以.Java為后綴),它是一
36、個完整的Java應用程序。</p><p> ?。?)JSP引擎調用Java編譯器編譯Servlet文件得到可執(zhí)行的代碼文件(以.class為后綴)。</p><p> ?。?)JSP引擎調用Java虛擬機解釋執(zhí)行class文件,并將運行結果返回給客戶端瀏覽器。</p><p> ?。?)服務器將運行結果以HTML形式作為響應返回給客戶端瀏覽器。</p>
37、<p> 2.3 Servlet簡介</p><p> Servlet是一種獨立于平臺和協(xié)議的服務器端的Java應用程序,可以生成動態(tài)的Web頁面。 它擔當Web瀏覽器或其他Http客戶程序發(fā)出請求,與HTTP服務器上的數(shù)據(jù)庫或應用程序之間的中間層[7]。Servlet是位于Web 服務器內部的服務器端的Java應用程序,與傳統(tǒng)的從命令行啟動的Java應用程序不同,Servlet由Web服務器進
38、行加載,該Web服務器必須包含支持Servlet的Java虛擬機。</p><p> 2.4 JavaScript簡介</p><p> JavaScript是一種基于對象和事件驅動并具有相對安全性的客戶端腳本語言。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動態(tài)功能,比如響應用戶的各種操作[8]。它最初由網(wǎng)景公司(Netscape)的Brendan Eic
39、h設計,是一種動態(tài)、弱類型、基于原型的語言,內置支持類。JavaScript是Sun公司的注冊商標。Ecma國際以JavaScript為基礎制定了ECMAScript標準。JavaScript也可以用于其他場合,如服務器端編程。完整的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模式構架,因此存儲容量較小,數(shù)據(jù)庫系統(tǒng)也不是很大,系統(tǒng)文件估計占30M的磁盤空間,數(shù)據(jù)庫文件占用空間也不是很大。不過該精品課程網(wǎng)站中的資源管理模塊將會占用很大的空間。一些管理員的課件資源在文件中將會占用很大的空間。而本機器有320G的空間,足夠放入一些視頻,如
41、果空間不夠,這個就要管理員及時的清空系統(tǒng)中的過期文件[9]。</p><p><b> ?。?)適應性要求:</b></p><p> 要求界面友好,菜單清楚,學生和老師都能很快熟悉網(wǎng)站。對于部分文章、課件的發(fā)布要求達到所見即所得的效果。</p><p> 3.2系統(tǒng)功能需求分析</p><p> 本系統(tǒng)需要采用B
42、/S模式設計開發(fā),可以作為一般高等院校的精品發(fā)布系統(tǒng)。教師可需要擁有發(fā)表、查看、刪除、修改課程權限,游客需要可以查看課程,管理員則需要可以查看注冊用戶信息等[10]。</p><p><b> 4 系統(tǒng)設計</b></p><p> 4.1 運行環(huán)境設計</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 功能模塊設計</p><p> 系統(tǒng)功能模塊圖如下圖4-1所示:</p><p> 圖4-1 功能模塊圖</p>
44、;<p> 用戶進入首頁后,如未登錄,可以進行搜索課程、查看課程、查看作者等操作。如選擇登錄,則可以進入個人中心頁面,在該頁面可以進行修改個人信息、發(fā)表課程、修改課程、刪除課程等操作。如果是以管理員賬號(賬號:admin,密碼:admin)登錄,則在個人中心多出查看注冊用戶選項。</p><p><b> 4.3 數(shù)據(jù)庫設計</b></p><p>
45、 數(shù)據(jù)庫概念結構(E-R圖)如圖4-2所下:</p><p><b> 圖4-2 E-R圖</b></p><p> 根據(jù)需求分析,一共設計四張表:</p><p> (1)用戶表(用戶ID、用戶姓名、用戶密碼、用戶性別、用戶職位、用戶所屬學院、用戶籍貫、用戶頭像)。</p><p> ?。?)課程內容表(課程I
46、D、課程的主要負責人、課程名、課程類型、課程發(fā)布日期、教師隊伍簡介、隊伍職位結構、隊伍學歷結構、隊伍年齡結構、負責人近五年來講授的主要課程、負責人在國內外發(fā)行刊物發(fā)表的論文、負責人承擔的實踐性教學、負責人獲得的學術研究獎勵、課程簡介、教學大綱、理論教學內容、實踐教學內容、專家評價、督導組評價、學生評價、教學特色介紹、教學研究、教學獲獎、參考文獻、網(wǎng)絡資源)。</p><p> ?。?)學生作業(yè)表(ID、課程ID、
47、學生作業(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> ?。?)點擊左側按鈕可跳到各個頁面,比如檢索頁面、登錄頁面、注冊頁面。</p><p> ?。?)最新作品部分可以展示最新發(fā)布的課程,點擊可以進入該課程。</p><p&g
49、t; (3)右側精品課程部分則可以查看優(yōu)秀的課程,點擊可以進入。</p><p> ?。?)著名老師部分可以查看老師信息。</p><p> ?。?)大學簡介部分有關于河南大學的介紹,便于游客了解河南大學。</p><p> 5.1.1 注冊頁面</p><p> 用戶點擊首頁的注冊,即可進入注冊模塊。頁面展示如5-2所下。</p
50、><p> 圖5-2 注冊頁面圖</p><p> 注冊頁面主要有以下幾點功能:</p><p> (1)支持用戶名漢字輸入。</p><p> ?。?)支持密碼確認,防止輸出密碼。</p><p> ?。?)支持籍貫選擇,由動態(tài)選擇框完成。</p><p> ?。?)支持頭像圖片上傳。<
51、;/p><p> (5)支持驗證碼確認,點擊變化另一張圖片。</p><p> 用戶提交表單后由RegisterServlet控制器跳轉到ResponeTime控制器,該控制器主要實現(xiàn)自動跳轉功能,三秒之后可以自動跳轉到個人中心頁面(index.jsp)。如未跳轉可點擊進入。</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>恭喜您注冊成功,三秒后自動跳轉。</h1></br>如未跳轉請點擊<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、頁面主要用于添加課程的詳細內容,共分六部分。</p><p> ?。?)隊伍結構:由隊伍簡介、職位結構、學歷結構、年齡結構、學緣結構組成,同時構成一個form表單,響應teamStructureServlet控制器,再傳入數(shù)據(jù)庫中。支持ckeditor插件,可設置字體大小顏色等。</p><p> ?。?)課程主講人:由近五年來講授的主要課程、在國內外發(fā)型刊物發(fā)表的論文、承擔的實踐性教學、
75、獲得的學術研究獎勵組成,也構成一個form表單,響應curriculumManServlet控制器。</p><p> ?。?)教學內容:由課程簡介、教學大綱、理論教學內容、實踐性教學內容組成,也構成一個form表單,響應studyContentServlet控制器。</p><p> ?。?)教學效果:由專家評價、督導組評價、學生評價組成,支持圖片上傳。該部分因為上傳三種不同圖片,所以響
76、應三個控制器studyAchievementServle</p><p> t1,studyAchievementServlet2,studyAchievementServlet3。</p><p> ?。?)教學特色:由特色介紹、教學研究、教學獲獎組成。該部分有文本上傳也有圖片上傳,整體構成一個from表單響應teachTraitServlet控制器。</p><p
77、> ?。?)教學資源:由學生作業(yè)、歷年考題、參考文獻、網(wǎng)絡資源組成。由于學生作業(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ā)表類型查找。都為模糊查找,只要輸入關鍵字就可以。該頁面響應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、點擊查看即可查看該課程。該部分主要設計原理為url傳值,代碼部分如下:</p><p> <a href="<%=request.getContextPath()%>/servlet/checkServlet?id=</p><p> <%=curriculum.getCurriculum_id()%>">查看</a>
98、</p><p> 本頁面導航菜單對應具體信息,點擊即可查看。頁面展示如下圖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。管理員擁有查看其它用戶資料的權限,同時也可以擁有普通用戶的權限。頁面展示如下圖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、多,但是測試是一項非常復雜的工作,不可能對每一個可能出現(xiàn)的情況都一一測試到。下面僅僅舉一個用戶登錄的例子來說明對網(wǎng)站系統(tǒng)所做的功能測試[11]。</p><p> 在用戶登錄的時候,要求用戶名和密碼是必須填寫的信息。本測試主要是通過對輸入的用戶信息進行分析與判斷,得出預期的輸出結果。然后將實際的輸出結果與預期的輸出結果進行比較,得出最終的結論。</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 結論</b></p><p> 本畢業(yè)設計實現(xiàn)了課程的發(fā)布、瀏覽、刪除、修改等功能,并設置管理員權限。功能雖少,但五臟俱全,頁面美
112、觀整潔,代碼工整,系統(tǒng)要求配置不高,運行速度快。是幾個月辛苦之所得。</p><p> 當然,本畢業(yè)設計也有很多需要改進的地方,如沒有使用SSH框架,配置文件使用較少等,這些都是我需要努力學習的地方。</p><p><b> 參考文獻</b></p><p> [1] 殷兆麟. Java語言程序設計. 北京:高等教育出版社,2002.5
113、6~60</p><p> [2] 孫衛(wèi)琴. Java面向對象編程. 北京:電子工業(yè)出版社,2006.70~86</p><p> [3] 薛為民, 夏文紅, 解侖. Java應用教程. 北京:北京交通大學出版社,2005.30~40</p><p> [4] 劉藝等.Java程序設計大學教程. 北京:機械工業(yè)出版社,2006.15~40</p>
114、<p> [5] 張白一, 崔尚森. 面向對象程序設計Java. 西安:西安電子科技大學出版社,2006.46~70</p><p> [6] Cay S.Horstmann. Java核心技術. 北京:機械工業(yè)出版社,2009.17~453</p><p> [7] 李芝興. Java程序設計之網(wǎng)絡編程. 北京:清華大學出版社,2006.60~79</p>
115、<p> [8] 朱喜福. Java 程序設計. 北京:清華大學出版社 2004.59~90</p><p> [9] 歐陽桂秀. Java語言程序設計. 上海:上海交通大學出版社,2004.46~70</p><p> [10] 朱福喜,唐曉軍. .Java程序設計技巧與開發(fā)實例. 北京:人民郵電出版社,2004.78~90</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于jsp的精品課程動態(tài)網(wǎng)站設計與實現(xiàn)
- 精品課程網(wǎng)站畢業(yè)設計
- 精品課程網(wǎng)站畢業(yè)設計
- 畢業(yè)設計---精品課程網(wǎng)站
- 精品課程網(wǎng)站畢業(yè)設計
- 精品課程網(wǎng)站的設計與實現(xiàn)設計課程(畢業(yè)設計論文)
- 基于jsp的精品課程網(wǎng)站
- jsp精品課程網(wǎng)站
- 基于bs精品課程網(wǎng)站設計畢業(yè)設計
- 畢業(yè)設計(論文)精品課程網(wǎng)站
- 精品課程網(wǎng)站畢業(yè)設計論文
- 精品課程網(wǎng)站的設計與實現(xiàn)
- (畢業(yè)設計論文)精品課程網(wǎng)站畢業(yè)設計
- 精品課程網(wǎng)站的設計與實現(xiàn)
- 數(shù)字邏輯精品課程網(wǎng)站【畢業(yè)設計】
- 基于bs精品課程網(wǎng)站設計本科畢業(yè)設計
- 精品課程網(wǎng)站設計--操作系統(tǒng)精品課程網(wǎng)站設計
- 基于JSP精品課程管理系統(tǒng)的設計與實現(xiàn).pdf
- 精品課程網(wǎng)站的設計與實現(xiàn)設計課程設計
- 畢業(yè)論文---java精品課程網(wǎng)站設計與實現(xiàn)
評論
0/150
提交評論