1. 程式人生 > >ServletContext的概念和作用範圍

ServletContext的概念和作用範圍

gets 交互 left enum 監聽 ges 不同的 ava 獲取

ServletContext是javax.servlet包內定義的接口,Web容器會為每個Web程序構造一個實現該接口的對象實例,通過這個對象,Servlet可以和web容器進行交互,如獲取Web容器版本號,通過Web容器的日誌機制記錄信息等;也可以和同一Web程序的其他Servlet進行交流,如可以通過該對象的屬性來共享數據。

技術分享

獲取ServletContext()對象的方法:

  • 通過ServletConfig對象的getServletContext()方法獲取。

    ServletContext sc=getServletConfig().getServletContext();

  • 直接通過Servlet的getServletContext()方法獲取

    ServletContext sc=getServletContext();(其實底層實現也是通過ServletConfig對象)

web程序只有一個ServletContext對象,程序內所有Servlet獲取的實質都是同一個對象的引用,因此可以使用它進行數據共享。

ServletContext獲取初始化參數的方法,

  String getInitParameter(String name) 獲取名為name的初始參數值,不存在時返回nul

  Enumeration getInitParameterNames() 獲取所有初始參數的名稱,不存在時返回空的Enumeration,不會返回null

使用ServletContextAttributeListener監聽器

監聽器實際是一個實現特定接口的java類。Servlet中定義了幾種監聽器接口,分別對應不同的事件類型,這裏介紹ServletContextAttributeListener。ServletContextAttributeListener接口定義了三個方法,

技術分享

Web容器調用監聽器方法時,通過傳入ServletContextAttributeEvent對象來描述事件的詳細情況。

技術分享

ServletContext的概念和作用範圍