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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  用JSP開發(fā)與實(shí)現(xiàn)教學(xué)管理系統(tǒng)動(dòng)態(tài)網(wǎng)站</p><p>  【摘要】 J2EE技術(shù)無疑是當(dāng)今因特網(wǎng)應(yīng)用的最佳技術(shù)方案之一,圍繞J2EE技術(shù)的應(yīng)用性,也產(chǎn)生了大量的Web開發(fā)框架、中間層開發(fā)框架、數(shù)據(jù)層開發(fā)框架,它們極大地提升了J2EE技術(shù)的易用性[1]。本文描述了J2EE的相關(guān)技術(shù),比如Servlet,JSP,Struts,Hibernate等,并用這些技術(shù)完成一個(gè)基于Web的教學(xué)管理系統(tǒng)。

2、</p><p>  【關(guān)鍵詞】 Servlet,JSP,Struts,Hibernate,MVC,教學(xué)管理系統(tǒng)。</p><p><b>  目錄</b></p><p>  第一章 前言………………………………………………………………………………………………… 3</p><p>  第二章 Servlet簡(jiǎn)介&

3、lt;/p><p>  1. 什么是Servlet……………………………………………………………………………………… 3</p><p>  2. Servlet技術(shù)的特點(diǎn)……………………………………………………………………………… 3</p><p>  3. Servlet的生命周期……………………………………………………………………………… 3</

4、p><p>  第三章 JSP技術(shù)概述</p><p>  1. JSP技術(shù)的產(chǎn)生背景……………………………………………………………………………… 4</p><p>  2. JSP技術(shù)的優(yōu)勢(shì)和弱勢(shì) …………………………………………………………………………… 4</p><p>  2.1 JSP技術(shù)的優(yōu)勢(shì)………………………

5、……………………………………………………… 4</p><p>  2.2 JSP技術(shù)的弱勢(shì)……………………………………………………………………………… 4</p><p>  2.3 JSP內(nèi)置對(duì)象………………………………………………………………………………… 4</p><p>  3. JSP技術(shù)的工作原理………………………………………………………………

6、…………………4</p><p>  第四章 Struts概述</p><p>  1. Struts的由來和發(fā)展……………………………………………………………………………… 4</p><p>  1.1 Struts的MVC模式簡(jiǎn)介…………………………………………………………………… 5</p><p>  2. Struts的優(yōu)

7、缺點(diǎn) …………………………………………………………………………………… 6</p><p>  3. Struts的工作流程………………………………………………………………………………… 6</p><p>  第五章 Hibernate數(shù)據(jù)庫持久化技術(shù)</p><p>  1. Hibernate簡(jiǎn)介………………………………………………………………

8、………………………7</p><p>  2. Hibernate的工作流程………………………………………………………………………………7</p><p><b>  第六章 開發(fā)環(huán)境</b></p><p>  1. Eclipse開發(fā)工具……………………………………………………………………………………8</p><

9、p>  2. Tomcat服務(wù)器……………………………………………………………………………………… 8</p><p>  2.1 Tomcat的產(chǎn)生和發(fā)展…………………………………………………………………………8</p><p>  2.2 在Tomcat中部署Web應(yīng)用程序………………………………………………………………8</p><p>  3.

10、 SQL Server 數(shù)據(jù)庫………………………………………………………………………………… 8</p><p>  第七章 基于Web的教學(xué)管理系統(tǒng)詳細(xì)設(shè)計(jì)</p><p>  1. 系統(tǒng)功能設(shè)計(jì)…………………………………………………………………………………………8</p><p>  2. 系統(tǒng)功能模塊………………………………………………………………………

11、…………………9</p><p>  3. 數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)……………………………………………………………………………………9</p><p>  3.1 數(shù)據(jù)庫功能設(shè)計(jì)……………………………………………………………………………… 9</p><p>  3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)………………………………………………………………………… 9</p>

12、<p>  3.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)…………………………………………………………………………11</p><p>  4. 業(yè)務(wù)邏輯層各bean功能…………………………………………………………………………… 12</p><p>  5. 控制處理層………………………………………………………………………………………… 14</p><p>  

13、總結(jié)…………………………………………………………………………………………………………… 14</p><p>  參考文獻(xiàn)……………………………………………………………………………………………………… 14</p><p><b>  第一章 前言</b></p><p>  教學(xué)管理系統(tǒng)是集計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)為一體的信息系統(tǒng)工程,通過J

