Servlet容器,servlet容器

容器如何驅動Servlet在了解容器如何驅動Servlet之前,我們首先看一下容器的官方定義:簡單的說,容器提供了Servlet的運行環境,提供了ServletAPI的實現 。為了描述Web容器如何驅動Servlet,我們看一下具體的處理過程:首先,請求到達服務器:接著容器創建request和response對象:接著調用service方法處理用戶的請求(需要request和response作為參數):最后向客戶端返回結果:這個過程主要就是容器驅動Servlet的過程,當然容器管理著Servlet的生命周期,包括創建、運行、回收以及運行過程中所產生的各種事件 。
Servlet容器為Servlet提供運行環境,里面的運行環境是什么?

Servlet容器,servlet容器


Servlet是Java Web的核心概念,理解Servlet對理解Java Web編程是至關重要的 。要清楚Servlet的運行機制,首先要了解Servlet容器與Servlet之間的關系 。當然,要讓大家清楚的認識Servlet,有必要給大家呈現一個完整的Servlet圖譜 。什么是Servlet要清楚Servlet的功能,我們首先要看一下Servlet的官方定義是怎么描述Servlet的 。
簡單的概括一下Servlet:一個運行在服務器端的Java組件 。功能與CGI類似,但是運行環境卻大不相同 。Servlet能處理用戶的請求并動態生成回應 。Web Container是一個管理Servlet生命周期的特殊Java虛擬機,能以線程的方式處理請求 。這幾點關于Servlet的定義中,需要著重描述的是第二點和第四點 。
第二點提到了CGI,CGI是動態Web的標準處理模式,是里程碑式的技術結構(緬懷一下),為了簡單的描述一下CGI,我們看一下CGI的處理結構 。通過這個結構我們清楚了CGI的功能,其實Servlet在功能上與CGI是類似的 。Servlet定義的第四點是Servlet能以線程的方式處理請求,而這正是Servlet壓倒CGI的重要原因,我們看一下Servlet處理請求的方式:圖中清晰的描述了線程的處理方式,大家都知道Java在Web處理上有較大的性能優勢,一個重要的原因是Servlet是以線程的方式處理請求的 。
Servlet在整個Java Web解決方案中充當了核心的角色,也就是控制器角色 ??刂破魇撬姓埱蟮娜肟冢拖袢祟惖拇竽X一樣負責協調全身的各種功能,讓這些功能能成為一個有機的整體 。我們看一下Java Web中經常出現的MVC結構圖:圖中除了描述Servlet外還描述了另外兩個核心組件:JSP和JavaBean 。
這個結構是后續很多內容的起點,比如為了提高Web容器處理JavaBean的能力,出現了官方的EJB技術,也出現了Spring的非官方技術,但是Spring卻被廣大程序員熱捧,關于SpringMVC的內容將在以后的文章中跟大家陸續分享 。容器如何驅動Servlet在了解容器如何驅動Servlet之前,我們首先看一下容器的官方定義:簡單的說,容器提供了Servlet的運行環境,提供了Servlet API的實現 。
【Servlet容器,servlet容器】為了描述Web容器如何驅動Servlet,我們看一下具體的處理過程:首先,請求到達服務器:接著容器創建request和response對象:接著調用service方法處理用戶的請求(需要request和response作為參數):最后向客戶端返回結果:這個過程主要就是容器驅動Servlet的過程,當然容器還管理著Servlet的生命周期,包括創建、運行、回收以及運行過程中所產生的各種事件 。

    推薦閱讀