Servlet初始化参数(ServletConfig)与Servlet上下文初始化参数(ServletContext)区别

来源:互联网 发布:linux修改eth0 编辑:程序博客网 时间:2024/05/04 17:08

首先,这两个都叫做初始化参数,只不过servlet初始化参数才在DD配置中包含“init”一词。

上下文初始化参数:

  在<web-app>元素中,但不在具体的<servlet>元素中。比如:
    <web-app>
         <context-param>
               <param-name>foo</param-name>
               <param-value>bar</param-value>
         </context-param>
       <!-- other stuff including servlet declarations-->
     </web-app>

Servlet初始化参数:

      在每个特定的Servlet的<servlet>元素中,比如:
   <servlet>
          <servlet-name>BeerParamTests</servlet-name>
          <servlet-class>TestInitParams</servlet-class>
          <init-param>
                <param-name>foo</param-name>
                <param-value>bar</param-value>
         </init-param>
   </servlet>

在Servlet代码中调用初始化参数:

上下文初始化参数调用: getServletContext().getInitParameter("foo");   对Web应用的所有servlet和JSP都可用。
Servlet初始化参数调用:getServletConfig().getInitParameter("foo");   只对配置了<init-param>的相应servlet可用。




注意:每个servlet有一个ServletConfig,每个Web应用有一个ServletContext.要把初始化参数认为是部署时常量,可用在运行时得到这些初始化参数,但不能设置初始化参数,根本没有setInitParameter().如果修改XML来改变一个初始化参数的值,只有当Web应用重新部署时Web应用其他部分才会看到,因为servlet只会初始化一次,在初始化时会为它提供ServletConfig和ServletContext。






0 0
原创粉丝点击