14、SP開發(fā)基于Web的教學(xué)管理系統(tǒng),一方面它面向包括學(xué)生、教師和教學(xué)管理人員,大大方便學(xué)校的教務(wù)管理,另一方面它通過數(shù)據(jù)庫管理學(xué)校的龐大信息量,保證了數(shù)據(jù)的準(zhǔn)確、及時(shí)、全面、詳實(shí)。</p><p>  教學(xué)管理系統(tǒng)的開發(fā)過程是以軟件工程的思想為指導(dǎo),經(jīng)過可行性研究、需求分析、總體分析、詳細(xì)設(shè)計(jì)等主要階段而進(jìn)行的規(guī)范的開發(fā)過程。目前開發(fā)Web應(yīng)用程序主要有C/S(客戶機(jī)/服務(wù)器)和B/S(瀏覽器/服務(wù)器)兩種模式。B

15、/S設(shè)計(jì)模式為我們提供了系統(tǒng)設(shè)計(jì)的基本思想和基本方向。相對(duì)于C/S模式來講,B/S 模式讓客戶端不安裝軟件通過對(duì)服務(wù)端的訪問就可以得到所需信息,從而使網(wǎng)頁更加便于瀏覽和管理,符合使用者對(duì)使用系統(tǒng)的要求,也就是說用戶無需安裝客戶端,只要通過瀏覽器就可以訪問相關(guān)服務(wù);它在系統(tǒng)升級(jí)或維護(hù)的時(shí)候,只要在Web服務(wù)器中集中改動(dòng),用戶在下一次頁面刷新時(shí)就能立即得到反饋,而對(duì)于那些在服務(wù)端運(yùn)行的邏輯、改動(dòng)對(duì)于用戶來說是透明的的;此外,就數(shù)據(jù)遷移和安全

16、性等方面來講,B/S模式也更加具有優(yōu)勢(shì)。</p><p>  學(xué)校作為一個(gè)復(fù)雜的機(jī)構(gòu),要實(shí)現(xiàn)其日常教學(xué)活動(dòng)龐大數(shù)據(jù)量的有效管理,借助于一個(gè)實(shí)用的教學(xué)管理系統(tǒng)是必不可少的。與教學(xué)活動(dòng)相關(guān)的角色大致可分為學(xué)生、教師和教學(xué)管理人員三類。而這三類用戶所具備的權(quán)限、所關(guān)心的問題及所需要的資料也互不相同,這就需要給他們提供不同的操作界面,規(guī)定他們的對(duì)應(yīng)操作。因此,教學(xué)管理系統(tǒng)的主要功能也必須針對(duì)這三類主要角色進(jìn)行相對(duì)應(yīng)的設(shè)計(jì)

17、。</p><p>  第二章 Servlet簡(jiǎn)介</p><p>  1. 什么是Servlet</p><p>  Servlet(Java服務(wù)器小程序)是用Java編寫的服務(wù)器端程序,是由服務(wù)器端調(diào)用和執(zhí)行的、按</p><p>  照Servlet自身規(guī)范編寫的Java類。Servlet可以看成是Java編寫的CGI,但是它的功能

18、和性能比CGI更加強(qiáng)大。</p><p>  Servlet是使用Java Servlet應(yīng)用程序設(shè)計(jì)接口(API)及相關(guān)類和方法的Java程序。除了Java Servlet API,Servlet還可以用于擴(kuò)展和添加到API的Java類軟件包。它最常見的用途是擴(kuò)展Web服務(wù)器,提供非常安全的、可移植的、易于使用的CGI替代品。它是一種動(dòng)態(tài)加載的模塊,為來自Web服務(wù)器的請(qǐng)求提供服務(wù)。它完全運(yùn)行在Java虛擬機(jī)上

19、。由于它在服務(wù)器端運(yùn)行,因此它不依賴于瀏覽器的兼容性。</p><p>  2. Servlet技術(shù)的特點(diǎn)</p><p>  Servlet是一個(gè)Java的類,能夠?qū)崿F(xiàn)除了圖形界面外的Java的所有功能,總的來說,它有以下優(yōu)勢(shì):</p><p>  1、可移植性 它可以在不同的操作系統(tǒng)平臺(tái)和不同的應(yīng)用服務(wù)器平臺(tái)下移植。</p><p>

20、  2、功能強(qiáng)大 可以使用Java API核心的所有功能。</p><p>  3、安全 有幾個(gè)不同的層次為Servlet的安全提供了保障。</p><p>  4、簡(jiǎn)潔 Servlet代碼面向?qū)ο?,在封閉方面具有先天的優(yōu)勢(shì)。</p><p>  5、集成 Servlet和服務(wù)器緊密集成,它們可以密切合作完成特定的任務(wù)。</p&

