Servlet容器

      Servlet是對支持Java的服務器的通常擴充。它最多見的用途是擴展Web服務器,提供很是安全的、可移植的、易於使用的CGI替代品。它是一種動態加載的模塊,爲來自Web服務器的請求提供服務。它徹底運行在Java虛擬機上。因爲它在服務器端運行,所以它不依賴於瀏覽器的兼容性。瀏覽器

Servlet容器:安全

      負責處理客戶請求、把請求傳送給Servlet並把結果返回給客戶。不一樣程序的容器實際實現可能有所變化,但容器與Servlet之間的接口是由Servlet API定義好的,這個接口定義了Servlet容器在Servlet上要調用的方法及傳遞給Servlet的對象類。服務器

Servlet生命週期:ide

一、Servlet容器建立Servlet的一個實例線程

二、容器調用該實例的init()方法對象

三、若是容器對該Servlet有請求,則調用此實例的service()方法接口

四、容器在銷燬本實例前調用它的destroy()方法生命週期

五、銷燬並標記該實例以供做爲垃圾收集內存

一旦請求了一個Servlet,就沒有辦法阻止容器執行一個完整的生命週期。
容器在Servlet首次被調用時建立它的一個實例,並保持該實例在內存中,讓它對全部的請求進行處理。容器能夠決定在任什麼時候候把這個實例從內存中移走。在典型的模型中,容器爲每一個Servlet建立一個單獨的實例,容器並不會每接到一個請求就建立一個新線程,而是使用一個線程池來動態的將線程分配給到來的請求,可是這從Servlet的觀點來看,效果和爲每一個請求建立一個新線程的效果相同。虛擬機

相關文章
相關標籤/搜索