介紹Servlet容器
Servlet是對支持Java的服務(wù)器的一般擴(kuò)充。它最常見的用途是擴(kuò)展Web服務(wù)器,提供非常安全的、可移植的、易于使用的CGI替代品。它是一種動態(tài)加載的模塊,為來自Web服務(wù)器的請求提供服務(wù)。它完全運(yùn)行在Java虛擬機(jī)上。由于它在服務(wù)器端運(yùn)行,因此它不依賴于瀏覽器的兼容性。
Servlet容器:
負(fù)責(zé)處理客戶請求、把請求傳送給Servlet并把結(jié)果返回給客戶。不同程序的容器實(shí)際實(shí)現(xiàn)可能有所變化,但容器與Servlet之間的接口是由Servlet API定義好的,這個接口定義了Servlet容器在Servlet上要調(diào)用的方法及傳遞給Servlet的對象類。
Servlet生命周期:
1、Servlet容器創(chuàng)建Servlet的一個實(shí)例
2、容器調(diào)用該實(shí)例的init()方法
3、如果容器對該Servlet有請求,則調(diào)用此實(shí)例的service()方法
4、容器在銷毀本實(shí)例前調(diào)用它的destroy()方法
5、銷毀并標(biāo)記該實(shí)例以供作為垃圾收集
一旦請求了一個Servlet,就沒有辦法阻止容器執(zhí)行一個完整的生命周期。
容器在Servlet***被調(diào)用時創(chuàng)建它的一個實(shí)例,并保持該實(shí)例在內(nèi)存中,讓它對所有的請求進(jìn)行處理。容器可以決定在任何時候把這個實(shí)例從內(nèi)存中移走。在典型的模型中,容器為每個Servlet創(chuàng)建一個單獨(dú)的實(shí)例,容器并不會每接到一個請求就創(chuàng)建一個新線程,而是使用一個線程池來動態(tài)的將線程分配給到來的請求,但是這從Servlet的觀點(diǎn)來看,效果和為每個請求創(chuàng)建一個新線程的效果相同。
【編輯推薦】




















