![HTTP協(xié)議及Servlet原理_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/abd1e3aa-b5e8-4a2f-b51d-1e8ac95ab1b7/abd1e3aa-b5e8-4a2f-b51d-1e8ac95ab1b71.gif)
![HTTP協(xié)議及Servlet原理_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/abd1e3aa-b5e8-4a2f-b51d-1e8ac95ab1b7/abd1e3aa-b5e8-4a2f-b51d-1e8ac95ab1b72.gif)
![HTTP協(xié)議及Servlet原理_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/abd1e3aa-b5e8-4a2f-b51d-1e8ac95ab1b7/abd1e3aa-b5e8-4a2f-b51d-1e8ac95ab1b73.gif)
![HTTP協(xié)議及Servlet原理_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/abd1e3aa-b5e8-4a2f-b51d-1e8ac95ab1b7/abd1e3aa-b5e8-4a2f-b51d-1e8ac95ab1b74.gif)
![HTTP協(xié)議及Servlet原理_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/10/abd1e3aa-b5e8-4a2f-b51d-1e8ac95ab1b7/abd1e3aa-b5e8-4a2f-b51d-1e8ac95ab1b75.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、HTTP協(xié)議及Servlet原理回顧 Web開(kāi)發(fā)簡(jiǎn)介 B/S與C/S的區(qū)別 Tomcat服務(wù)器 Servlet關(guān)鍵字Http協(xié)議Servlet原理課程目標(biāo) Http簡(jiǎn)介 Servlet生命周期HTTP協(xié)議及Servlet原理 當(dāng)我們想瀏覽一個(gè)網(wǎng)站的時(shí)候,只要在瀏覽器的地址欄里輸入網(wǎng)站的地址就可以了,例如,但是在瀏覽器的地址欄里面出現(xiàn)的卻是:http:/ ,你知道為什么會(huì)多出一個(gè)“http”嗎? 什么是HTTP協(xié)議 我們知道,Internet的基本協(xié)議是TCP/IP協(xié)議,然而在TCP/IP模型最上層的是應(yīng)用層(Applicationlayer),它包含所有高層的協(xié)議。高層協(xié)議有:文件傳輸協(xié)議FT
2、P、電子郵件傳輸協(xié)議SMTP、域名系統(tǒng)服務(wù)DNS、網(wǎng)絡(luò)新聞傳輸協(xié)議NNTP和HTTP協(xié)議等。HTTP協(xié)議(HyperText Transfer Protocol,超文本傳輸協(xié)議)是用于從web服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議,用來(lái)定義客戶端與web服務(wù)器通迅的格式。它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。它不僅保證計(jì)算機(jī)正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內(nèi)容首先顯示(如文本先于圖形)等。這就是你為什么在瀏覽器中看到的網(wǎng)頁(yè)地址都是以http:/開(kāi)頭的原因。HTTP協(xié)議簡(jiǎn)介 HTTP是HyperText Transfer Protocol(超文本傳輸協(xié)議)的簡(jiǎn)寫(xiě)
3、,它是TCP/IP協(xié)議的一個(gè)應(yīng)用層協(xié)議,用于定義WEB瀏覽器與WEB服務(wù)器之間交換數(shù)據(jù)的過(guò)程 HTTP協(xié)議是學(xué)習(xí)JavaWeb開(kāi)發(fā)的基石,不深入了解HTTP協(xié)議,就不能說(shuō)掌握了WEB開(kāi)發(fā),更無(wú)法管理和維護(hù)一些復(fù)雜的WEB站點(diǎn) HTTP協(xié)議的版本:HTTP/1.0(斷開(kāi)連接)、HTTP/1.1(保持連接)HTTP1.0和HTTP1.1的區(qū)別 在HTTP1.0協(xié)議中,客戶端與web服務(wù)器建立連接后,只能獲得一個(gè)web資源 HTTP1.1協(xié)議,允許客戶端與web服務(wù)器建立連接后,在一個(gè)連接上獲取多個(gè)web資源 Web應(yīng)用的優(yōu)化之一: 減少客戶端向Web服務(wù)器發(fā)送HTTP請(qǐng)求的數(shù)量HTTP請(qǐng)求(req
4、uest) 客戶端連上服務(wù)器后,向服務(wù)器請(qǐng)求某個(gè)web資源,稱(chēng)之為客戶端向服務(wù)器發(fā)送了一個(gè)HTTP請(qǐng)求。一個(gè)完整的HTTP請(qǐng)求包括如下內(nèi)容:一個(gè)請(qǐng)求行、若干消息頭、以及實(shí)體內(nèi)容,其中的一些消息頭和實(shí)體內(nèi)容都是可選的,消息頭和實(shí)體內(nèi)容之間要用空行隔開(kāi)。 如下所示 :GET /books/java.html HTTP/1.1Accept: */*Accept-Language: en-usConnection: Keep-AliveHost: localhostReferer: http:/localhost/links.aspUser-Agent: Mozilla/4.0Accept-Encod
5、ing: gzip, deflate請(qǐng)求行請(qǐng)求行多個(gè)多個(gè)消息頭消息頭請(qǐng)求行用于描述客戶端的請(qǐng)求方式、請(qǐng)求的資源名稱(chēng),以及使用的HTTP協(xié)議版本號(hào)消息頭用于描述客戶端請(qǐng)求哪臺(tái)主機(jī),以及客戶端的一些環(huán)境信息等HTTP請(qǐng)求的細(xì)節(jié)請(qǐng)求行 請(qǐng)求行中的GET稱(chēng)之為請(qǐng)求方式,請(qǐng)求方式有: POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT 常用的有:POST、GET 不管POST或GET,都用于向服務(wù)器請(qǐng)求某個(gè)WEB資源,這兩種方式的區(qū)別主要表現(xiàn)在數(shù)據(jù)傳遞上,客戶端通過(guò)這兩種方式都可以帶一些數(shù)據(jù)給服務(wù)器。請(qǐng)求細(xì)節(jié) 如請(qǐng)求方式為GET方式,則可以在請(qǐng)求的URL地址后以?的形式帶上交給
6、服務(wù)器的數(shù)據(jù),多個(gè)數(shù)據(jù)之間以&進(jìn)行分隔,例如: GET /mail/1.html?name=abc&password=xyz HTTP/1.1GET方式的特點(diǎn):在URL地址后附帶的參數(shù)是有限制的,其數(shù)據(jù)容量不能超過(guò)1K。 如請(qǐng)求方式為POST方式,則可以在請(qǐng)求的實(shí)體內(nèi)容中向服務(wù)器發(fā)送數(shù)據(jù),例如: POST /servlet/ParamsServlet HTTP/1.1 Host: Content-Type: application/x-www-form-urlencoded Content-Length: 28 name=jack&password=aaaaaaPost方式的特點(diǎn):傳送的數(shù)據(jù)量
7、無(wú)限制,文件下載HTTP請(qǐng)求的細(xì)節(jié)消息頭 用于HTTP請(qǐng)求中的常用頭 Accept: text/html,image/* Accept-Charset: utf-8 Accept-Encoding: gzip,compress Accept-Language: en-us,zh-cn Host: http:/ If-Modified-Since: Tue, 11 Jul 2015 15:32:51 GMT(緩存時(shí)間) Referer: http:/ User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) Cookie Con
8、nection: close/Keep-Alive Date: Tue, 11 Jul 2015 15:32:51 GMT(訪問(wèn)時(shí)間)HTTP響應(yīng)Response 一個(gè)HTTP響應(yīng)代表服務(wù)器向客戶端回送的數(shù)據(jù),它包括: 一個(gè)狀態(tài)行、若干消息頭、以及實(shí)體內(nèi)容 ,其中的一些消息頭和實(shí)體內(nèi)容都是可選的,消息頭和實(shí)體內(nèi)容之間要用空行隔開(kāi)。 HTTP/1.1 200 OKServer: Microsoft-IIS/5.0Date: Thu, 11 Jul 2015 15:32:51 GMTContent-Length: 2291Content-Type: text/htmlCache-control:
9、private狀態(tài)行狀態(tài)行多個(gè)多個(gè)消息頭消息頭實(shí)體內(nèi)容實(shí)體內(nèi)容狀態(tài)行用于描述服務(wù)器對(duì)請(qǐng)求的處理結(jié)果。消息頭用于描述服務(wù)器的基本信息,以及數(shù)據(jù)的描述,服務(wù)器通過(guò)這些數(shù)據(jù)的描述信息,可以通知客戶端如何處理等一會(huì)兒它回送的數(shù)據(jù)。代表服務(wù)器向客戶端回送的數(shù)據(jù)。HTTP響應(yīng)的細(xì)節(jié)狀態(tài)行 狀態(tài)行 格式: HTTP版本號(hào)狀態(tài)碼原因敘述 舉例:HTTP/1.1 200 OK狀態(tài)碼用于表示服務(wù)器對(duì)請(qǐng)求的處理結(jié)果,它是一個(gè)三位的十進(jìn)制數(shù)。響應(yīng)狀態(tài)碼分為5類(lèi),如下所示:狀態(tài)碼狀態(tài)碼含義含義100199表示成功接收請(qǐng)求,要求客戶端繼續(xù)提交下一次請(qǐng)求才能完成整個(gè)處理過(guò)程200299 表示成功接收請(qǐng)求并已完成整個(gè)處理過(guò)程
10、,常用200300399為完成請(qǐng)求,客戶需進(jìn)一步細(xì)化請(qǐng)求。例如,請(qǐng)求的資源已經(jīng)移動(dòng)一個(gè)新地址,常用302、307和304400499客戶端的請(qǐng)求有錯(cuò)誤,常用404500599服務(wù)器端出現(xiàn)錯(cuò)誤,常用 500HTTP響應(yīng)細(xì)節(jié)常用響應(yīng)頭 HTTP請(qǐng)求中的常用響應(yīng)頭 Location: http:/www.geminno/default.jsp Server:apache tomcat Content-Encoding: gzip Content-Length: 80 Content-Language: zh-cn Content-Type: text/html; charset=GB2312 Las
11、t-Modified: Tue, 11 Jul 2015 15:32:51 GMT Refresh: 1;url=http:/ Content-Disposition: attachment; filename=aaa.zip(下載文件) Transfer-Encoding: chunked(分塊傳遞數(shù)據(jù)到客戶端) Set-Cookie:SS=Q0=5Lb_nQ; path=/search Expires: -1/3種禁止緩存的頭字段 Cache-Control: no-cache Pragma: no-cache Connection: close/Keep-Alive Date: Tue,
12、 11 Jul 2015 15:32:51 GMTHTTP請(qǐng)求的細(xì)節(jié)通用信息頭 通用信息頭指既能用于請(qǐng)求,又能用于響應(yīng)的一些消息頭。 Cache-Control: no-cache Pragma: no-cache Connection: close/Keep-Alive Date: Tue, 11 Jul 2015 18:23:51 GMT案例演示 通過(guò)servlet演示常用的響應(yīng)頭 content-disposition content-type location refreshServlet生命周期HTTP請(qǐng)求容器12解析請(qǐng)求 345響應(yīng)6創(chuàng)建Servlet實(shí)例 調(diào)用init()方法 S
13、ervlet調(diào)用service()方法 調(diào)用destroy()方法 輸出響應(yīng)信息 78生命周期的各個(gè)階段實(shí)例化 Servlet 容器創(chuàng)建 Servlet 的實(shí)例初始化 該容器調(diào)用 init() 方法請(qǐng)求處理 如果請(qǐng)求 Servlet,則容器調(diào)用 service() 方法銷(xiāo)毀實(shí)例之前調(diào)用 destroy() 方法服務(wù)終止 Servlet的部署tomcatwebappsstoreWEB-INFindex.htmltest.jsplibclasses*.jarHelloServlet.classweb.xml顯示頁(yè)面第三方j(luò)ar文件.java編譯后的.class文件程序配置文件必須的tomcat主目
14、錄文檔根目錄在web.xml文件中配置Servlet HttpServletTest cn.jbit.servlet. HttpServletTest HttpServletTest /HttpServletTest 兩個(gè)名稱(chēng)必須相同 為了方便使用Servlet,取個(gè)別名 完整的包名+類(lèi)名 訪問(wèn)Servlet的URL servlet-mapping元素 由于客戶端是通過(guò)URL地址訪問(wèn)web服務(wù)器中的資源,所以Servlet程序若想被外界訪問(wèn),必須把servlet程序映射到一個(gè)URL地址上,這個(gè)工作在web.xml文件中使用元素和元素完成。 元素用于注冊(cè)Servlet,它包含有兩個(gè)主要的子元素:
15、和,分別用于設(shè)置Servlet的注冊(cè)名稱(chēng)和Servlet的完整類(lèi)名。 一個(gè)元素用于映射一個(gè)已注冊(cè)的Servlet的一個(gè)對(duì)外訪問(wèn)路徑,它包含有兩個(gè)子元素:和,分別用于指定Servlet的注冊(cè)名稱(chēng)和Servlet的對(duì)外訪問(wèn)路徑。 同一個(gè)Servlet可以被映射到多個(gè)URL上 Servlet路徑匹配AnyNameAnyName/action/action/* *AnyNameAnyName* *.do.do在Servlet映射到的URL中也可以使用*通配符,但是只能有兩種固定的格式:一種格式是“*.擴(kuò)展名”,另一種格式是以正斜杠(/)開(kāi)頭并以“/*”結(jié)尾。 Servlet對(duì)象創(chuàng)建 Servlet是一
16、個(gè)供其他Java程序(Servlet引擎)調(diào)用的Java類(lèi),它不能獨(dú)立運(yùn)行,它的運(yùn)行完全由Servlet引擎來(lái)控制和調(diào)度。 針對(duì)客戶端的多次Servlet請(qǐng)求,通常情況下,服務(wù)器只會(huì)創(chuàng)建一個(gè)Servlet實(shí)例對(duì)象,也就是說(shuō)Servlet實(shí)例對(duì)象一旦創(chuàng)建,它就會(huì)駐留在內(nèi)存中,為后續(xù)的其它請(qǐng)求服務(wù),直至web容器退出,servlet實(shí)例對(duì)象才會(huì)銷(xiāo)毀。 在Servlet的整個(gè)生命周期內(nèi),Servlet的init方法只被調(diào)用一次。而對(duì)一個(gè)Servlet的每次訪問(wèn)請(qǐng)求都導(dǎo)致Servlet引擎調(diào)用一次servlet的service方法。對(duì)于每次訪問(wèn)請(qǐng)求,Servlet引擎都會(huì)創(chuàng)建一個(gè)新的HttpServletRequestHttpServletRequest請(qǐng)求對(duì)象和一個(gè)新的請(qǐng)求對(duì)象和一個(gè)新的HttpServletResponseHttpServletResponse響應(yīng)響應(yīng)對(duì)象,然后將這兩個(gè)對(duì)象作為參數(shù)傳遞給它調(diào)用的Servlet的service()方法,service方法再根據(jù)請(qǐng)求方式分別調(diào)用doXXX方法。 servlet元素 如果在元素中配置了一個(gè)元素,那么WEB應(yīng)用程序在啟動(dòng)時(shí),就會(huì)裝載并創(chuàng)建Servlet的實(shí)例對(duì)象、以及調(diào)用Servlet實(shí)例對(duì)象的init()方法。舉例:name類(lèi)全名2數(shù)值
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度減肥健身器材銷(xiāo)售與服務(wù)合同
- 2025年度環(huán)境工程資料收集與評(píng)估合同范本
- 2025年度新型城鎮(zhèn)化建設(shè)安裝施工總承包合同
- 貴州2025年貴州省自然資源廳事業(yè)單位招聘14人筆試歷年參考題庫(kù)附帶答案詳解
- 邯鄲2024年河北邯鄲廣平縣招聘警務(wù)輔助崗位工作人員58人筆試歷年參考題庫(kù)附帶答案詳解
- 衡水2025年河北衡水職業(yè)技術(shù)學(xué)院招聘人事代理工作人員25人筆試歷年參考題庫(kù)附帶答案詳解
- 綿陽(yáng)2024年四川省綿陽(yáng)第一中學(xué)第三批招聘教師3人筆試歷年參考題庫(kù)附帶答案詳解
- 滁州安徽滁州天長(zhǎng)市水利局機(jī)關(guān)綜合服務(wù)中心選調(diào)工作人員筆試歷年參考題庫(kù)附帶答案詳解
- 山西省卓越聯(lián)盟2024-2025學(xué)年高三下學(xué)期2月開(kāi)學(xué)質(zhì)量檢測(cè)試題 地理 含答案
- 喹吖啶酮類(lèi)項(xiàng)目融資計(jì)劃書(shū)
- GB/T 44143-2024科技人才評(píng)價(jià)規(guī)范
- 《混合動(dòng)力汽車(chē)用變速器效率臺(tái)架試驗(yàn)方法》
- 對(duì)醫(yī)院領(lǐng)導(dǎo)的批評(píng)意見(jiàn)怎么寫(xiě)更合適范文(6篇)
- 裕龍島煉化一體化項(xiàng)目(一期)環(huán)境影響報(bào)告
- 2024年北京卷英語(yǔ)真題
- 《網(wǎng)絡(luò)安全防護(hù)項(xiàng)目教程》課件項(xiàng)目4 網(wǎng)絡(luò)病毒和惡意代碼分析與防御
- 賬期協(xié)議書(shū)賬期合同書(shū)
- 信息技術(shù)課程標(biāo)準(zhǔn)2023版:義務(wù)教育小學(xué)階段
- 2024年興業(yè)銀行股份有限公司校園招聘考試試題參考答案
- 2024年常德職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)完整
- 天津市河?xùn)|區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末數(shù)學(xué)試題
評(píng)論
0/150
提交評(píng)論