所謂上下文,它是用來存儲系統(tǒng)的一些初始化信息, 即ServletContext,是一個(gè)全局的儲存信息的空間,服務(wù)器啟動(dòng),其就存在,服務(wù)器關(guān)閉,其才釋放。所有用戶共用一個(gè)ServletContext。所以,為了節(jié)省空間,提高效率,ServletContext中,要放必須的、重要的、所有用戶需要共享的線程又是安全的一些信息。如做一個(gè)購物類的網(wǎng)站,要從數(shù)據(jù)庫中提取物品信息,如果用session保存這些物品信息,每個(gè)用戶都訪問一便數(shù)據(jù)庫,效率就太低了;所以要用Servlet上下文來保存,在服務(wù)器開始時(shí),就訪問數(shù)據(jù)庫,將物品信息存入Servlet上下文中,這樣,每個(gè)用戶只用從上下文中讀入物品信息就行了。
獲取ServletContext的方法:
HttpSession session = request.getSession();
session.getServletContext();
上下文可以理解為工程的環(huán)境,那么這個(gè)環(huán)境信包含了一些配置信息 ,就比如:spring上下文,代表的是spring配置的環(huán)境信息,我們spring配置文件是applicationcontext.xml,application.xml就是spring的上下文,也就是讀取到這個(gè)上下文,就可以獲得spring的配置數(shù)據(jù),總的來說上下文對應(yīng)配置文件,因?yàn)榕渲梦募桥渲铆h(huán)境的,獲得上下文,就是獲得了環(huán)境的信息,也就是獲得了你配置文件的信息,所以經(jīng)常獲取spring的上下文,就是直接讀取spring的配置文件,因?yàn)檫@個(gè)配置文件配置的環(huán)境信息呀
因?yàn)閍pplicationcontext.xml里面有管理bean,所以一些類讀取了這個(gè)配置文件,就可以獲得這個(gè)bean,從而進(jìn)行使用;
上下文是運(yùn)行環(huán)境,運(yùn)行環(huán)境包括你設(shè)置的各種變量或參數(shù)的值,或者創(chuàng)建的類
Spring上下文就是系統(tǒng)啟動(dòng)的時(shí)候Spring會(huì)讀取它的配置文件裝載到上下文到內(nèi)存,依賴注入...
Spring的上下文,我簡單理解就是spring的當(dāng)前運(yùn)行的環(huán)境,也可以理解是spring可以利用的資源