更新時(shí)間:2020-06-16 11:09:35 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2069次
很多時(shí)候我們都想知道,web容器或web服務(wù)器(比如Tomcat或者jboss)是怎樣工作的?它們是怎樣處理來自全世界的http請(qǐng)求的?它們?cè)谀缓笞隽耸裁磩?dòng)作?Java Servlet API(例如ServletContext,ServletRequest,ServletResponse和Session這些類)在其中扮演了什么角色?
目錄結(jié)構(gòu)
瀏覽器本身它是一個(gè)客戶端,當(dāng)輸入U(xiǎn)RL地址的時(shí)候,瀏覽器首先會(huì)去請(qǐng)求DNS服務(wù)器,通過DNS查詢獲取相應(yīng)的域名所對(duì)應(yīng)的IP地址,然后通過這個(gè)映射的IP地址找到IP對(duì)應(yīng)的服務(wù)器,并建立連接,等瀏覽器發(fā)送完HTTP Request(請(qǐng)求)包后,服務(wù)器接收到請(qǐng)求包之后才開始處理,返回HTTP Response(響應(yīng))包,客戶端瀏覽器收到來自服務(wù)器的響應(yīng)后就開始渲染這個(gè)Response包里的主體(body)部分,等收到全部的內(nè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類,并把request對(duì)象、response對(duì)象傳給它。
4)Servlet通過request對(duì)象知道客戶端的使用者是誰,客戶的請(qǐng)求信息是什么和其他的一些信息。Servlet處理完請(qǐng)求后把要返回的信息放入response對(duì)象返回到客戶端。
5)一旦Servlet完成了請(qǐng)求的處理,Web容器就會(huì)刷新response,把控制權(quán)返回給web服務(wù)器。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java web學(xué)習(xí)方法及工作原理”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)