1. 程式人生 > >java web 中關於ConText的簡介

java web 中關於ConText的簡介

本文只是個人在學習中對context的一些簡介,不正確的地方還請在評論區留言,幫忙改正。

conText介紹:

1:它是Servlet三大域物件之一。

2:Servlet是隻有一個例項的物件,也就是說一個Web物件只有一個ConText物件。

3:生命週期特別長,在伺服器啟動的時候建立,在伺服器關閉的時候銷燬,(與天地同壽)。

ServletContext的功能:

一:功能:內部有Map,可以用來儲存資料。

常用的方法:

1:ServletContext.setAttribute(“name”,”zhangsan”);//在ServletContext域中儲存了一個名稱為name的屬性,值為“張三”。*(前面一個引數必須是字串,後面一個無所謂)

2:ServletContext.setAttribute(“name”,”lisi”);//重複呼叫此方法,執行的是資料更新的功能,屬性name的值會被“lisi”覆蓋。

3:String name =(String) ServletContext.getArribute(“name”);//獲取ServletContext中屬性名為“name”的屬性值。(改方法返回的是一個String型別的字串,級的強制轉換型別)。

4:Servletcontext.remove(“name”);//在ServletContext中移除name屬性。

5:Enumeration e =ServletContext.getAttributeNames();//獲取ServletContext域所有屬性名稱。

在ServletText中儲存的資料可以供當前應用程式中任何動態資源訪問。

二:訪問當前web應用的資源

1:Sring path =ServletContext.getRealpath(String path);//獲取制定資源的真實路徑。(這個方法能夠識別資源所在的真實徑,為了就是資源在不同機器上使用的時候,能夠得到資源的路徑,比較靠譜。)

2:InputStream is =ServletContext.getResourceAsStream(“/a.txt);//分析:擴括號中的引數中的
“/”,表示的檔案的路徑是在當前路徑下,a代表的是檔名稱,.txt代表的是檔案的格式。這個方法的作用就是把當前web  應用的資源包裝成一個InputStream.

3:Set   set = context.getResourcePaths(“/WEB-INF”);//此方法會把引數中資料夾下所有的檔案路徑都收集到set集合中,列印的結果如下[/WEB-INF/classes /  , /WEB-INF/Libs/,/WEB-INF/web.xml/]等等。

4:String name =Servletcontext.getInitparameter(“name”);//獲取web.xml中配置的初始化引數

三:獲取ServletContext物件的方法

1:ServletContextcontext = ServletConfig.getServletContext();

2:GenericServlet類本身也有getServletContext()方法。如果你的Servlet是它的子類。那麼可以使用this.getServletcontext();