21、gt;<p>  6、模塊化 第一個(gè)Servlet可以執(zhí)行一個(gè)特定的任務(wù),并且可以將它們并在一起工作。</p><p>  7、擴(kuò)展性 Servlet的接口設(shè)計(jì)得非常簡(jiǎn)單,使它具有很強(qiáng)的擴(kuò)展性。</p><p>  8、高效耐久 Servlet一旦載入,它就駐留在內(nèi)存中,這樣加快了響應(yīng)的速度。</p><p>  3. Servlet的

22、生命周期</p><p>  Servlet部署在容器里,它的生命周期由容器管理,一般可概括為以下幾個(gè)步驟:</p><p>  1、裝載Servlet 這項(xiàng)操作一般是動(dòng)態(tài)執(zhí)行的。</p><p>  2、servlet容器創(chuàng)建servlet的一個(gè)實(shí)例。3、容器調(diào)用該實(shí)例的init()方法。4、服務(wù) 如果容器對(duì)該servlet有請(qǐng)求,則調(diào)用此實(shí)例的servi

23、ce()方法。5、銷毀 通過調(diào)用Servlet的destory()方法銷毀Servlet。</p><p>  第三章 JSP技術(shù)概述 </p><p>  1. JSP技術(shù)的產(chǎn)生背景</p><p>  JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),該技術(shù)為創(chuàng)建顯示動(dòng)態(tài)

24、生成內(nèi)容的Web頁面提供了一個(gè)簡(jiǎn)捷而快速的方法。JSP技術(shù)的設(shè)計(jì)目的是使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種Web服務(wù)器,應(yīng)用服務(wù)器,瀏覽器和開發(fā)工具共同工作。 JSP規(guī)范是Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)、以及開發(fā)工具供應(yīng)商間廣泛合作的結(jié)果。在傳統(tǒng)的網(wǎng)頁HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁(*.jsp)。由于JSP構(gòu)

25、建在Servlet上,所以它有Servlet所有強(qiáng)大的功能。JSP基于強(qiáng)大的Java語言,具有良好的伸縮性,與Java Enterprise API緊密地集成在一起,在網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用開發(fā)領(lǐng)域具有得天獨(dú)厚的優(yōu)勢(shì)。從JSP這幾年的發(fā)展來看,JSP已經(jīng)取得了巨大的成功,它通過和EJB等J2EE組件進(jìn)行集成,可以編寫出具有大的伸縮性、高負(fù)載的企業(yè)級(jí)應(yīng)用,它從多個(gè)方面加速了動(dòng)態(tài)Web應(yīng)用頁面的開發(fā)[2]。 </p><p>

26、;  2. JSP技術(shù)的優(yōu)勢(shì)和弱勢(shì)</p><p>  2.1 JSP技術(shù)的優(yōu)勢(shì)</p><p>  1、一次編寫,到處運(yùn)行。</p><p>  2、系統(tǒng)的多平臺(tái)支持。</p><p>  3、強(qiáng)大的可伸縮性。</p><p>  4、多樣化和功能強(qiáng)大的開發(fā)工具支持。</p><p>  

27、2.2 JSP技術(shù)的弱勢(shì)</p><p>  1、跨平臺(tái)的功能和極度的伸縮能力,極大地增加了產(chǎn)品的復(fù)雜性。</p><p>  2、它需要一定的硬盤空間來存儲(chǔ)一系列的.Java文件、.class文件及對(duì)應(yīng)的版本文件。</p><p>  2.3 JSP內(nèi)置對(duì)象</p><p>  JSP包括九種內(nèi)置對(duì)象:request對(duì)象、respons

28、e對(duì)象、pageContext對(duì)象、Session對(duì)象、application對(duì)象、out對(duì)象、config對(duì)象、page對(duì)象以及exception對(duì)象,其中通過application對(duì)象和session對(duì)象可以實(shí)現(xiàn)不同頁面間的數(shù)據(jù)共享。</p><p>  3. JSP的工作原理</p><p>  Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HT

29、ML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送 email 等等,這就是建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對(duì)客戶瀏覽器的要求最低,可以實(shí)現(xiàn)無Plugin,無ActiveX,無Java Applet,甚至無Frame。</p><p>  第四章 Struts概述</p><p>  1. Struts的由來和發(fā)

30、展</p><p>  Struts 框架工具是 Apache 基金會(huì) Jakarta 項(xiàng)目中推出的一個(gè)子項(xiàng)目。 Struts 在英文中是支架、支撐的意思,這也體現(xiàn)出 Struts 在開發(fā) Web 應(yīng)用程序過程所起到的重要作用, Struts 為 Web 應(yīng)用提供了通用的框架,讓開發(fā)人員可以把主要精力集中在如何解決實(shí)際業(yè)務(wù)問題上,與此同時(shí) Struts 框架也允許開發(fā)人員根據(jù)實(shí)際需要進(jìn)行擴(kuò)展和定制,從而可以更好的

