servlet可以接收請求和響應數據的原理是什么?
原理解釋
結構
讓讓我們理解客戶機-服務器體系結構。
用戶向Web服務器發送HTTP請求;服務器有一個包含Servlet的Web容器,它從數據庫收集數據并創建響應;Servlet創建的響應通過HTTP響應發送到客戶端瀏覽器。但問題是,如何將Servlet響應轉換成HTTP響應格式呢?因為Web服務器只工作在HTTP協議上,所以Web容器將處理從Servlet響應到HTTP響應的轉換。
Web容器
Web容器,也稱為Servlet容器或Servlet引擎,為JavaEE(j2ee)應用程序提供運行時環境,客戶端/用戶只能向服務器請求靜態網頁。如果用戶想閱讀一個網頁作為輸入,在Java中使用Web容器。因此,它實現了ServletAPI和處理HTTP請求所需的服務。
Web容器通過調用Servlet類的service()方法初始化與請求的URL匹配的Servlet;在Web容器協議內的單獨線程中處理為給定HTTP請求調用的service()方法。
用戶向Web服務器發送HTTP請求;Web服務器將請求轉發給Web容器;Web容器將請求轉發給Servlet以請求對象的形式;Servlet構建一個響應對象,并將其發送回Web容器;Web容器將響應對象轉換為等效的HTTP響應,并將其發送到Web服務器;Web服務器通過HTTP響應將響應發送回客戶端。
生命周期
Servlet生命周期包含的方法涵蓋了從創建到銷毀的整個過程。以下是生命周期步驟:
Init()只被調用一次。只有在創建Servlet時才調用它,因此它用于一次性初始化。通常情況下,Servlet是在用戶第一次調用Servlet對應的URL時創建的,但是你也可以指定服務器第一次啟動時應該加載哪個Servlet;service()方法是執行實際任務的主要方法。Web容器(Servlet容器)調用service()方法來處理來自客戶端的請求。每當服務器收到對Servlet的請求時,Web容器都會生成一個新線程并調用service()。這個方法檢查HTTP請求的類型(GET、POST、PUT、DELETE等。)并調用doGet、doPost、doPut、doDelete等方法。酌情;在Servlet的生命周期中,destroy()方法只會被調用一次。這個方法為Servlet提供了一個暫時關閉數據庫連接的機會停止后臺線程并執行其他類似的清理任務。執行destroy()方法后,將Servlet對象標記為可用于垃圾收集;最后,Servlet對象被JVM的垃圾收集器。
如何協同工作?
首先,到達服務器的并發HTTP請求被轉發到Web容器。Web容器啟動Servlet在調用service()方法之前;然后,Web容器通過生成多個線程來處理多個請求,每個線程執行Servlet的單個實例的servic
web前端的Javascript需要學什么,按什么流程學習呢?
內容其實挺多的。
但也有28個原則,掌握20%的常用部分,解決80%的日常需求,積累。
學習一門語言,基本上需要看語言的基本數據類型,以及每種數據類型的常用操作;
接下來學習控制流,ifelse循環等等。
接下來學習dom操作。通過DOM操作,你自然會接觸到其他知識,比如事件等等。
接下來學習BOM,嘗試用js控制瀏覽器行為。
接下來,相信你操作DOM和BOM之后,對js會有一定深度的了解。在這個時候,讓讓我們看看對象基礎,OOP的內容。了解范圍,關閉部分內容。
接下來,學習HTML5。
同時,在學習的同時,我們需要看看es6的相關知識,比較一下ES5和ES6的區別。
最后,你能做到BB嗎?
推薦一本書:犀牛書,叫js圣經,值得一讀再讀。