1 Web应用共享数据区ServletContext接口
ServletContext接口表示一个web应用的上下文。可以想象成一个web一个能用的共享数据区域,该区域保存整个web共享数据。
1.1 Servlet容器何时创建ServeltContext接口实现类
当一个web应用启动的时候,就会创建该ServletContext接口的实现类。我们可以在根据需求,读写ServletContext这个web共享区的数据,那么如何获得ServletContext这个实例呢?下面提供了两种方法
1.2 如何获得ServletContext接口实例
方法1:
可以通过ServletConfig接口的getServletContext()方法获得
方法2:
通过GenericServlet抽象类的getServletContext()方法获得,不过这个方法其实也是调用了ServletConfig的getServletContext()方法
在GenericServlet.java中
- publicServletConfiggetServletConfig(){
- returnconfig;
- }
- publicServletContextgetServletContext(){
- returngetServletConfig().getServletContext();
- }
ServletConfig接口:
- publicinterfaceServletConfig
- {
- publicabstractStringgetlnitParameter(Stringname);//取得servlet起始参数值(string)
- publicabstractEnumerationgetlnitParameterNames();//取得servlet起始参数名称(Enumeration)
- publicabstractServletContextgetServletContext();//取得servletcontext对象(servletcontext)
- publicabstractstring getservletname();//取得servle的名称(string)
- }
public interface ServletConfig
ServletConfig :从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对servlet有效,一个servlet的ServletConfig对象不能被另一方面个servlet访问。
ServletContext:真正全局对象。
在web.xml中
下面就相当于一个ServletConfig对象。
- <init-param>
- <param-name>Copration</param-name>
- <param-value>DongDong</param-value>
- </init-param>