版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《JavaWeb應(yīng)用開發(fā)》課程教案課程名稱:JavaWeb應(yīng)用開發(fā)課程號:課程學(xué)分:2參考學(xué)時:32課程性質(zhì):專業(yè)核心課適用專業(yè):高等院校計算機類專業(yè)上課時間:授課教師:負責(zé)人:審核單位:年月日-1-一、課程基本信息課程名稱JavaWeb應(yīng)用開發(fā)課程號課程性質(zhì)專業(yè)核心課開課部門課程負責(zé)人課程團隊授課學(xué)期學(xué)分/學(xué)時2/32授課語言漢語課程簡介本書從JavaWeb開發(fā)編程入門,由淺入深、循序漸進地講解JavaWeb編程的基礎(chǔ)知識和常用框架。學(xué)習(xí)本書的讀者需要掌握一定的HTML語言、Java基礎(chǔ)、數(shù)據(jù)庫技術(shù)等相關(guān)知識。以項目開發(fā)為主線,以實用技能為基礎(chǔ),以提高動手能力為核心。本書以一個完整的“新聞發(fā)布系統(tǒng)”項目開發(fā)為主線,將相關(guān)知識點的講解貫穿其中,通過具體實施步驟使學(xué)生掌握關(guān)鍵技術(shù),最后通過一個綜合案例——學(xué)生信息管理系統(tǒng)進行演練。授課班級
二、課程授課教案第六章講課主題Servlet技術(shù)學(xué)時5學(xué)時教學(xué)目標了解Servlet的基本概念了解Servlet的工作原理熟悉Servlet的優(yōu)點和生命周期掌握Servlet程序的編寫和部署實現(xiàn)Servlet的綜合案例教學(xué)重點、難點本章主要介紹了Servlet技術(shù)的概念、工作原理、Servlet優(yōu)點及生命周期等相關(guān)概念。Servlet是指服務(wù)器端小程序,主要用于處理客戶端傳來的HTTP請求,并返回一個響應(yīng)。Servlet開發(fā)需要創(chuàng)建一個Servlet類,且必須繼承HttpServlet類,一般Servlet負責(zé)數(shù)據(jù)流向的控制,并通過HttpServletResponse對象對請求做出響應(yīng)。并實現(xiàn)doGet0方法和doPost()方法。理解Servlet很重要,因為它們是JSP的底層實現(xiàn)。教學(xué)設(shè)計授課提綱及重難點分析教學(xué)方法及課程思政設(shè)計教學(xué)時間6.1Servlet介紹6.1Servlet介紹隨著Web應(yīng)用業(yè)務(wù)的逐漸增多,動態(tài)Web的開發(fā)也顯得越來越重要。目前,企業(yè)提供的比較常見的有ASP、PHP、JSP和Servlet等的相關(guān)技術(shù)。SUN公司提供了Servlet和JSP兩種技術(shù),用于Java的動態(tài)資源開發(fā)。6.1.1Servlet的概念Servlet(ServerApplet)是JavaServlet的簡稱,JavaServlet是運行在Web服務(wù)器或應(yīng)用服務(wù)器上的程序,它是作為來自Web瀏覽器或其他HTTP客戶端的請求和HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序之間的中間層。Servlet稱為小服務(wù)程序或服務(wù)連接器,用Java編寫的服務(wù)器端程序,具有獨立于平臺和協(xié)議的特性,可以靈活地加載和卸下Servlet模塊。Servlet主要功能在于交互式地瀏覽和生成數(shù)據(jù),可以響應(yīng)任何類型的請求,但大部分情況下Servlet應(yīng)用于響應(yīng)HTTP請求,動態(tài)生成web頁面。面對一個或一組URL地址的訪問請求,一個Servlet程序都能負責(zé)處理和它所對應(yīng)的請求,并且產(chǎn)生響應(yīng)內(nèi)容。一個Servlet程序的基本功能如下。(1)獲取客戶端通過HTML的FORM表單傳遞的數(shù)據(jù)和鏈接地址URL后面的參數(shù)信息。(2)創(chuàng)建對客戶端的響應(yīng)消息內(nèi)容。(3)訪問服務(wù)器端的文件系統(tǒng)。(4)連接數(shù)據(jù)庫并開發(fā)基于數(shù)據(jù)庫的應(yīng)用。(5)調(diào)用其他的Java類。相較于普通的Java程序,Servlet只是輸入信息的來源與輸出結(jié)果的目標不一致。因此,普通Java程序能實現(xiàn)的大多數(shù)任務(wù)需求,Server程序也都能去實現(xiàn)。6.1.2工作原理Servlet運行需要特定的容器,即Servlet運行時所需要的運行環(huán)境。本項目采用Tomcat作為Servlet的容器,由Tomcat為Servlet提供基本的運行環(huán)境。當Web服務(wù)器接收到一個HTTP請求時,會將請求交給Servlet容器,Servlet容器首先對所請求的URL進行解析,并根據(jù)web.xml配置文件找到相應(yīng)的處理Servlet,同時將request、response對象傳遞給Servlet。Servlet通過request對象獲取客戶端請求者、請求信息以及其他信息等。Servlet處理完請求后,會把所有需要返回的信息放入response對象中并返回客戶端,Servlet容器就會刷新response對象,并將控制權(quán)重新交給Web服務(wù)器。如圖6-1所示為Servlet的工作原理示意圖。當Servlet容器收到請求時,Servlet引擎就會判斷這個Servlet是否為第一次訪問,如果是第一次訪問,Servlet引擎調(diào)用init()方法初始化這個Servlet。每個Servlet只被初始化一次,后續(xù)的請求只是新建一個線程,再調(diào)用Servlet中service()方法。當多個用戶請求同時訪問一個Servlet時,由Servlet容器負責(zé)為每個用戶啟動一個線程,這些線程的啟動和銷毀都由Servlet容器負責(zé)。6.1.3Servlet的優(yōu)點Servlet具備Java跨平臺的優(yōu)點,不受軟硬件環(huán)境的限制,其具體優(yōu)點如下:1.可移植性好Servlet是使用Java語言來編寫的,因此,它延續(xù)了Java在跨平臺上的表現(xiàn),可以在不同的操作系統(tǒng)平臺和不同應(yīng)用服務(wù)器平臺下移植。幾乎所有的主流服務(wù)器都直接或間接支持Servlet。 2.高效在傳統(tǒng)的CGI中,客戶機向服務(wù)器發(fā)出的每個請求都要生成一個新的進程。在Servlet中,每個請求將生成一個新的線程,而不是一個完整的進程。Servlet被調(diào)用時,它被載人駐留在內(nèi)存中,直到更改Servlet,它才會被再次加載。3.功能強大Servlet可以使用JavaAPI核心的所有功能,這些功能包括Web和URL訪問、圖像處用、數(shù)據(jù)壓縮、多線程JDBCRMI、序列化對象等。4、方便Servlet提供了大量的實用工用工具例程,例如,自動地解析和解碼HTML表單數(shù)據(jù)、速取和設(shè)置HTTP頭、處理Cookie、跟蹤會話狀態(tài)等。5.可重用性Servlet提供重用機制,可以給應(yīng)用建立組件或用面向?qū)ο蟮姆椒ǚ庋b共享功能。6.模塊化JSP、Servlet、JavaBean都提供把程序模塊化的途徑,把整個應(yīng)用劃分為許多離散的模塊,各模塊負責(zé)一項具體的任務(wù),使程序便于理解。每一個Servlet可以執(zhí)行一個特定的任務(wù),Servlet之間可以相互交流。7.節(jié)省投資不僅有許多廉價甚至免費的Web服務(wù)器可供個人或小規(guī)模網(wǎng)站使用,而且對于現(xiàn)有的服務(wù)器。如果它不支持Servlet,想要加上這部分功能也往往是免費的或只需要極少的投資。8.安全性Servlet可以充分利用Java的安全機制、并且可以實現(xiàn)類型的安全性。在Java的異常處理機制下,Servlet能夠安全地處理各種錯誤,不會因為程序上的邏輯錯誤而導(dǎo)致整體服務(wù)器系統(tǒng)的毀滅。6.1.4生命周期Servlet是一種服務(wù)器端程序,它的運行環(huán)境需要Servlet容器來支持。Servlet的生命周期始于Web服務(wù)開始運行時,之后不斷地處理來自瀏覽器的請求,然后通過Web服務(wù)器將響應(yīng)結(jié)果返回給客戶端,直到Web服務(wù)器停止運行,Servlet才會被終止。一個Servlet的完整生命周期一般包含加載、初始化、運行和銷毀4個階段。以下是Servlet遵循的過程。圖6-2所示揭示了Servlet的生命周期。6.1.5MVC架構(gòu)模式Java的跨平臺、安全性、高效性、可擴展性和易學(xué)性,導(dǎo)致它應(yīng)用廣泛。目前,軟件工程中的一種比較常見的軟件架構(gòu)模式為MVC模式(Model-View-Controller)。MVC把軟件系統(tǒng)分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。視圖層:指用戶界面,用于與系統(tǒng)進行交互,其主要負責(zé)從用戶那里獲取數(shù)據(jù)和向用戶展示數(shù)據(jù)。模型層:負責(zé)接收視圖層請求的數(shù)據(jù),并返回最終的處理結(jié)果,其主要完成業(yè)務(wù)邏輯處理和有關(guān)數(shù)據(jù)庫的操作??刂茖樱航邮諄碜砸晥D層的請求,交給模型層處理,將處理好的結(jié)果返回給視圖層??刂茖樱罕旧聿簧婕皵?shù)據(jù)數(shù)據(jù)處理和業(yè)務(wù)邏輯處理,只是將模型層和視圖層進行匹配,負責(zé)控制數(shù)據(jù)的流向。MVC架構(gòu)模式的關(guān)系如圖6-3所示。6.2Servlet的開發(fā)JavaWeb開發(fā)一般Servlet負責(zé)數(shù)據(jù)流向的控制,并通過HttpServletResponse對象對請求做出響應(yīng)。創(chuàng)建的Servlet必須繼承HttpServlet類,并實現(xiàn)doGet0方法和doPost()方法。運行一個Servlet程序,Servlet源文件先會編譯為字節(jié)碼文件,然后將字節(jié)碼文件保存到相應(yīng)的Web目錄中,最后設(shè)置Servlet的調(diào)用路徑,即配置web.xml.文件能生效。6.3使用Servlet獲取信息Servlet與HTTP聯(lián)系密切,Servlet幾乎可以處理HTTP各個方面的內(nèi)容。下面主要介紹如何使用Servlet獲取HTTP的信息。6.3.1獲取HTTP頭部信息使用Servlet獲取HTTP的頭部信息,這些信息一般包含在HTTP請求中。當用戶訪問一個頁面時,會提交一個HTTP請求給服務(wù)器的Servlet引擎?!纠?.2】在ServletWeb項目中創(chuàng)建并使用Servlet獲取HTTP頭部信息的類。創(chuàng)建Servlet(ServletHeader.java),代碼如下:importjava.io.PrintWriter;importjava.util.*;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;在上述代碼中,創(chuàng)建獲取HTTP頭部信息的Servlet類,在該類中通過request對象的getHeaderNames()方法獲取包含信息名稱的枚舉類型。在while循環(huán)中,通過枚舉類提供的hasMoreElements(方法進行循環(huán),并通過枚舉類提供的nextElement(方法獲取元素的名稱,通過request對象的getHeaderO方法根據(jù)元素的名稱獲得其值。最后將名稱和值打印輸出。6.3.2獲取請求對象信息通過Servlet不僅可能夠獲取HTTP的頭部信息,還可以獲取發(fā)出請求的對象自身的信息,比如用戶提交請求使用的協(xié)議或用戶提交表單的方法等。在上述代碼中,創(chuàng)建繼承HttpServlet的SelfInfo類,在類的doGet()方法中獲取發(fā)出請求對象的信息,即表單的提交方式、使用的協(xié)議、Remote
主機的地址以及Servlet的地址。6.3.3獲取參數(shù)信息使用Servlet還可以獲取用戶提交的參數(shù)信息,這些參數(shù)可以是表單以POST或GET方式提交的數(shù)據(jù),也可以是直接通過超鏈接傳遞的參數(shù)。6.4調(diào)用Servlet的方法在前面講述的Servlet
中,都是以在瀏覽器的地址欄中輸入具體的Servlet地址的形式訪問頁面。實際應(yīng)用中,一般很少在瀏覽器中輸入Servlet的地址進行訪問,通常是通過調(diào)用Servlet的方式進行訪問JSP頁面。本節(jié)主要介紹在JSP應(yīng)用中調(diào)用Servlet的兩種方式,一種是表單提交調(diào)用Servlet,另外一種是通過超鏈接調(diào)用Servlet。6.4.1表單形式調(diào)用Servlet以表單的形式調(diào)用Servlet,采用將Servlet的地址寫入表單的action屬性的方法,當表單提交之后會調(diào)用Servlet,然后就處理表單提交的數(shù)據(jù)。6.4.2超鏈接形式調(diào)用Servlet當有用戶輸入的內(nèi)容提交給服務(wù)器時,一般使用表單提交調(diào)用Servlet。對于沒有用戶輸入數(shù)據(jù)的情況,一般通過超鏈接的方式來調(diào)用Servlet,這種情況還可以傳遞參數(shù)給Servlet。6.5實戰(zhàn)練習(xí)應(yīng)用實例:網(wǎng)上留言板。本例通過一個留言板模塊來了解Servlet的使用。Servlet主要用于MVC模式中控制器部分。本例的Servlet處理數(shù)據(jù)并有一定的控制功能。處理留言板開發(fā)流程如圖6-16
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)機服務(wù)經(jīng)紀人崗前全能考核試卷含答案
- 鉬鎢冶煉輔料制備工班組評比模擬考核試卷含答案
- 鑄管噴漆工改進模擬考核試卷含答案
- 農(nóng)業(yè)地質(zhì)調(diào)查員崗前安全實踐考核試卷含答案
- 橋梁荷載試驗培訓(xùn)
- 銀行內(nèi)部財務(wù)管理監(jiān)督制度
- 超市商品質(zhì)量及售后服務(wù)制度
- 百色市樂業(yè)縣同樂300MW-600MWh新型儲能電站項目環(huán)境影響報告表
- SpaceX:太空巨頭的崛起與啟示(二)-
- 活動區(qū)域區(qū)評環(huán)節(jié)培訓(xùn)
- 2026福建廈門市高崎出入境邊防檢查站招聘警務(wù)輔助人員30人備考題庫及完整答案詳解
- 2026西藏自治區(qū)教育考試院招聘非編工作人員11人筆試備考試題及答案解析
- 2026年度黑龍江省生態(tài)環(huán)境廳所屬事業(yè)單位公開招聘工作人員57人備考題庫及一套答案詳解
- 炎癥因子風(fēng)暴與神經(jīng)遞質(zhì)紊亂的干細胞干預(yù)策略
- 2026年1月浙江省高考(首考)英語試題(含答案)+聽力音頻+聽力材料
- 中國大型SUV市場數(shù)據(jù)洞察報告-
- 太陽能路燈施工組織設(shè)計
- 小兒膿毒癥教學(xué)課件
- 2026年江蘇衛(wèi)生健康職業(yè)學(xué)院單招職業(yè)傾向性測試必刷測試卷及答案解析(名師系列)
- 高校行政人員筆試試題(附答案)
- 2025年農(nóng)村會計考試試題題庫及答案
評論
0/150
提交評論