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

下載本文檔

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

文檔簡介

1、什么是Servlet?,Servlet = Server + Applet含義:運(yùn)行在服務(wù)器端的小程序。特點(diǎn):按照Servlet規(guī)范寫的Java類作用:在服務(wù)器端運(yùn)行,處理客戶端的請求,8.1 Servlet概述,JSP頁面運(yùn)行原理:將JSP頁面文件轉(zhuǎn)譯成JAVA文件將JAVA文件編譯生成字節(jié)碼文件將字節(jié)碼文件加載到內(nèi)存中執(zhí)行字節(jié)碼文件創(chuàng)建對象,相應(yīng)客戶的請求當(dāng)多個(gè)用戶請求同一頁面時(shí):服務(wù)器啟動多線程該對象會在各個(gè)

2、線程中調(diào)用方法,分別響應(yīng)每個(gè)用戶的請求,,內(nèi)存,創(chuàng)建一個(gè)對象,響應(yīng)用戶的請求,用戶請求,8.1 Servlet概述,Java Servlet技術(shù):在服務(wù)器端創(chuàng)建對象,響應(yīng)用戶請求的技術(shù)被創(chuàng)建的對象習(xí)慣上稱為一個(gè)Servlet對象JSP技術(shù)是以Java Servlet為基礎(chǔ)的Servlet對象創(chuàng)建和使用的過程:1)編寫特殊類(HttpServlet)的子類,生成的字節(jié)碼文件保存在\WEB-INF\classes下;2)編寫部署

3、文件web.xml3)當(dāng)用戶發(fā)出請求時(shí),服務(wù)器使用字節(jié)碼文件創(chuàng)建Servlet對象;,,,,,,8.1 Servlet概述,CGI:(Common Gateway Interface)“公共網(wǎng)關(guān)接口”,HTTP服務(wù)器與客戶機(jī)上的程序進(jìn)行“交談”的一種工具(服務(wù)器端用于相應(yīng)客戶請求的程序)Java Servlet:一種Java語言編寫的CGI程序特點(diǎn):傳統(tǒng)的CGI為每個(gè)客戶端請求啟用一個(gè)進(jìn)程Java Servlet為每個(gè)客戶端

4、請求啟用一個(gè)線程,8.1 Servlet概述,優(yōu)點(diǎn):功能強(qiáng)大,能夠高效的相應(yīng)客戶的請求適合數(shù)據(jù)處理、邏輯判斷等工作缺點(diǎn):采用逐行輸出HTML代碼的方式來生成動態(tài)網(wǎng)頁,當(dāng)頁面顯示內(nèi)容較多時(shí),代碼量龐大,會給開發(fā)和維護(hù)帶來沉重的負(fù)擔(dān)不適合數(shù)據(jù)顯示的工作作用:Servlet在MVC設(shè)計(jì)模式下,通常扮演控制器(Controller)的角色,JSP頁面,Servlet API,Servlet框架主要有兩個(gè)java包組成:javax.

5、servlet:定義了各種servlet類所必須實(shí)現(xiàn)的接口和類。javax.servlet.http:定義了采用Http協(xié)議通信的Servlet類和接口該框架的核心是:javax.servlet.Servlet接口。所有的Servlet都必須直接或間接的實(shí)現(xiàn)該接口。,org.apache.jasper.runtime.HttpJspBase,,通用實(shí)現(xiàn),HTTP實(shí)現(xiàn),8.2 創(chuàng)建Servlet類,1)創(chuàng)建特殊類的子類:javax.

6、servlet.http包中的HttpServlet類該類實(shí)現(xiàn)了Servlet接口(該接口定義了響應(yīng)客戶請求的方法)首要工作:編寫HttpServlet類的子類!說明:JDK內(nèi)置包中不包含HttpServlet等類的文件使用MyEclipse軟件構(gòu)件java web項(xiàng)目,會自動將servlet.api.jar文件導(dǎo)入到當(dāng)前項(xiàng)目中,8.2 創(chuàng)建Servlet類,8.2 創(chuàng)建Servlet類,2.編寫部署文件在該項(xiàng)目的webro

