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