Context(上下文)在Java編程中是一個非常重要的概念,而且出現頻率很高;但是又是一個比較難理解的東西,或許“上下文”這種翻譯也不太恰當,我覺得如果找不到一個合適的中文意思,倒不如不翻譯。
下面列舉幾個涉及Context的例子。
第一、ServletContext是Servlet中最大的一個接口,呈現了web應用的Servlet視圖。它代表當前的web應用,所有的Servlet共享同一個ServletContext對象,因此Servlet對象之間可以通過ServletContext對象來實現通訊。ServletContext對象通常也被稱之為context域對象。這里的Context可以理解成是一種容器,而且容器里的東西是共享的。
第二、pageContext是JSP中的內置對象之一,它是javax.servlet.jsp.PageContext類的實例對象。提供了對JSP頁面所有的對象及命名空間的訪問,這里Context看作是一個實現訪問JSP頁面之間的數據共享的容器。
第三、在著名框架Spring中,Context(上下文)的概念更是得到了廣泛的應用。BeanFactory 接口的子接口ApplicationContext 就表示一個功能更加豐富的工廠,它既涵蓋了BeanFactory 具備的所有功能,也增加了國際化、資源訪問(如URL和文件)、事件傳播等方面的支持。
第四、Context在android中的應用,可以說Context的概念貫穿了整個android體系;在Service、BroadcastReceiver、Activity等都會用到Context的相關方法。位於framework package的android.content.Context中。它是一個抽象類,而且提供了該抽象類的具體實現類ContextIml類。只有通過Context才能識別調用者的實例,比如說Toast的第一個參數就是Context,一般在Activity中我們直接用this代替,代表調用者的 實例為Activity,Context提供了關於應用環境全局信息的接口。這里的Context可以理解為調用所在的環境。
總之,Context可以理解為提供信息或功能的容器或者環境。個人觀點,感覺說得有點淺顯、片面。希望大家補充指正。
本文轉載自 http://www.javawxs.com/535.html
