Java ServletContext ServletContextAware InitializingBean


  ServletContext是一個全局的信息存儲空間,服務器開始,其就存在,服務器關閉,其才釋放.request,一個用戶可以有多個,session,一個用戶一個,而servletContext,所有用戶公用一個.所以,為了節省空間,提高效率,在ServletCotext中放必須的,重要的所有用戶需要共享的一些信息.

  Servlet上下文:Servlet上下文提供對應用程序中所有Servlet所共有的各種資源和功能的訪問。Servlet上下文API用於設置應用程序中所有Servlet共有的信息。Servlet可能需要共享他們之間的共有信息。運行於同一服務器的Servlet有時會共享資源,如JSP頁面、文件和其他Servlet。

servlet可以通過名稱將對象屬性綁定到上下文。任何綁定到上下文的屬性可以被同一個web應用的其他servlet使用。ServletContext接口的下列方法允許訪問這種功能:

setAttribute

getAttribute

getAttributeNames

removeAttribute

分布式容器中的上下文屬性 上下文屬性對於創建它們的VM來說是本地的。這防止ServletContext屬性存儲於分布式容器的共享內存中。當信息需要在運行於分布式環境中的servlet之間共享時,信息被放入會話中(參見第7章“會話”),存儲於數據庫中.

/**
 * 項目啟動監聽,全局配置信息初始化,存儲
 * @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();
    }

}                

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM