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

 

ServletJSP访问web.xml置的初始参数

JSPServlet中有候需要web.xml的初始化参数,比如可以用于JNDI的数据源的名字。下面简单下在JSPServlet中怎么读web.xml的初始化参数。

一、在Servlet取:

Servlet中一般可以用ServletConfig象的getInitParameter方法去取指定的参数的个例子:

新建一个ServletReadInitParameter.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文件的全部路径。

另外,在所有的jsp中访问web.xml时加入如下代码:

<servlet>

  <servlet-name>jsp</servlet-name>

  <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>

  <init-param>

    <param-name>propertyFile</param-name>

    <param-value>WEB-INF/classes/Proxool.properties</param-value>

  </init-param>

  <init-param>

    <param-name>xpoweredBy</param-name>

    <param-value>false</param-value>

  </init-param>

  <load-on-startup>3</load-on-startup>

 </servlet>

另外jsp2.0中我们还可以用${initParam.[paraName]}${initParam["companyName"]}获取web.xml中的参数值,但是需要在web.xml中作如下配置:

在文件中加入标记:

<context-param>

    <param-name>companyName</param-name>

    <param-value>软件公司</param-value>

 </context-param>

<context-param>

    <param-name>address</param-name>

    <param-value>西安</param-value>

 </context-param>

保存文件,重起 服务器 后,我们就可以在任何jsp页面获得此参数的值了,例如:

${initParam.companyName}${initParam[companyName]}

${initParam.address}${initParam[address]}

三、在strutsaction中获得参数值的方法为

String email = getServlet().getInitParameter("email");

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值