ServletContext和ServletConfig

系统 1416 0

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中

Java代码 收藏代码
  1. public ServletConfiggetServletConfig(){
  2. return config;
  3. }
  4. public ServletContextgetServletContext(){
  5. return getServletConfig().getServletContext();
  6. }

ServletConfig接口:

Java代码 收藏代码
  1. public interface ServletConfig
  2. {
  3. public abstract StringgetlnitParameter(Stringname); //取得servlet起始参数值(string)
  4. public abstract EnumerationgetlnitParameterNames(); //取得servlet起始参数名称(Enumeration)
  5. public abstract ServletContextgetServletContext(); //取得servletcontext对象(servletcontext)
  6. public abstract string getservletname(); //取得servle的名称(string)
  7. }

public interface ServletConfig

ServletConfig :从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对servlet有效,一个servlet的ServletConfig对象不能被另一方面个servlet访问。
ServletContext:真正全局对象。
在web.xml中
下面就相当于一个ServletConfig对象。

Xml代码 收藏代码
  1. < init-param >
  2. < param-name > Copration </ param-name >
  3. < param-value > DongDong </ param-value >
  4. </ init-param >

通过 ServletConfig 对象的
public String getInitParameter(String name); 或
public Enumeration getInitParameterNames();
方法来取得你已经配置好的参数,也就是说,你对 servlet的配置都已经记录在ServletConfig对象中了
结论:你对Servlet的配置,在Servlet的初始化时都由容器来收集并且记录到ServletConfig的实现类中。

转自: http://lewis-q.iteye.com/blog/161814

ServletContext和ServletConfig


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论