31、適應(yīng)用戶的需求。采用 Struts 可以簡(jiǎn)化遵循 MVC 設(shè)計(jì)模式的 Web 應(yīng)用的開發(fā)工作,很好地實(shí)現(xiàn)代碼重用,使開發(fā)人員從一些繁瑣的工作中解脫出來,快速開發(fā)能夠充分發(fā)揮 JSP/Servlet 優(yōu)點(diǎn)、并具有強(qiáng)可擴(kuò)展性的 Web 應(yīng)用??傊?, Struts 的出現(xiàn)使得 Web 應(yīng)用的開發(fā)過程大大簡(jiǎn)化,從而能夠縮短開發(fā)周期、提高開發(fā)效率。 </p><p>  1.1 Struts的MVC模式簡(jiǎn)介</p&

32、gt;<p>  模型-視圖-控制器(MVC)是80年代Smalltalk-80出現(xiàn)的一種軟件設(shè)計(jì)模式,現(xiàn)在已經(jīng)被廣泛的使用。 1、模型(Model)  模型是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù),或者業(yè)務(wù)邏輯.2、視圖(View)  視圖是應(yīng)用程序中用戶界面相關(guān)的部分,是用戶看到并與之交互的界面。 3、控制器(controller)   控制器工作就是根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示和更新model對(duì)象狀

33、態(tài)。 </p><p>  MVC 式的出現(xiàn)不僅實(shí)現(xiàn)了功能模塊和顯示模塊的分離,同時(shí)它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性。盡管MVC設(shè)計(jì)模式很早就提出,但由于

34、缺乏相關(guān)支持,在Web開發(fā)中引入MVC卻相當(dāng)困難,直到基于J2EE的JSP Model 2問世時(shí)才得以改觀。下面對(duì)JSP Model 1 與 JSP Model 2進(jìn)行簡(jiǎn)單介紹。</p><p>  JSP Model 1(JSP+JavaBean)的數(shù)據(jù)傳遞關(guān)系    JSP Model 2(JSP+JavaBean+Servlet) 的數(shù)據(jù)傳遞關(guān)系<

35、/p><p>  比較兩種模式,我們不難發(fā)現(xiàn)JSP Model 2顯然比JSP Model 1層次關(guān)系更加清楚,開發(fā)的頁面也更易于維護(hù)。在這種模式中,各組件的分工關(guān)系非常明確,JSP技術(shù)用于顯示,充當(dāng)了視圖的角色,Servlet用于執(zhí)行業(yè)務(wù)邏輯,它相當(dāng)于控制器的角色,JavaBean組件用于表示數(shù)據(jù),相當(dāng)于模型的角色。盡管如此,JSP Model 2仍不夠好,它容易使系統(tǒng)出現(xiàn)多個(gè)Controller,并且對(duì)頁面導(dǎo)航的

36、處理比較復(fù)雜。Struts就是在JSP Model 2的基礎(chǔ)上實(shí)現(xiàn)的一個(gè)MVC架構(gòu)。它只有一個(gè)中心控制器,他采用XML定制轉(zhuǎn)向的URL。采用Action來處理邏輯,是對(duì)JSP Model 2的一個(gè)極大改進(jìn)[3]。</p><p>  2. Struts的優(yōu)缺點(diǎn)</p><p>  優(yōu)點(diǎn):Struts跟Tomcat、Turbine等諸多Apache項(xiàng)目一樣,是開源軟件,使開發(fā)者能更深入的了

37、解其內(nèi)部實(shí)現(xiàn)機(jī)制,這是它的一大優(yōu)點(diǎn)。 除此之外,Struts的優(yōu)點(diǎn)主要集中體現(xiàn)在兩個(gè)方面:Taglib和頁面導(dǎo)航。Taglib是Struts的標(biāo)記庫,靈活動(dòng)用,能大大提高開發(fā)效率;而頁面導(dǎo)航則使系統(tǒng)的脈絡(luò)更加清晰,通過一個(gè)配置文件,即可把握整個(gè)系統(tǒng)各部分之間的聯(lián)系,這對(duì)于后期的維護(hù)有著莫大的好處‘尤其是當(dāng)另一批開發(fā)者接手這個(gè)項(xiàng)目時(shí),這種優(yōu)勢(shì)體現(xiàn)得更加明顯。  </p><p>  缺

