ServletContext
ServletContext接口是servlet中最大的一个接口,
呈现了web应用是servlet视图。
ServletContext实例是通过getServletContext()方法获得的,
Httpservlet继承了Servlet的关系,
GenericServlet类和HttpServlet类同时具有该方法。
作用:呈现了web应用的servlet视图
性质:最大 的一个接口
所属方:servlet
了解:
每个应用都会有一个ServletContext对象与之关联,当容器分布在多个虚拟机上时, web应用在所分布的每个虚拟机上都拥有一个ServletContext实例,
在缺省情况下,servletContext不是分布式的,并且只存在一个虚拟机上。
通过ServletContext可以访问应用范围的初始化参数和属性。
1. 初始化参数
ServletContext对象在web应用程序装载时初始化的。
正像Servlet具有初始化参数一样,
ServletContext也具有初始化参数。
Servlet上下文初始化参数指定应用程序范围的信息。
如何初始化
在web.xml中配置初始化参数
<context-param>
<param-name>use </param-name>
<param-value>sa<param-value>
</context-param>
<context-param>元素是针对整个应用的,所以并不嵌套在某个<servlet>元素中,该元素是<web-app>元素的子元素。
如何从servlet中访问初始化参数
ServletContextapplication=this.getServletContest();
PrintWriterout=response.getWriter();
Out.println(“senduse you”);
ServletContext content=this.getServletContext();
driver=content.getInitParameter("driver");
url=content.getInitParameter("url");2.属性---设置—获取
可以通过编程的方式绑定,也可以作为web应用的全局变量
被所有Servlet和jsp访问
如何设置Context的属性
ServletContextapplication=this.getServletContext();
Application.setAttribute(“person1”,new Person(“TOM”));
Application.setAtteribute(“person2”,newPerson(”RED”));
如何获得Context属性
ServletContextapplication=this.getServletContext();
Enumberationpersons=application.getAttributeName(while(persons.hasMoreElements()))
{
Stringname=(String)persons.nextElements();
Personsp=(Persons)persons.getAttribute(name);
Application.removeAttribute(name);
}