7、ot\WEB-INF文件夾下編寫部署文件web.xml該文件以開頭(不要亂加空格)增加servlet標(biāo)簽和servlet-mapping標(biāo)簽修改該文件后,必須重啟Tomcat服務(wù)器,8.2 創(chuàng)建Servlet類,3.運(yùn)行Servlet可以根據(jù)web.xml中為Servlet對象設(shè)置的代號來發(fā)出請求(比如:hao)。注意:如果創(chuàng)建Servlet對象的java程序做出了修改,則需要重新編譯,替換原有的字節(jié)碼文件,并重啟服務(wù)器。,8

8、.3 Servlet的生命周期,1)初始化:Servlet對象第一次被請求加載時(shí),服務(wù)器先創(chuàng)建一個(gè)Servlet對象,該對象調(diào)用init()方法完成必要的初始化工作2)服務(wù):誕生的Servlet對象再調(diào)用service()方法響應(yīng)客戶的請求。3)銷毀:當(dāng)服務(wù)器關(guān)閉時(shí),調(diào)用destroy()方法,銷毀Servlet對象。,8.3 Servlet的生命周期,8.3 Servlet的生命周期,init()方法:public voi

9、d init(ServletConfig config) throws ServletException來源:繼承自HttpServlet類,可繼承或重寫作用:完成Servlet對象的初始化工作特點(diǎn):只在對象創(chuàng)建時(shí)調(diào)用一次執(zhí)行過程:服務(wù)器將一個(gè)ServletConfig類型的對象傳遞給init()方法,并保存在Servlet對象中。該對象負(fù)責(zé)傳遞服務(wù)設(shè)置信息,若傳遞失敗則拋出ServletException異常。,8.3 S

10、ervlet的生命周期,service()方法:public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException來源:繼承自HttpServlet類,可繼承或重寫作用:處理用戶的請求并返回響應(yīng)特點(diǎn):每次請求Servlet對象時(shí)都會被調(diào)用兩個(gè)參數(shù):request對象:封裝了客戶的請求信息r

11、esponse對象:用來響應(yīng)客戶的請求,8.3 Servlet的生命周期,destroy()方法:public void destroy()來源:繼承自HttpServlet類,可繼承或重寫作用:銷毀Servlet對象特點(diǎn):只在服務(wù)器終止服務(wù)時(shí)調(diào)用一次,8.4 doGet()方法和doPost()方法,每當(dāng)服務(wù)器接收到一個(gè)Servlet請求時(shí),就會產(chǎn)生一個(gè)新線程并調(diào)用Servlet對象的service()方法服務(wù)器會檢查該請求

12、類型(GET/POST),然后根據(jù)用戶的請求方式,在service()方法中對應(yīng)地調(diào)用doGet()或doPost()方法??梢栽赟ervlet類中重寫doPost()或doGet()方法來響應(yīng)用戶的請求,8.5 通過JSP頁面調(diào)用Servlet,1.通過超鏈接訪問Servle格式:XX,3. 通過JSP頁面調(diào)用Servlet,1.通過超鏈接訪問Servle輸出26個(gè)英文字母。,8.5 通過JSP頁面調(diào)用Servlet,2.通過表

13、單向Servle提交數(shù)據(jù),課堂練習(xí):編寫一個(gè)計(jì)算平方的Servlet類Compute使用自動生成Servlet的方法創(chuàng)建,8.6 自動創(chuàng)建servlet,第一步,8.6 自動創(chuàng)建servlet,點(diǎn)擊next,選servlet,第二步,,8.6 自動創(chuàng)建servlet,,,給Servlet類起名,只選doGet和doPost方法,第三步,8.6 自動創(chuàng)建servlet,,Servlet對象的名字,,Servlet映射地址,

14、,內(nèi)容保留,,內(nèi)容清空,,第四步,8.6 自動創(chuàng)建servlet,自動生成的Servle類文件,自動生成的web.xml配置文件,最終,課堂練習(xí),8.7 幾個(gè)常用方法,轉(zhuǎn)發(fā):RequestDispatcher disp = request.getRequestDispatcher("URL");disp.forward(request, response);重定向:response.sendRedire

15、ct(“URL");獲取out對象(向頁面輸出):PrintWriter out = response.getWriter();獲取session對象(會話管理):HttpSession session = request.getSession();獲取上下文環(huán)境對象(application周期)servlet.getServletContext();,示意圖:,瀏覽器訪問服務(wù)器過程示意圖,HTTP請求信號,只有首

溫馨提示

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

評論

0/150

提交評論