Servlet生命週期

Servlet的生命週期是由它部署的容器控制的。當一個請求映射到一個Servlet,Servlet容器執行下面的步驟。
1 若是不存在這個Servlet的實例,容器執行:
a. 加載Servlet類
b. 建立Servlet類實例
c. 經過調用init方法初始化Servlet(initialization is covered in Creating and Initializing a Servlet)
2 容器調用Servlet的service方法,傳入requset和response參數。Service方法會在 Writing Service Methods章節探討。
若是它須要移除這個Servlet,則容器經過調用Servlet的destroy方法來完成。更多信息須要查看Finalizing a Servlet章節。java

管理Servlet生命週期事件

你能夠經過定義生命週期事件發生方法的監聽器來監聽Servlet的生命週期並作出反應。使用這些監聽對象,你必須定義而且具體描述這些監聽類。web

定義監聽類

你定義的監聽類是必須是監聽接口的一個實現。下面的列表定義了能夠監聽的事件和對應的必須實現的規範的接口。當監聽方法被調用,它將傳入一個適合該事件的容器的信息的事件。例如,一個HttpSessionListener接口的方法會被傳入一個HttpSessionEvent,HttpSessionEvent包含了一個HttpSession。
Servlet 生命週期事件列表code

Web context

event:Initialization and destruction
Listener Interface and Event Class:javax.servlet.ServletContextListener and ServletContextEvent對象

Web context

event:Initialization and destruction
Listener Interface and Event Class:javax.servlet.ServletContextListener and ServletContextEvent接口

Web context

event:Initialization and destruction
Listener Interface and Event Class:javax.servlet.ServletContextListener and ServletContextEvent生命週期

Web context

event:Initialization and destruction
Listener Interface and Event Class:javax.servlet.ServletContextListener and ServletContextEvent事件

Web context

event:Initialization and destruction
Listener Interface and Event Class:javax.servlet.ServletContextListener and ServletContextEvent部署

Web context

event:Initialization and destruction
Listener Interface and Event Class:javax.servlet.ServletContextListener and ServletContextEventservlet

Web context

event:Initialization and destruction
Listener Interface and Event Class:javax.servlet.ServletContextListener and ServletContextEventit

Web context

event:Initialization and destruction
Listener Interface and Event Class:javax.servlet.ServletContextListener and ServletContextEvent

Web context

event:Initialization and destruction
Listener Interface and Event Class:javax.servlet.ServletContextListener and ServletContextEvent

Web context

event:Initialization and destruction
Listener Interface and Event Class:javax.servlet.ServletContextListener and ServletContextEvent

使用@WebListener註解能夠獲取特定web程序的各類事件。使用@WebListener註解的類必須實現下列的接口之一。

javax.servlet.ServletContextListener
javax.servlet.ServletContextAttributeListener
javax.servlet.ServletRequestListener
javax.servlet.ServletRequestAttributeListener
javax.servlet..http.HttpSessionListener
javax.servlet..http.HttpSessionAttributeListener

處理Servlet異常

Servlet執行時,可能發生任意數量的異常。當一個異常發生時,web容器自動生成包含下述信息的默認頁面:

A Servlet Exception Has Occurred

但你也能夠定義特定異常的特定頁面讓容器返回。

相關文章
相關標籤/搜索