ServletConfig ServletContext

 ServletConfig:从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对本servlet
    有效,一个servlet的ServletConfig对象不能被另一个servlet访问。

 ServletContext:对任何servlet,任何人在任何时间都有效,这才是真正全局的对象。那么,ServletConfig参数和ServletContext参数到底应该如何使用,如何取得?

    一般来说,对整个应用的配置,为了不使用"硬编码",应该配置为ServletContext参数,比如字
    符集设定。
<context-param>
    <param-name>character</param-name>
    <param-value>GBK</param-value>
</context-param>
    注意以上格式只是2。0以后的标准格式,旧容器(引擎)采用服务商自己的格式配置。注意它的
    父元素应该是<web-app>也就是说它是对一个应用作用的。
    而如果只有一个特定的servlet要设定的参数,其它servlet不能共享,应该配置为ServletConfig
    参数.
<servlet>
    <servlet-name>tr</servlet-name>
    <servlet-class>tr</servlet-class> 
     <init-param>
  		<param-name>color</param-name>
  		<param-value>red</param-value>
     </init-param>
     <init-param>
  		<param-name>size</param-name>
  		<param-value>16</param-value>
  	</init-param>   
</servlet>
 那么如何访问这两个对象的参数呢?
    访问ServletConfig参数:
        首先要取得ServletConfig对象,然后调用它的getInitParameter();方法。要访问
    ServletConfig对象中的参数,因为 GenericServlet继承实现了getInitParameter()方法,所以:
String color = getInitParameter("color");
String size = getInitParameter("size");
要访问ServletContext对象,只要从现有的ServletConfig对象getServletContext()就可以了,然后
调用它的getInitParameter()方法就可以获取它的参数。
ServletContext  context = getServletContext();
ou.println(context.getInitParameter("character"));
 

posted on 2013-09-02 14:27  TrustNature  阅读(161)  评论(0编辑  收藏  举报