38、點(diǎn):Taglib是Struts的一大優(yōu)勢(shì),但對(duì)于初學(xué)者而言,卻需要一個(gè)持續(xù)學(xué)習(xí)的過程,甚至還會(huì)打亂你網(wǎng)頁編寫的習(xí)慣,但是,當(dāng)你習(xí)慣了它時(shí),你會(huì)覺得它真的很棒。 Struts將MVC的Controller一分為三,在獲得結(jié)構(gòu)更加清晰的同時(shí),也增加了系統(tǒng)的復(fù)雜度。 Struts從產(chǎn)生到現(xiàn)在還不到半年,但已逐步越來越多運(yùn)用于商業(yè)軟件。雖然它現(xiàn)在還有不少缺點(diǎn),但它是一種非常優(yōu)秀的J2EE MVC實(shí)現(xiàn)方式。</

39、p><p>  3. Struts的工作流程</p><p>  在WEB啟動(dòng)時(shí)就會(huì)中載并初始化ActionServlet。ActionServlet從struts-config.xml</p><p>  文件中讀取配置信息,把它們存放到各種配置對(duì)象中。 </p><p>  當(dāng)ActionServlet接收到一個(gè)客戶請(qǐng)求時(shí),它的執(zhí)行過程大致

40、如下: </p><p>  1、檢索和用戶請(qǐng)求匹配的ActionMapping實(shí)例,如果不存在,就返回用戶請(qǐng)求路徑無效。 2、如果ActionForm實(shí)例不存在,就創(chuàng)建一個(gè)ActionForm對(duì)象,把客戶提交表單數(shù)據(jù)保存到</p><p>  ActionForm對(duì)象中。 </p><p>  3、根據(jù)配置住處決定是否需要表單驗(yàn)證,如果需要驗(yàn)證,就調(diào)用Actio

41、nForm扔validate()方法。 4、如果ActionForm的validate()方法返回null或返回一個(gè)不包含ActionMessage的</p><p>  ActionError對(duì)象,就表示表單驗(yàn)證成功。 5、ActionServlet根據(jù)ActionMapping實(shí)例包含的映射住處決定將請(qǐng)求轉(zhuǎn)發(fā)給哪個(gè)Action。如果相應(yīng)</p><p>  的Action 實(shí)例不存

42、在,就先創(chuàng)建這個(gè)實(shí)例,然后調(diào)用Action的execrte()方法。 6、Action的execute()方法返回一個(gè)ActionForward對(duì)象,ActionServlet再把客戶請(qǐng)求轉(zhuǎn)發(fā)給</p><p>  ActionForward對(duì)象指向的JSP組件。 7、ActionForward對(duì)象指向的JSP組件生成動(dòng)態(tài)網(wǎng)頁,返回給客戶[4]。</p><p>  下圖是Struts

43、的工作流程,所有的請(qǐng)求都提交給ActionServlet</p><p>  第五章 Hibernate數(shù)據(jù)庫持久化技術(shù)</p><p>  1. Hibernate簡(jiǎn)介</p><p>  Hibernate是一個(gè)面向Java環(huán)境的對(duì)象/關(guān)系數(shù)據(jù)庫映射工具。它是使用GNU寬通用公共許可證發(fā)行的自由、開源的軟件,它為面向?qū)ο蟮念I(lǐng)域模型到傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的映射,

44、提供了一個(gè)使用方便的框架。</p><p>  Hibernate不僅僅管理Java類到數(shù)據(jù)庫表的映射(包括Java數(shù)據(jù)類型到SQL數(shù)據(jù)類型的映射),還提供了面向?qū)ο蟮臄?shù)據(jù)查詢檢索機(jī)制,可以大幅度減少開發(fā)時(shí)人工使用SQL和JDBC處理數(shù)據(jù)的時(shí)間。</p><p>  Hibernate的目標(biāo)是對(duì)于開發(fā)者通常的數(shù)據(jù)持久化相關(guān)的編程任務(wù),解放其中的95%。對(duì)于以數(shù)據(jù)為中心的程序來說,它們往往只

45、在數(shù)據(jù)庫中使用存儲(chǔ)過程來實(shí)現(xiàn)商業(yè)邏輯。Hibernate可能不是最好的解決方案,但對(duì)于那些在基于Java的中間層應(yīng)用中實(shí)現(xiàn)面向?qū)ο蟮臉I(yè)務(wù)模型和商業(yè)邏輯的應(yīng)用Hibernate是最有用的。</p><p>  Hibernate的工作流程</p><p>  在Java應(yīng)用中使用Hibernate,大致包括以下步驟:</p><p>  1、創(chuàng)建Hibernate配置

46、文件。</p><p><b>  2、創(chuàng)建持久類。</b></p><p>  3、創(chuàng)建對(duì)象-關(guān)系-映射文件。</p><p>  4、通過Hibernate API編寫訪問數(shù)據(jù)庫的代碼[5]。</p><p><b>  第六章 開發(fā)環(huán)境</b></p><p>  1

