每一個(gè) web 應(yīng)用都有且僅有一個(gè) ServletContext 對(duì)象巫员,又稱 Application 對(duì) 象庶香,從名稱中可知,該對(duì)象是與應(yīng)用程序相關(guān)的简识。在 WEB 容器啟動(dòng)的時(shí)候赶掖,會(huì) 為每一個(gè) WEB 應(yīng)用程序創(chuàng) 建一個(gè)對(duì)應(yīng)的 ServletContext 對(duì)象感猛。
1、作用
1)奢赂、作為域?qū)ο笥脕?lái)共享數(shù)據(jù)陪白,此時(shí)數(shù)據(jù)在整個(gè)應(yīng)用 程序中共享;
2)呈驶、該對(duì)象中保存了當(dāng)前應(yīng)用程序相關(guān)信息拷泽。例如可以通過(guò) getServerInfo();方法獲取當(dāng)前 服 務(wù) 器 信 息 , getResourceAsStream(String path); 方法以流的形式獲取某個(gè)資源袖瞻,getRealPath(String path);獲取資源的真實(shí)路 徑等司致。
2、ServletContext 對(duì)象的獲取
// 獲取ServletContext對(duì)象
// 通過(guò)request對(duì)象獲取
ServletContext servletContext = request.getServletContext();
// 通過(guò)session獲取
ServletContext servletContext2 = request.getSession().getServletContext();
// 通過(guò)servletConfig對(duì)象
ServletContext servletContext3 = getServletConfig().getServletContext();
// 直接獲取
ServletContext servletContext4 = getServletContext();
3聋迎、常用方法
// 獲取服務(wù)器版本
String serverInfo = request.getServletContext().getServerInfo();
System.out.println("獲取服務(wù)器版本:" + serverInfo);
// 獲取項(xiàng)目在服務(wù)器中的真實(shí)路徑
String realPath = request.getServletContext().getRealPath("/");
System.out.println("獲取項(xiàng)目在服務(wù)器中的真實(shí)路徑:" + realPath);