在Servlet和JSP中访问web.xml设置的初始参数

在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>qiyadeng@haha.com</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>zhutou@hotmail.com</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文件的全部路径。

posted @ 2012-05-25 15:08  huangshuo.007  阅读(476)  评论(0编辑  收藏  举报