47、. Eclipse開發(fā)工具</p><p>  Eclipse是目前主流的Web應(yīng)用程序開發(fā)工具之一,它是一個(gè)開放源代碼的、與NetBeans、Sun ONE Studio和Borland Jbuilder類似的一種基于Java的整合型可擴(kuò)展開發(fā)平臺(tái),也是目前最著名的開源項(xiàng)目之一。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Jav

48、a 開發(fā)工具(Java Development Tools,JDT)。它將包括Spring、Struts、Hibernate等在內(nèi)主流的開發(fā)框架以插件的形式嵌入其中,大大減少了程序開發(fā)人員的工作量。根據(jù)Eclipse的體系結(jié)構(gòu),通過開發(fā)插件,它能擴(kuò)展到任何語言的開發(fā),甚至能成為圖片繪制的工具。</p><p>  盡管 Eclipse 是使用 Java 語言開發(fā)的,但它的用途并不限于 Java 語言;例如,支持諸

49、如 C/C++、COBOL 和 Eiffel 等編程語言的插件已經(jīng)可用,或預(yù)計(jì)會(huì)推出。Eclipse 框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。此外, Eclipse還支持目前流行的多種數(shù)據(jù)庫管理軟件,如SQL、Oracle等,是一個(gè)功能強(qiáng)大,不可多得的集成開發(fā)工具。由于其開放源碼的特性,任何人都可以免費(fèi)得到,并可以在此基礎(chǔ)上開發(fā)各自的插件,因此越來越受人們關(guān)注。目前最新且功能較為穩(wěn)定的版本是Eclips

50、e 3.3,插件版本是MyEclipse 6.0.1。</p><p>  2. Tomcat服務(wù)器</p><p>  2.1 Tomcat的產(chǎn)生和發(fā)展 </p><p>  Tomcat 是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。自從JSP發(fā)布之后,推出了各式各樣的JSP引擎。A

51、pache Group在完成GNUJSP1.0的開發(fā)以后,開始考慮在SUN的JSWDK基礎(chǔ)上開發(fā)一個(gè)可以直接提供Web服務(wù)的JSP服務(wù)器,當(dāng)然同時(shí)也支持Servlet, 這樣Tomcat就誕生了。Tomcat是jakarta項(xiàng)目中的一個(gè)重要的子項(xiàng)目,又是sun公司官方推薦的servlet和jsp容器,因?yàn)槠浼夹g(shù)先進(jìn)、性能穩(wěn)定,也受到其越來越多的軟件公司和開發(fā)人員的喜愛。servlet和jsp的最新規(guī)范都可以在tomcat的新版本中得到實(shí)

52、現(xiàn)。其次,Tomcat是完全免費(fèi)的軟件,任何人都可以從互聯(lián)網(wǎng)上自由地下載。  </p><p>  2.2 在Tomcat中部署Web應(yīng)用程序</p><p>  在Tomcat中,應(yīng)用程序的部署很簡(jiǎn)單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。你在瀏覽器中訪問這個(gè)應(yīng)用的Jsp時(shí),通常第一次會(huì)很慢,因?yàn)門omcat要將

53、Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會(huì)很快。</p><p>  3. SQL Server 數(shù)據(jù)庫</p><p>  SQL Server是目前主流的數(shù)據(jù)庫軟件之一,作為系統(tǒng)的后臺(tái)服務(wù),主要用來保存系統(tǒng)各類信息,通過數(shù)據(jù)庫表的有效管理可以實(shí)現(xiàn)數(shù)據(jù)的永久存儲(chǔ),并可以通過特定的SQL語句對(duì)保存在其中的數(shù)據(jù)進(jìn)行一系列操作,如查詢、更新、刪除、添加等等。</p&g

54、t;<p>  第七章 基于Web的教學(xué)管理系統(tǒng)詳細(xì)設(shè)計(jì)</p><p>  1. 系統(tǒng)功能設(shè)計(jì)</p><p>  基于Web的教學(xué)管理系統(tǒng)主要是實(shí)現(xiàn)網(wǎng)上選課、信息查詢、個(gè)人信息修改等功能的系統(tǒng)。根據(jù)教學(xué)管理系統(tǒng)的基本需求和不同角色使用系統(tǒng)的權(quán)限不同,設(shè)定本系統(tǒng)的具體功能如下:</p><p>  1、管理員功能:實(shí)現(xiàn)學(xué)生信息查詢、教師信息查詢、

55、添加或刪除學(xué)生、添加或刪除教師、留言管理、公告管理、課程信息錄入及修改等功能。</p><p>  2、教師功能:實(shí)現(xiàn)學(xué)生成績錄入及修改、個(gè)人信息查詢及修改、選擇選課的學(xué)生、網(wǎng)上留言和查看公告等功能。</p><p>  3、學(xué)生功能:實(shí)現(xiàn)網(wǎng)上選課、成績查詢、個(gè)人信息查詢及修改、網(wǎng)上留言及查看公告等功能。</p><p>  2. 系統(tǒng)功能模塊</p>

