Servlet之ServletContext对象
ServletContext 对象,又称 Application 对象,从名称中可知,该对象是与应用程序相关的。
在 WEB 容器启动的时候,会为每一个 WEB 应用程序创建一个对应的 ServletContext 对象。
该对象有两大作用:
第一、作为域对象用来共享数据,此时数据在整个应用程序中共享;
第二、该对象中保存了当前应用程序相关信息。
例如可以通过 getServerInfo() 方法获取当前服务器信息 ,getRealPath(String path) 获取资源的真实路径等。
/**
* ServletContext对象的获取
*/
// 通过request对象
ServletContext servletContext = req.getServletContext();
// 通过session对象获取
ServletContext servletContext1 = req.getSession().getServletContext();
// 通过servletConfig对象
ServletContext servletContext2 = getServletConfig().getServletContext();
// 直接获取
ServletContext servletContext3 = getServletContext();
/**
* 常用方法
*/
// 获取项目的真实路径
String realPath = servletContext.getRealPath("/");
System.out.println("获取项目的真实路径:" + realPath);
// 获取服务器的版本信息
String serverInfo = req.getServletContext().getServerInfo();
System.out.println("获取服务器的版本信息:" + serverInfo);
/**
* servletContext作用域
* 在整个应用程序中有效,服务器关闭失效
* setAttribute();
* getAttribute();
* removeAttribute();
*/