Java ServletContext ServletContextAware InitializingBean

  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();
    }

}                
相關文章
相關標籤/搜索