56、<p>  系統(tǒng)功能模塊所下如所示:</p><p>  3. 數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)</p><p>  3.1 數(shù)據(jù)庫功能設(shè)計(jì)</p><p>  依據(jù)教學(xué)管理系統(tǒng)的處理需求,對(duì)數(shù)據(jù)庫表的設(shè)計(jì)及功能如下:</p><p>  學(xué)生個(gè)人信息表:用于存放學(xué)生的基本信息。</p><p>  教師個(gè)人信息表:

57、用于存放教師的基本信息。</p><p>  課程信息表:用于存放課程的基本信息。</p><p>  學(xué)生成績表:用于存放學(xué)生的成績紀(jì)錄。</p><p>  選課情況表:用于存入學(xué)生的選課紀(jì)錄。</p><p>  留言信息表:用于存放所有人的留言紀(jì)錄。</p><p>  3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)</p

58、><p>  1、實(shí)體及其聯(lián)系圖:</p><p><b>  2、系統(tǒng)流程圖:</b></p><p>  3.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)</p><p>  根據(jù)上面的E-R圖,建立六張數(shù)據(jù)庫表,其結(jié)構(gòu)如下所示:</p><p><b>  學(xué)生個(gè)人信息表</b></p&

59、gt;<p><b>  教師個(gè)人信息表</b></p><p><b>  課程信息表</b></p><p><b>  學(xué)生成績表</b></p><p><b>  選課情況表</b></p><p><b>  留言信息表

60、</b></p><p>  4. 業(yè)務(wù)邏輯層各Bean功能</p><p>  以下簡(jiǎn)單介紹一下一些主要的JavaBean及其相關(guān)方法。</p><p>  1、Course.java:</p><p>  public Collection queryOperator(String hql):封裝了查詢的方法。</p&

61、gt;<p>  public Course getCourse(String id):返回指定id的課程。</p><p>  public static void addCourse(CourseForm course):添加一門新的課程。</p><p>  public static void deleteCourse(String id):刪除指定id的課程。<

62、;/p><p>  public Collection getCourses():返回所有課程信息。</p><p>  public void changeCourseInfo(String id,Course cour):修改指定課程的信息</p><p>  2、Grade.java:</p><p>  public Collection

63、 queryOperator(String hql):封裝了查詢的方法。</p><p>  public void addGrade(GradeForm grade):添加一條成績紀(jì)錄。</p><p>  public Collection getAllGrades(String sno):返回指定學(xué)生的所有成績紀(jì)錄。</p><p>  public Coll

64、ection getYearGrades(String sno,String year):返回指定學(xué)生在指定學(xué)年的成績。</p><p>  public Collection getTermGrades(String sno,String year,Long term):返回指定學(xué)生在指定學(xué)期的成績。</p><p>  public static void changeGrade(St

65、ring sno,String cno,String grade):修改指定學(xué)生指定課程的成績。</p><p>  3、Sc.java:</p><p>  public Collection queryOperator(String hql):封裝了查詢的方法。</p><p>  public static Sc getSc(String sno,String

66、 cno):返回一條指定的選課紀(jì)錄。</p><p>  public static void addSc(Sc sc):增加一條選課紀(jì)錄。</p><p>  public static void deleteSc(String sno,String cno):刪除一條選課紀(jì)錄。</p><p>  public Collection getScs(String

67、sno):返回指定學(xué)生所選修的所有課程。</p><p>  public Collection getStudents(String cno):返回選修指定課程的所有學(xué)生。</p><p>  public Collection getTeaScs(String teaName):返回指定教師開設(shè)的選修課。</p><p>  public Collection

68、getSelectedStudents(String cno):返回選修指定課程并且已經(jīng)入選的學(xué)生。</p><p>  public void f_tSc(String sno,String cno):選擇指定學(xué)生選修指定課程(即讓其從未選中狀態(tài)變成選中狀態(tài))。</p><p>  public void t_fSc(String sno,String cno):取消指定學(xué)生選修指定課程

69、(即讓其從選中狀態(tài)變成未選中狀態(tài))。</p><p>  4、Message.java:</p><p>  public void addMessage(MessageForm message):添加留言。</p><p>  public void deleteMessage(String title,String name,String email,Strin

70、g time,String content):刪除留言。</p><p>  public int getMessageCount():返回留言總數(shù)。</p><p>  public Page listDate(String page_num):獲得指定頁面的數(shù)據(jù),并封裝在Page中返回。</p><p>  public Vector getResult():返

