servlet init-param配置与参数获取

init-param是配置Servlet的初始化参数。比如你的servlet里面有个属性为int total=0,默认是0,你想让他初始时50,则用init-param 给他赋值。

配置参数

<init-param>
<param-name>key</param-name>
<param-value>val</param-value>
</init-param>
......

按照以上格式可以配置多个初始化参数.

在web.xml的<servlet>里面配置Servlet的初始化参数,并且必须放到load-on-startup的前面,配置实例如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>servletinit</display-name>
  <servlet>  
    <servlet-name>MainServlet</servlet-name>  
    <servlet-class>com.wes.controller.MainServlet</servlet-class>  
    <init-param>  
       <param-name>param1</param-name>  
       <param-value>avalible in servlet init()</param-value>  
    </init-param>
    <init-param>  
       <param-name>param2</param-name>  
       <param-value>51gjie</param-value>  
    </init-param>
    <load-on-startup>0</load-on-startup>  
  </servlet>  
  <servlet-mapping>
      <servlet-name>si</servlet-name>
      <url-pattern>/si</url-pattern>
  </servlet-mapping>
</web-app>

获取参数

获取参数用到的方法如下:

getInitParameter(String name)    //获取初始化参数值
getInitParameterNames()    //以String对象的Enumeration的形式返回 servlet的初始化参数的名称
getServletName()    //返回此 servlet 实例的名称

在servlet中获取参数代码如下:

package com.qisentech.controller;  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
public class MainServlet extends HttpServlet {  
    public MainServlet() {  
        super();  
      }  
    public void init() throws ServletException {  
          System.out.println(this.getInitParameter("param1"));  
          System.out.println(getServletContext().getInitParameter("context/param"));  
       }  
}

第一种参数在servlet里面可以通过getServletContext().getInitParameter("context/param")得到
第二种参数只能在servlet的init()方法中通过this.getInitParameter("param1")获取

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。