servlet怎麼處理同時到達的多個請求?

用戶68736146


Servlet是Java Web開發技術體系中非常重要的組件,從MVC的體系結構來說,Servlet的作用主要是完成C(控制)端的功能,所以Servlet的作用還是非常重要的,可以說是整個Java Web應用的控制中樞。

對於Java Web程序設計來說,控制中樞通常只能有一個,也就是說只能有一個Servlet來接受所有的請求,此時Servlet自身多線程的優勢就能夠得到較為充分的體現,與傳統的CGI方式來處理用戶的請求過程相比較,多線程的處理方式是一個比較明顯的優勢,不僅會佔有更少的內存,在邏輯實現上也更合理。

Java Web程序在設計時一定要充分考慮Web Container的作用,實際上對於開發人員來說,掌握Web Container的機制對於編寫高效率的Java Web程序是非常重要的,比如Servlet對象的創建本身並不是用戶來決定的,Servlet的生命週期管理完全是由容器來決定的,這不僅能夠把開發人員從複雜的對象管理任務中解放出來,同時也能夠保障Java Web應用程序在運行時的穩定性,這也是為什麼不少大型互聯網平臺更願意採用Java編寫的原因。

Servlet在定義完成之後,通過部署描述文件(可以省略)來完成部署的相關細節定義,此時Servlet的生命週期就交由Web Container來管理,包括對象的創建,以及存活的時間等等。對於開發人員來說,更重要的任務是如何編寫Servlet內部的邏輯代碼。

最後,Servlet來處理用戶請求雖然是比較高效率的方式,但是在當前Web應用程序多版本併發執行的情況下,採用“微接口”的編程方式也正在成為一種發展趨勢,此時Servlet需要根據大數據平臺的要求來服務於特定的用戶群體,從這個角度來看,Servlet在Web程序中的整體位置也發生了“轉移”。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網、大數據、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區留言,或者私信我!


IT人劉俊明


簡單來說就一句話,多線程技術。

在 JEE 協議中 Servlet 是個單例對象,容器內只存在一個。但,單例對象的方法可以被多個線程調用,當存在多個請求同時到達時,容器會為每個請求分配一個線程,然後由分配的線程並行為用戶提供服務


分享到:


相關文章: