ServletContext物件
每一個 web 應用都有且僅有一個 ServletContext 物件,又稱為 Application 物件,從名稱中可知,該物件是與應用程式相關的,在WEB 容器啟動時,會為每一個 WEB 應用創建一個對應的 ServletContex物件,
該物件有兩大作用:
-
作為域物件來共享資料,此時資料在整個應用程式中共享;
-
該物件中保存了當前應用程式相關資訊,例如可以通過getServerInfo()方法獲取當前服務器資訊,getRealPath(String path) 獲取資源的真是路徑等,
//常用方法 //獲取服務器當前版本資訊 String serverInfo = req.getServletContext().getServerInfo(); System.out.println("獲取服務器當前版本資訊 = " + serverInfo); //獲取專案的真實路徑 String realPath = req.getServletContpext().getRealPath("/"); System.out.println("獲取專案的真實路徑 = " + realPath);
ServletContext物件的獲取
獲取Servlet Context物件的途徑有很多,比如:
-
通過request物件獲取
ServletContext servletContext1 = req.getServletContext(); -
通過Session物件獲取
ServletContext servletContext2 = req.getSession().getServletContext(); -
通過ServletConfig物件獲取,在 Servlet 標準中提供了 ServletConfig 方法
ServletContext servletContext3 = getServletConfig().getServletContext(); -
直接獲取
ServletContext servletContext4 = getServletContext();
ServletContext域物件
ServletContext也可當做域對像象來使用,通過向ServletContext中存取資料,可以使得整個應用程式共享某些資料,當然不建議存放過多資料,因為ServletContext中的資料一旦存盤進去沒有手動移除將會一直保存,
//獲取ServletContext物件
ServletContext servletContext = request.getServletContext();
//設定域物件
servletContext.setAttribute("uname", "admin");
//獲取指定名稱的域物件
String uname = (String) servletContext.getAttribute("uname");
//移除域物件
servletContext.removeAttribute("uname");
Servlet的三大域物件
-
request域物件
三個中作用范圍最小,在一次請求中有效,請求轉發有效,重定向無效,
-
session域物件
在一次會話中有效,請求轉發和重定向都有效,session銷毀后失效,
-
servletContext域物件
三個中作用范圍最大,在整個應用程式中有效,服務器關閉后失效,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/556682.html
標籤:其他
上一篇:基數排序
下一篇:返回列表