71、回查詢結(jié)果。</p><p>  5、Student.java:</p><p>  public Collection queryOperator(String hql):封裝了查詢的方法。</p><p>  public static void addStudent(Student student):添加一個(gè)學(xué)生。</p><p>  

72、public static void deleteStudent(String id):刪除指定id的學(xué)生。</p><p>  public static Student getStudent(String id):返回指定id的學(xué)生。</p><p>  public boolean isStudent(LoginForm student):驗(yàn)證學(xué)生用戶的登陸信息。</p>

73、<p>  public Collection getInformation(String id):返回指定學(xué)號(hào)的學(xué)生信息。</p><p>  public void chahgeStuInfo(StuInfoForm student):修改個(gè)人信息。</p><p>  6、Teacher.java:</p><p>  public Collec

74、tion queryOperator(String hql):封裝了查詢的方法。</p><p>  public static void addTeacher(Teacher teacher):添加一個(gè)教師。</p><p>  public static void deleteTeacher(String id):刪除指定id的教師。</p><p>  pub

75、lic static Teacher getTeacher(String id):返回指定職工號(hào)的教師。</p><p>  public boolean isTeacher(LoginForm teacher):驗(yàn)證老師用戶的登陸信息。</p><p>  public Collection getInformation(String id):返回指定職工號(hào)的教師信息。</p>

76、;<p>  public void chahgeTeaInfo(TeaInfoForm teacher):修改個(gè)人信息。</p><p><b>  5. 控制處理層</b></p><p>  系統(tǒng)的流程控制主要由Servlet與Action來共同完成,當(dāng)用戶提交了相關(guān)信息,便把這些信息發(fā)送到Servlet或Action中,Servlet或Acti

77、on再調(diào)用對(duì)應(yīng)的JavaBean的相關(guān)功能執(zhí)行用戶期望的操作,之后再跳轉(zhuǎn)到相應(yīng)的頁面,并返回操作后的結(jié)果。這一過程對(duì)用戶來說是透明的,用戶僅能看到操作后返回的頁面信息,對(duì)于整個(gè)系統(tǒng)的流程控制完全可以不必了解。</p><p><b>  結(jié)論</b></p><p>  通過Eclipse開發(fā)工具與JSP開發(fā)語言的結(jié)合,Struts框架和Hibernate技術(shù)的整合應(yīng)

78、用,能很好</p><p>  的建設(shè)一個(gè)教學(xué)管理網(wǎng)站,實(shí)現(xiàn)該網(wǎng)站所應(yīng)有的功能模塊。在此基礎(chǔ)上經(jīng)過兩個(gè)多月的設(shè)計(jì)和開發(fā),教學(xué)管理系統(tǒng)基本開發(fā)完畢,其功能基本符合要求,所有的模塊的功能也都已經(jīng)基本完成。在這次的設(shè)計(jì)過程中雖然碰到了許多難題,但通過自己的努力以及老師、同學(xué)的幫助也都一一克服了。通過此次畢業(yè)設(shè)計(jì),不僅鞏固大學(xué)四年所學(xué)的專業(yè)知識(shí),更在此基礎(chǔ)上通過自學(xué)了解和掌握了一些新的開發(fā)方法和編程技巧,對(duì)自己是一個(gè)很大

79、的提高。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 劉曉華,張健,周慧貞.JSP應(yīng)用開發(fā)詳解(第三版).北京:電子工業(yè)出版社, 2007.1,8-9 </p><p>  [2] 趙強(qiáng).精通JSP編程.北京:電子工業(yè)出版社, 2006.4,21-22</p><p>  [3] 趙強(qiáng).精通

80、Struts基于MVC的Java Web設(shè)計(jì)與開發(fā).北京:電子工業(yè)出版社, 2004.8,114-121</p><p>  [4] 李剛. 整合STRUTS+HIBERNATE+SPRING應(yīng)用開發(fā)詳解.北京: 清華大學(xué)出版社, 2007.11,</p><p><b>  45-121</b></p><p>  [5] 夏晰,曹曉鋼,唐勇

81、.深入淺出Hibernate.北京:電子工業(yè)出版社, 2005.6,173-188</p><p>  Implicamention of teaching management system with JSP</p><p>  【Abstract】 There is no doubt that J2EE technology is one of the best methods of

82、today's Internet applications, around the J2EE technology application,a large number of Web development framework, middle layer development framework and date layer development framework turn out which greatly enhanc

83、e the J2EE technology Ease of use. This text described the technology relate to J2EE,such as Servlet,JSP,Struts,Hibernate and so on,then work out a System base on Web use these technology.</p><p>  【Keywords

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論