ServletContext对象
ServletContext对象 ,叫做Servlet的上下文对象。表示一个当前的web应用环境。一个web应用中只有一个ServletContext对象。
- 创建时机:加载web应用时创建ServletContext对象。
- 得到对象: 从ServletConfig对象的getServletContext方法得到。
ServletContext对象的核心API(作用)
1. 得到当前web应用的路径
java.lang.String getContextPath()
2. 得到web应用的初始化参数
java.lang.String getInitParameter(java.lang.String name)
java.util.Enumeration getInitParameterNames()
3. 域对象有关的方法
void setAttribute(java.lang.String name, java.lang.Object object)
java.lang.Object getAttribute(java.lang.String name)
void removeAttribute(java.lang.String name)
4. 转发(类似于重定向)
RequestDispatcher getRequestDispatcher(java.lang.String path)
** 5. 得到web应用的资源文件**
java.lang.String getRealPath(java.lang.String path)
java.io.InputStream getResourceAsStream(java.lang.String path)
域对象的有关方法
域对象:作用是用于保存数据,获取数据。可以在不同的动态资源之间共享数据。包括以下几个:
- HttpServletRequet 域对象
- ServletContext域对象
- HttpSession 域对象
- PageContext域对象
ServletContext域对象
作用范围:整个web应用中
- 保存数据:void setAttribute(java.lang.String name, java.lang.Object object)
- 获取数据: java.lang.Object getAttribute(java.lang.String name)
- 删除数据: void removeAttribute(java.lang.String name)
案例
保存到域对象中:
response.setContentType("text/html;charset=utf-8");
//得到域对象
ServletContext context = this.getServletContext();
//把数据保存到域对象中
context.setAttribute("name","张三");
System.out.println("保存成功");
从域对象中获取
response.setContentType("text/html;charset=utf-8");
//得到域对象
ServletContext context = this.getServletContext();
//从俞对象中获取
String name = (String)context.getAttribute("name");
System.out.println(name);
运行效果: