源自 [url]http://www.blogjava.net/qiyadeng/articles/13575.html[/url],非常谢谢该博客作者!
 
     在JSP和Servlet中有时候需要读取web.xml的初始化参数,比如可以用于设置JNDI的数据源的名字。下面简单介绍下在JSP和Servlet中怎么读取web.xml的初始化参数。
一、在Servlet中读取:
在Servlet中一般可以用ServletConfig对象的getInitParameter方法去读取指定的参数的值。举个例子:
新建一个Servlet:ReadInitParameter.java
并在web.xml中增加如下配置:
  <servlet>
    <servlet-name>ReadInitParameter</servlet-name>
    <servlet-class>com.test.ReadInitParameter</servlet-class>
    <init-param>
      <param-name>email</param-name>
      <param-value>[email]qiyadeng@haha.com[/email]</param-value>
    </init-param>
    <init-param>
      <param-name>name</param-name>
      <param-value>qiyadeng</param-value>
    </init-param>
  </servlet>

   <servletclass>com.test.ReadInitParameter</servlet-class>是servlet的完整路径,包括包名。
配置好了web.xml,现在可以在程序中读取初始化的参数了。在init(ServletConfig config)方法中传递了一个ServletConfig参数,可以这样获取初始化参数:
  public void init(ServletConfig config) throws ServletException
  {
    super.init(config);
    String email = config.getInitParameter("email");
    String name = config.getInitParameter("name");
  }

在其他的方法中象doGet(),doPost(),service()方法中可以用getServeltConfig()方法得到一个ServetConfig对象,在利用该对象的getInitParameter()方法取到对应的初始化参数。
  String email   = getServletConfig().getInitParameter("email");
  String name= getServletConfig().getInitParameter("name");
二、在JSP中读取:
在JSP中读取的方式和Servlet中的doGet(),doPost(),Service()的方法一样,都是由ServletConfig对象来读取的。
  <%
    String zhutou = getServletConfig().getInitParameter("zhutou");
    String zhutouname = getServletConfig().getInitParameter("zhutouname");
%>
但是,在web.xml的配置需要注意一下,新增如下:
  <servlet>
    <servlet-name>ReadInitParam</servlet-name>
    <jsp-file>ReadInitParam.jsp</jsp-file>
    <init-param>
      <param-name>zhutou</param-name>
      <param-value>[email]zhutou@hotmail.com[/email]</param-value>
    </init-param>
    <init-param>
      <param-name>zhutouname</param-name>
      <param-value>zhutou</param-value>
    </init-param>
  </servlet>
在servlet-mapping中也要配置好:
  <servlet-mapping>
    <servlet-name>ReadInitParam</servlet-name>
    <url-pattern>ReadInitParam.jsp</url-pattern>
  </servlet-mapping>
上面的ReadInitParam.jsp出现的标签需要jsp文件的全部路径。
补充:
< context-param >        
                     < param-name >context/param </ param-name >        
                     < param-value >avalible during application </ param-value >        
     </ context-param >    
application范围内的参数,存放在servletcontext中,在web.xml中配置如下上。
在servlet里面可以通过getServletContext().getInitParameter("context/param")得到。
nit-param属于一个servlet所有,context-param属于整个应用程序所有 ,不仅是在servlet中可以得到,jsp文件中也可以得到.

在jsp中config就相当于这里的servletContext,<%=config.getServletContext().getInitParameter("...") %>.
action中ServletActionContext.getServletContext().getInitParameter("...").