ServletContext是一個接口,他的實現類是由tomcat創建的。
ServletContext:代表的是整個應用。一個應用只有一個ServletContext對象。是單實例。
三個作用:
域對象:
域對象:在一定范圍內(當前應用),使多個Servlet共享數據
例子:
在一個Servlet中設置屬性。也可以通過getServletConfig先得到config,再去getServletContext();
ServletContext app=this.getServletContexet(); app.setAttribute("name","tom");
在另一個Servlet中get屬性
String name=this.getServletContext().getAttribute("name");
ServletContext里面有個map集合
常用方法:
void setAttribute(String name,object value);//向ServletContext對象的map中添加數據 Object getAttribute(String name);//從ServletContext對象的map中取數據 void rmoveAttribute(String name);//根據name去移除數據
以下這兩種方式都可以得到ServletContext
getServletContext類是在ServletConfig類中的
一個應用中有多個servlet,Servlet1中設置屬性,Servlet2中得到屬性
獲取全局配置信息
新建一個Servlet,然后再web.xml中添加全局參數。因為在servlet里面寫是局部的。所以需要在context-param里設置。比如說設置全局的編碼格式
通過下面這句話得到全局信息。
獲取資源路徑(獲取任何文件都可以)
String getRealPath(String path);//根據資源名稱得到資源的絕對路徑.
可以得到當前應用任何 位置的任何資源。
實現請求轉發
瀏覽器只知道一個資源,只訪問Servelt1,這個應用場景很重要,以后會經常用。
新建一個Servlet,
demo6指的是另一個Servlet,另一個Servlet中的doGet方法再去處理相應的邏輯。
總結:
他們的關系圖:
依賴是指通過參數傳進來得到的對象。
通過方法到的對象叫做關聯。