ServletContext是一個全局的信息存儲空間,服務器開始,其就存在,服務器關閉,其才釋放.request,一個用戶能夠有多個,session,一個用戶一個,而servletContext,全部用戶公用一個.因此,爲了節省空間,提升效率,在ServletCotext中放必須的,重要的全部用戶須要共享的一些信息.web
Servlet上下文:Servlet上下文提供對應用程序中全部Servlet所共有的各類資源和功能的訪問。Servlet上下文API用於設置應用程序中全部Servlet共有的信息。Servlet可能須要共享他們之間的共有信息。運行於同一服務器的Servlet有時會共享資源,如JSP頁面、文件和其餘Servlet。數據庫
servlet能夠經過名稱將對象屬性綁定到上下文。任何綁定到上下文的屬性能夠被同一個web應用的其餘servlet使用。ServletContext接口的下列方法容許訪問這種功能:服務器
setAttributesession
getAttribute分佈式
getAttributeNameside
removeAttributethis
分佈式容器中的上下文屬性 上下文屬性對於建立它們的VM來講是本地的。這防止ServletContext屬性存儲於分佈式容器的共享內存中。當信息須要在運行於分佈式環境中的servlet之間共享時,信息被放入會話中(參見第7章「會話」),存儲於數據庫中.spa
/** * 項目啓動監聽,全局配置信息初始化,存儲 * @author yangfei * * */ @Component public class StartupListener implements InitializingBean, ServletContextAware { ... ... @Override public void setServletContext(ServletContext servletContext) { this.servletContext = servletContext; } /** * InitializingBean 接口方法 * 用於初始化工做 */ @Override public void afterPropertiesSet() throws Exception { loadParams(); loadConfig(); } }