ServletContext对象
ServletContext对象
1、简介
ServletContext对象 ,叫做Servlet的上下文对象,表示一个当前的web应用环境,一个web应用中只有一个ServletContext对象。
2、对象的创建和获取
(1)创建时机:加载web应用时创建ServletContext对象
(2)获取对象:从ServletConfig对象的getServletContext方法得到
3、创建ServletContext对象
(1)
public void init( ServletConfig config,ServletContext context ){ 、
得到ServletConfig对象
得到ServletContext对象;
}
(2)创建ServletContext对象
ServletContext context = new ServletContext()
(3)创建ServletConfig对象
ServetConfig config = new ServletConfig();
(4)
class ServletConfig{
ServletContext context;
public ServletContext getServletContxt(){
return contxt;
}
}
(5)
public void init( ServletConfig config ){
得到ServletConfig对象
从ServletConfig对象中得到ServletContext对象
SerlvetContext context = config.getServletContext();
}
4、 ServletContext对象的核心API
(1)java.lang.String getContextPath() :得到当前web应用的路径
(2)java.lang.String getInitParameter(java.lang.String name) :得到web应用的初始化参数
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)java.lang.String getRealPath(java.lang.String path) : 得到web应用的资源文件
(6)java.io.InputStream getResourceAsStream(java.lang.String path)
5、得到web应用路径
java.lang.String getContextPath() 用在请求重定向的资源名称中
6、得到web应用的初始化参数(全局)
(1)
java.lang.String getInitParameter(java.lang.String name) : 得到web应用的初始化参数
java.util.Enumeration getInitParameterNames()
(2)web应用参数可以让当前web应用的所有servlet获取
7、域对象有关的方法
(1)域对象:作用是用于保存数据,获取数据。可以在不同的动态资源之间共享数据。
(2)ServletContext就是一个域对象
(3)ServletContext域对象:作用范围在整个web应用中有效
(4)所有域对象:
HttpServletRequet 域对象
ServletContext域对象
HttpSession 域对象
PageContext域对象
(5)方法
保存数据:void setAttribute(java.lang.String name, java.lang.Object object)
获取数据: java.lang.Object getAttribute(java.lang.String name)
删除数据: void removeAttribute(java.lang.String name)
(6)示例