很多時(shí)候我們都想知道,web容器或web服務(wù)器(比如Tomcat或者jboss)是怎樣工作的?它們是怎樣處理來(lái)自全世界的http請(qǐng)求的?它們?cè)谀缓笞隽耸裁磩?dòng)作?Java Servlet API(例如ServletContext,ServletRequest,ServletResponse和Session這些類(lèi))在其中扮演了什么角色?這些都是web應(yīng)用開(kāi)發(fā)者或者想成為web應(yīng)用開(kāi)發(fā)者的人必須要知道的重要問(wèn)題或概念。在這篇文章里,小編將會(huì)盡量給出以上某些問(wèn)題的答案。請(qǐng)集中精神!
http的處理流程
目錄結(jié)構(gòu)
瀏覽器本身它是一個(gè)客戶端,當(dāng)輸入U(xiǎn)RL地址的時(shí)候,瀏覽器首先會(huì)去請(qǐng)求DNS服務(wù)器,通過(guò)DNS查詢獲取相應(yīng)的域名所對(duì)應(yīng)的IP地址,然后通過(guò)這個(gè)映射的IP地址找到IP對(duì)應(yīng)的服務(wù)器,并建立連接,等瀏覽器發(fā)送完HTTP Request(請(qǐng)求)包后,服務(wù)器接收到請(qǐng)求包之后才開(kāi)始處理,返回HTTP Response(響應(yīng))包,客戶端瀏覽器收到來(lái)自服務(wù)器的響應(yīng)后就開(kāi)始渲染這個(gè)Response包里的主體(body)部分,等收到全部的內(nèi)容后斷開(kāi)與該服務(wù)器之間的連接。
1)客戶端向Web服務(wù)器發(fā)起一個(gè)HTTP請(qǐng)求。
2)HTTP請(qǐng)求被Web服務(wù)器接受,如果請(qǐng)求的是靜態(tài)頁(yè)面,則由Web服務(wù)器負(fù)責(zé)處理。如果請(qǐng)求的是Java Web組件(Servlet或者JSP),則移交給Web容器。Web容器可以在主機(jī)的同一個(gè)進(jìn)程、不同的進(jìn)程或其他的Web服務(wù)主機(jī)的進(jìn)程中啟動(dòng)。
3)Web容器根據(jù)Servlet的配置文件確定調(diào)用的具體Servlet類(lèi),并把request對(duì)象、response對(duì)象傳給它。
4)Servlet通過(guò)request對(duì)象知道客戶端的使用者是誰(shuí),客戶的請(qǐng)求信息是什么和其他的一些信息。Servlet處理完請(qǐng)求后把要返回的信息放入response對(duì)象返回到客戶端。
5)一旦Servlet完成了請(qǐng)求的處理,Web容器就會(huì)刷新response,把控制權(quán)返回給web服務(wù)器。
下面是小編整理的一些學(xué)習(xí)路線和學(xué)習(xí)資料、視頻,希望能幫到大家。
Javaweb開(kāi)發(fā)視頻
免費(fèi)html視頻教程:http://www.bjpowernode.com/v27/
免費(fèi)css視頻教程下載:http://www.bjpowernode.com/v67/
Javascript視頻教程下:http://www.bjpowernode.com/v68/
jquery視頻教程全集:http://www.bjpowernode.com/v30/
ajax視頻教程全集:http://www.bjpowernode.com/v31/
Java jsp入門(mén)教程:http://www.bjpowernode.com/v34/
spring視頻教程下載:http://www.bjpowernode.com/v38/
以上就是長(zhǎng)沙一度軟件培訓(xùn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“誰(shuí)有javaweb視頻教程-Javaweb的工作原理”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)內(nèi)容
Java web目前流行的框架總結(jié)
五大 JAVA Web 框架的優(yōu)缺點(diǎn)對(duì)比
Javaweb開(kāi)發(fā)學(xué)習(xí)路線及Java三大框架
JavaWEB基礎(chǔ)面試題
Javaweb學(xué)習(xí)路線(自學(xué)規(guī)劃)