基于JSP的教師管理模塊的設計與實現(xiàn)畢業(yè)論文_第1頁
基于JSP的教師管理模塊的設計與實現(xiàn)畢業(yè)論文_第2頁
基于JSP的教師管理模塊的設計與實現(xiàn)畢業(yè)論文_第3頁
基于JSP的教師管理模塊的設計與實現(xiàn)畢業(yè)論文_第4頁
基于JSP的教師管理模塊的設計與實現(xiàn)畢業(yè)論文_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

廈門大學軟件學院畢業(yè)設計中文翻譯將Servlet和JSP組合使用Servlet和JSP技術是用Java開發(fā)服務器端應用的主要技術,是開發(fā)商務應用表示端的標準。Java開發(fā)者喜歡使用它有多種原因,其一是對于已經(jīng)熟悉Java語言的開發(fā)者來說這個技術容易學習;其二是Java把“一次編寫,到處運行”的理念帶入到Web應用中,實現(xiàn)了“一次編寫,到處實現(xiàn)”。而且更為重要的是,如果遵循一些良好的設計原則的話,就可以把表示和內容相分離,創(chuàng)造出高質量的、可以復用的、易于維護和修改的應用程序。比方說,在HTML文檔中如果嵌入過多的Java代碼(scriptlet),就會導致開發(fā)出來的應用非常復雜、難以閱讀、不容易復用,而且對以后的維護和修改也會造成困難。事實上,在CSDN的JSP/Servlet論壇中,經(jīng)??梢钥吹揭恍┨釂?,代碼很長,可以邏輯卻不是很清晰,大量的HTML和Java代碼混雜在一起,讓人看得一頭霧水。這就是隨意開發(fā)的弊端。早期的動態(tài)網(wǎng)頁主要采用CGI(CommonGatewayInterface,公共網(wǎng)關接口)技術,你可以使用不同的語言編寫CGI程序,如VB、C/C++或Delphi等。雖然CGI技術發(fā)展成熟且功能強大,但由于編程困難、效率低下、修改復雜等缺點,所以有逐漸被取代的趨勢。在所有的新技術中,JSP/Servlet具備更高效、更容易編程、功能更強、更安全和具有良好的可移植性,因而被許多人認為是未來最有發(fā)展前途的動態(tài)網(wǎng)站技術。與CGI相似,Servlet支持請求/響應模型。當一個客戶向服務器遞交一個請求時,服務器把請求送給Servlet,Servlet負責處理請求并生成響應,然后送給服務器,再由服務器發(fā)送給客戶。與CGI不同的是,Servlet沒有生成新的進程,而是與HTTPServer處于同一進程中。它通過使用線程技術,減小了服務器的開銷。Servlet處理請求的過程是這樣的:當收到來自客戶端的請求后,調用service方法,該方法中Servlet先判斷到來的請求是什么類型的(GET/POST/HEAD…),然后調用相應的處理方法(doGet/doPost/doHead…)并生成響應。別看這么復雜,其實簡單說來Servlet就是一個Java類。與一般類的不同之處是,這個類運行在一個Servlet容器內,可以提供session管理和對象生命周期管理。因而當你使用Servlet的時候,你可以得到Java平臺的所有好處,包括安全性管理、使用JDBC訪問數(shù)據(jù)庫以及跨平臺的能力。而且,Servlet使用線程,因而可以開發(fā)出效率更高的Web應用。JSP技術是J2EE的一個關鍵技術,它在更高一級的層次上抽象Servlet。它可以讓常規(guī)靜態(tài)HTML與動態(tài)產(chǎn)生的內容相結合,看起來像一個HTML網(wǎng)頁,卻作為Servlet來運行?,F(xiàn)在有許多商業(yè)應用服務器支持JSP技術,比如BEAWebLogic、IBMWebSphere、JRun等等。使用JSP比用Servlet更簡單。如果你有一個支持JSP的Web服務器,并且有一個JSP文件,你可以把它放倒任何靜態(tài)HTML文件可以放置的位置,不用編譯,不用打包,也不用進行ClassPath的設置,就可以像訪問普通網(wǎng)頁那樣訪問它,服務器會自動幫你做好其他的工作。JSP文件看起來就像一個普通靜態(tài)HTML文件,只不過里面包含了一些Java代碼。它使用.jsp的后綴,用來告訴服務器這個文件需要特殊的處理。當我們訪問一個JSP頁面的時候,這個文件首先會被JSP引擎翻譯為一個Java源文件,其實就是一個Servlet,并進行編譯,然后像其他Servlet一樣,由Servlet引擎來處理。Servlet引擎裝載這個類,處理來自客戶的請求,并把結果返回給客戶,如下圖所示:圖1:調用JSP頁面的流程以后再有客戶訪問這個頁面的時候,只要該文件沒有發(fā)生過更改,JSP引擎就直接調用已經(jīng)裝載的Servlet。如果已經(jīng)做過修改的話,那就會再次執(zhí)行以上過程,翻譯、編譯并裝載。其實這就是所謂的“第一人懲罰”。因為首次訪問的時候要執(zhí)行一系列以上的過程,所以會耗費一些時間;以后的訪問就不會這樣了。Javaservlet提供了一種強有力的API,用這個API可以訪問關于請求、會話和應用程序的所有信息。將servlet和JSP頁面組合起來使用,可以把應用程序的邏輯部分和外觀呈現(xiàn)部分清楚地分開;換句話,利用這個方式可以對模型、視圖和控制器這三種角色分別使用最合適的組件類型。Servlet、過濾器和監(jiān)聽器Servlet是一種Java類,它使得服務器的功能可擴展至處理請求和生成應答。它是用ServletAPI定義的類和接口實現(xiàn)的。API由兩個程序包組成:jvavax.servlet程序包包含獨立于協(xié)議的類和接口,而javax.servlet.http程序包則提供HTTP特定的擴展的實用程序類。Servlet的實質是實現(xiàn)了接口javax.servlet.Servlet的類,實現(xiàn)是直接完成或通過擴展某個支持類來完成的。該接口定義了Web容器用來管理servlet和與之交互的方法。用于處理HTTP請求的servlet一般情況下都會擴展javax.servlet.http.HttpServlet類。該類實現(xiàn)了Servlet接口,并提供了使用HTTP處理的附加方法。Servlet的生命周期Web容器管理servlet生命周期的所有方面。它根據(jù)需要創(chuàng)建servlet類的實例、將請求傳遞給實例進行處理,最終刪除實例。對于HttpServlet來說,容器會在servlet生命周期的適當時間調用方法。除了doGet()和doPost()方法之外,還有一些對應于其他HTTP方法的方法:doDelete()、doHead()、doOptiongs()、doPut()和doTrace()。一般情況下不用實現(xiàn)這些方法,因為HttpServlet類已經(jīng)用適用于大多數(shù)servlet的方法考慮到了HEAD、OPTIONS和TRACE請求,而且DELETE和PUT這兩種HTTP方法很少用在Web應用程序中。容器只為每個Servlet創(chuàng)建一個實例非常重要。這意味著servlet必須是線程安全的—即,能夠同時處理多個請求,每個處理都通過servlet代碼作為單獨的線程來執(zhí)行。如果只在init()和destroy()方法中修改參考的對象,而且只在請求處理方法中讀取他們,那么不用喪失任何細節(jié)就可以滿足關于實例變量的這個要求。編譯和安裝servlet要編譯servlet,必須首先確保JAR文件包含著CLASSPATH環(huán)境變量中所有ServletAPI類。該JAR文件將隨所有的Web容器一起發(fā)布。Tomcat中包含了一個名為servlet.jar的JAR文件,位于common/lib目錄中。在Windows平臺中,應在CLASSPATH中包含JAR文件。讀取請求傳遞到doGet()和doPost()方法的參數(shù)之一是實現(xiàn)了HttpServletRequest接口的對象。該接口定義的方法可提供對關于請求的許多信息的訪問。生成應答除應答對象之外,容器還將實現(xiàn)HttpServletRequest接口的對象作為icanshu傳遞給doGet()和doPost()方法。該接口定義了為應答行為體獲取數(shù)序程序或流的方法。它還定義了設置應答狀態(tài)代碼和首部的方法。使用過濾器和監(jiān)聽器Servlet規(guī)范servlet內定義了兩種組件類型:過濾器和監(jiān)聽器。這兩種類型是在Servlet2.3規(guī)范中引入的,因此,如果你使用的是不支持該版本規(guī)范的容器,恐怕就不能繼續(xù)學習了。過濾器過濾器是一種組件,可以解釋對servlet、JSP頁面或靜態(tài)頁面的請求以及發(fā)送給客戶端之前的應答。這樣可以很容易地將應用于所有請求的任務集中在一起,例如訪問控制、登錄和內容的開銷或應用提供的服務等。過濾器對請求與應答的行為體和首部具有完全訪問權限,因此還可以執(zhí)行各種轉換。例如,如果Accept-Language請求首部指出客戶端可以處理壓縮的應答,那么過濾器就可以壓縮應答的行為體。過濾器可以應用在特定servlet上,或匹配某種URL模式的所有請求上,例如以相同的路徑元素開頭或具有相同擴展名的URL。監(jiān)聽器監(jiān)聽器允許應用程序對特定事件做出回應。Servlet2.3之前,只能處理會話屬性綁定事件(在添加對象或從會話中刪除對象時)。實現(xiàn)監(jiān)聽器的方式是用保存為會話屬性(使用HttpSession.setAttribute()方法)的對象實現(xiàn)HttpSessionBinding-Listener接口。隨著Servlet規(guī)范的2.3版本中新接口的引入,可以為servlet環(huán)境和會話生命周期事件以及激活和鈍化事件(容器用來暫時將會話狀態(tài)保存在磁盤上或將會話移植到另一個服務器上)創(chuàng)建監(jiān)聽器。使用新的會話屬性事件監(jiān)聽器還可以在一個位置上處理所有會話的屬性綁定事件,而不是在每個會話中防止單獨的監(jiān)聽器對象。新類型的監(jiān)聽器遵循的是標準Java事件模型。換句話說,監(jiān)聽器是實現(xiàn)了一個或多個監(jiān)聽器接口的類。接口定義的是事件相應的方法。當應用程序啟動是,容易會注冊監(jiān)聽器類,然后該容器會在合適的事件調用那些事件方法。使用監(jiān)聽器初始化共享資源Bean一般都有需要在使用之前進行初始化。例如,它們可能需要對數(shù)據(jù)庫或某些其他外部數(shù)據(jù)源的引用,還可能在內存中創(chuàng)建一個初始消息緩存,以便即使是第一個請求數(shù)據(jù)也可以提供更快的訪問。可以在需要共享資源的servlet和JSP頁面中包含初始化共享資源的代碼,但是更標準的方法是在一個位置放置所有這些代碼,并在假設資源已經(jīng)初始化和可用的情況下,使應用程序的其他部分可以正常工作。應用程序生命周期監(jiān)聽器是此類資源初始化的絕好工具。此類監(jiān)聽器實現(xiàn)了javax.servlet.ServletContextListener接口,當應用程序啟動和關閉時會由容器調用該接口的方法。為每個任務選擇正確的組件類型在之前介紹的項目公告牌應用程序是相當復雜的應用程序。頁面的一般都是純粹的控制器和商務邏輯處理,它訪問數(shù)據(jù)庫以對用戶進行身份驗證,而且多數(shù)頁面都需要訪問控制。在現(xiàn)實生活中,它可能會包含更多的頁面,例如,用于訪問共享文檔檔案、事件表的頁面和用于管理的一組頁面等。由于應用程序在不斷地發(fā)展變化,因此可能變得很難作為純JSP應用程序來維護。例如,很容易忘記在新頁面中包含訪問控制代碼。很明顯,這種應用程序可以從使用JSP頁面與組件類型的組合中受益,其中組件類型由用于MVC角色的servlet規(guī)范所定義。下面看一下主要的要求,并了解如何將他們映射到適當?shù)慕M件類型上:數(shù)據(jù)庫訪問應該是抽象的,從而避免料接應用程序中多個部分的特定數(shù)據(jù)模式或數(shù)據(jù)庫引擎:模型角色中的bean可以用來完成這種認知。數(shù)據(jù)庫訪問bean必須在應用程序啟動時可用于所有其他的部分:應用程序生命周期時間監(jiān)聽器是用了該任務的完美的組件類型。只有通過驗證的用戶才允許使用應用程序:過濾器可以完成訪問控制以滿足該要求。用Java代碼進行請求處理效果最佳:servlet作為控制器正符合需要。必須很容易改編外觀呈現(xiàn):這正是JSP的反光點,也就是作為視圖。將servlet、監(jiān)聽器和過濾器混合起來,就將JSP頁面對復雜邏輯的需求降到了最低。將這些代碼放置到Java類中后,就可以使用普通的Java編譯程序和調試程序來修復潛在的問題。使用servlet集中處理請求將servlet作為所有應用程序請求的公共入口時,可以獲得對應用程序頁面流的整體控制。Servlet可以根據(jù)所請求行為的結果來決定要生成的應答類型,例如,為所有失敗的請求返回公共的錯誤頁面,或者根據(jù)發(fā)出請求的客戶端返回不同的應答等。在某些使用程序類的幫助下,servlet還可以提供諸如輸入驗證、J18N準備之類的服務,而且通常會鼓勵使用更有效率的方法來請求處理。當使用servlet作為控制器時,必須處理下列基本要求:所有處理請求必須傳遞到單獨的控制器servlet中。Servlet必須能夠區(qū)分請求,以便進行不同類型的處理。下面是其他一些你可能希望支持的功能,即使并非所有應用程序都要求:擴展應用程序以便以更靈活的方式支持新類型的請求處理。在不修改代碼的情況下改變應用程序頁面流的機制。當然,你可以自己開發(fā)滿足這些要求的servlet,但是已經(jīng)有開源式servlet了,他們可以滿足所有這些要求,甚至還有更多的功能。將應用程序請求映射到servlet使用控制器servlet的第一個要求是所有請求必須都經(jīng)過該servlet。該要求可以通過多種方式來滿足。如果你以前曾經(jīng)使用過servlet,那么你可能習慣于用以/myApp/servlet開頭的URI來調用servlet。這是由Sun公司的JavaWebServer(JWS)所引入的一個約定,JWS是在推出標準API之前第一個支持servlet的產(chǎn)品。今天,大部分servlet容器都支持這個約定,即使servlet規(guī)范中并沒有正式的定義?;贑8051F單片機直流電動機反饋控制系統(tǒng)的設計與研究基于單片機的嵌入式Web服務器的研究MOTOROLA單片機MC68HC(8)05PV8/A內嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現(xiàn)基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究基于C8051F040單片機的嵌入式系統(tǒng)開發(fā)基于單片機的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機實現(xiàn)一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設計基于單片機控制的高速快走絲電火花線切割機床短循環(huán)走絲方式研究基于單片機的機電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機的智能手機充電器基于單片機的實時內核設計及其應用研究基于單片機的遠程抄表系統(tǒng)的設計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統(tǒng)單片機系統(tǒng)軟件構件開發(fā)的技術研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設計和應用基于單片機的光纖光柵解調儀的研制氣壓式線性摩擦焊機單片機控制系統(tǒng)的研制基于單片機的數(shù)字磁通門傳感器基于單片機的旋轉變壓器-數(shù)字轉換器的研究基于單片機的光纖Bragg光柵解調系統(tǒng)的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統(tǒng)設計Pico專用單片機核的可測性設計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現(xiàn)基于單片機的電液伺服控制系統(tǒng)用于單片機系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機和CPLD的粗光柵位移測量系統(tǒng)研究單片機控制的后備式方波UPS提升高職學生單片機應用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設計基于單片機的單晶金剛石刀具刃磨設備的數(shù)控改造基于單片機的溫度智能控制系統(tǒng)的設計與實現(xiàn)基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協(xié)議轉換器基于單片機和DSP的變壓器油色譜在線監(jiān)測技術研究基于單片機的膛壁溫度報警系統(tǒng)設計基于AVR單片機的低壓無功補償控制器的設計基于單片機船舶電力推進電機監(jiān)測系統(tǒng)基于單片機網(wǎng)絡的振動信號的采集系統(tǒng)基于單片機的大容量數(shù)據(jù)存儲技術的應用研究基于單片機的疊圖機研究與教學方法實踐基于單片機嵌入式Web服務器技術的研究及實現(xiàn)基于AT89S52單片機的通用數(shù)據(jù)采集系統(tǒng)基于單片機的多道脈沖幅度分析儀研究機器人旋轉電弧傳感角焊縫跟蹤單片機控制系統(tǒng)基于單片機的控制系統(tǒng)在PLC虛擬教學實驗中的應用研究基于單片機系統(tǒng)的網(wǎng)絡通信研究與應用基于PIC16F877單片機的莫爾斯碼自動譯碼系統(tǒng)設計與研究基于單片機的模糊控制器在工業(yè)電阻爐上的應用研究基于雙單片機沖床數(shù)控系統(tǒng)的研究與開發(fā)基于Cygnal單片機的μC/OS-Ⅱ的研究基于單片機的一體化智能差示掃描量熱儀系統(tǒng)研究基于TCP/IP協(xié)議的單片機與Internet互聯(lián)的研究與實現(xiàn)變頻調速液壓電梯單片機控制器的研究基于單片機γ-免疫計數(shù)器自動換樣功能的研究與實現(xiàn)基于單片機的倒立擺控制系統(tǒng)設計與實現(xiàn)單片機嵌入式以太網(wǎng)防盜報警系統(tǒng)基于51單片機的嵌入式Internet系統(tǒng)的設計與實現(xiàn)單片機監(jiān)測系統(tǒng)在擠壓機上的應用MSP430單片機在智能水表系統(tǒng)上的研究與應用基于單片機的嵌入式系統(tǒng)中TCP/IP協(xié)議棧的實現(xiàn)與應用單片機在高樓恒壓供水系統(tǒng)中的應用基于ATmega16單片機的流量控制器的開發(fā)基于MSP430單片機的遠程抄表系統(tǒng)及智能網(wǎng)絡水表的設計基于MSP430單片機具有數(shù)據(jù)存儲與回放功能的嵌入式電子血壓計的設計基于單片機的氨分解率檢測系統(tǒng)的研究與開發(fā)鍋爐的單片機控制系統(tǒng)基于單片機控制的電磁振動式

溫馨提示

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

評論

0/150

提交評論