400-650-7353
您所在的位置:首頁(yè) > IT干貨資料 > java > 【Java基礎(chǔ)知識(shí)】Servlet基礎(chǔ)知識(shí)學(xué)習(xí)(二)

【Java基礎(chǔ)知識(shí)】Servlet基礎(chǔ)知識(shí)學(xué)習(xí)(二)

  • 發(fā)布: java培訓(xùn)
  • 來(lái)源:Java培訓(xùn)干貨資料
  • 2020-09-28 20:46:18
  • 閱讀()
  • 分享
  • 手機(jī)端入口

一、WEB服務(wù)器

WEB服務(wù)器也稱(chēng)WWW(WORLD WIDE WEB)服務(wù)器,是安裝并運(yùn)行著WEB服務(wù)器軟件的計(jì)算機(jī),主要用于提供網(wǎng)上信息訪問(wèn)服務(wù)。WEB服務(wù)器不僅能夠存儲(chǔ)信息,還能接收來(lái)自客戶(hù)機(jī)WEB瀏覽器的資源請(qǐng)求,處理請(qǐng)求,并返回處理結(jié)果。

常見(jiàn)的WEB服務(wù)器軟件有WebLogic、Tomcat、IIS等。

WEB服務(wù)器軟件是指駐留在WEB服務(wù)器上的服務(wù)程序。當(dāng)WEB瀏覽器(客戶(hù)端)連接到WEB服務(wù)器并請(qǐng)求資源時(shí),服務(wù)器將接收并處理請(qǐng)求,并將處理結(jié)果發(fā)送回瀏覽器,發(fā)送給瀏覽器的信息還有資源的大小、文件類(lèi)型等,即:告訴客戶(hù)端瀏覽器如何查看資源。

WEB服務(wù)器與客戶(hù)端瀏覽器之間,通過(guò)HTTP(超文本傳輸協(xié)議)進(jìn)行通信。

客戶(hù)端WEB瀏覽器訪問(wèn)WEB服務(wù)器上資源的過(guò)程大致可以分為四個(gè)步驟:創(chuàng)建連接、客戶(hù)端請(qǐng)求、服務(wù)器應(yīng)答、關(guān)閉連接。

(1)創(chuàng)建連接:客戶(hù)端WEB瀏覽器與WEB服務(wù)器之間通過(guò)Socket三次握手,建立TCP連接。

(2)客戶(hù)端請(qǐng)求:WEB瀏覽器在TCP連接基礎(chǔ)上,使用應(yīng)用層HTTP協(xié)議向WEB服務(wù)器發(fā)送資源訪問(wèn)請(qǐng)求。

(3)服務(wù)器應(yīng)答:WEB服務(wù)器接收到請(qǐng)求后,調(diào)用資源,實(shí)施任務(wù)處理,然后使用HTTP協(xié)議把任務(wù)處理的結(jié)果發(fā)送回WEB瀏覽器,WEB瀏覽器負(fù)責(zé)顯示響應(yīng)結(jié)果。

(4)關(guān)閉連接:當(dāng)WEB服務(wù)器應(yīng)答完成后,WEB服務(wù)器主動(dòng)斷開(kāi)與WEB瀏覽器之間TCP連接。

Servlet常常也可以作為WEB服務(wù)器上的應(yīng)用資源,提供客戶(hù)端訪問(wèn)。

Servlet作為一種可駐留在WEB服務(wù)器上運(yùn)行的Java服務(wù)器程序,下圖說(shuō)明了Servlet在WEB應(yīng)用程序中的位置。

若WEB服務(wù)器要支持Servlet的運(yùn)行,就需要與Servlet容器相結(jié)合,為客戶(hù)端提供Servlet的訪問(wèn)服務(wù)。許多WEB服務(wù)器內(nèi)含了Servlet容器,例如:Tomcat、Jetty、JBoss、WebLogic既是WEB服務(wù)器軟件,也是Servlet容器,即:它們包含了Servlet容器。

二、Servlet容器與WEB服務(wù)器共同處理客戶(hù)請(qǐng)求

當(dāng)客戶(hù)端通過(guò)WEB瀏覽器請(qǐng)求訪問(wèn)WEB服務(wù)器上的Servlet時(shí),Servlet容器作為WEB服務(wù)器中的一個(gè)組件,需要與WEB服務(wù)器一起共同處理一個(gè)客戶(hù)請(qǐng)求,處理過(guò)程如下:

(1)客戶(hù)端WEB瀏覽器與WEB服務(wù)器之間通過(guò)Socket建立TCP連接,并使用HTTP協(xié)議向WEB服務(wù)器發(fā)送Servlet訪問(wèn)請(qǐng)求

(2)WEB服務(wù)器負(fù)責(zé)接收來(lái)自客戶(hù)端瀏覽器的HTTP請(qǐng)求

(3)WEB服務(wù)器將接收到的請(qǐng)求,轉(zhuǎn)發(fā)給Servlet容器

(4)如果客戶(hù)端要訪問(wèn)的Servlet不在Servlet容器中,則檢索Servlet,并加載到容器的地址空間中

(5)Servlet容器調(diào)用Servlet的構(gòu)造器和初始化init()方法,創(chuàng)建Servlet實(shí)例,并進(jìn)行初始化(實(shí)例化與初始化方法,僅在第一次加載Servlet時(shí),調(diào)用一次,即:創(chuàng)建一個(gè)Servlet實(shí)例)

(6)Servlet容器調(diào)用Servlet的service()方法處理HTTP請(qǐng)求,并將處理結(jié)果返回給WEB服務(wù)器,同時(shí),將Servlet實(shí)例暫時(shí)保留在Servlet容器的地址空間中,可以繼續(xù)響應(yīng)客戶(hù)端的HTTP請(qǐng)求

(7)WEB服務(wù)器將Servlet的處理結(jié)果發(fā)送回客戶(hù)端瀏覽器

(8)WEB服務(wù)器完成響應(yīng),主動(dòng)斷開(kāi)與WEB瀏覽器之間TCP連接

文章“【Java基礎(chǔ)知識(shí)】Servlet基礎(chǔ)知識(shí)學(xué)習(xí)(二)”已幫助

>>本文地址:http://liujunjsxg.cn/zhuanye/2020/56766.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷(xiāo)互聯(lián)網(wǎng)營(yíng)銷(xiāo)
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開(kāi)發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開(kāi)發(fā)智能機(jī)器人
 

快速通道fast track

近期開(kāi)班時(shí)間TIME