在servlet中获取web.xml中设置的初始化参数信息的方法

HttpServlet的父类GenericServlet类中实现了下列方法,用于获取web.xml文件中的初始化参数信息、Servlet名称、ServletContext对象引用。

1.getServletConfig()  获取由Servlet容器初始化servlet时(即调用Servlet.init(ServletConfig config))

  传递进来的那个ServletConfig对象的引用。

2.getInitParameterNames()  获取web.xml文件中某个servlet对应设置的初始化参数名称。

3.getInitParameter(String key)  获取web.xml文件中某个servlet对应设置的指定key的参数值。4.getServletName()  获取当前运行的servlet名称。

5.getServletContext()  获取当前运行的servlet所在的servlet容器对应的ServletContext对象引用。

 

例子:   

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class ConfigTestServlet extends HttpServlet {

 /**
  *
  */
 private static final long serialVersionUID = 1L;

 @SuppressWarnings("unchecked")
 protected void service(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  
  response.setContentType("text/html;charset=UTF-8");
  PrintWriter outer = response.getWriter();
  outer.println("");
  outer.println("Servlet's name is " + getServletName() + "
");
  Enumeration e = getServletConfig().getInitParameterNames();    //getServletConfig()可以省略,GenericServlet中已提供getInitParameterNames()方法
  outer.println("These are initial parameters :" + "
");
  while(e.hasMoreElements()) {
   String key = (String)e.nextElement();
   String value = getInitParameter(key);
   outer.println("  " + key + "=" + value + "
");
  }
  ServletContext context = getServletContext();
  String path = context.getRealPath("/");
  outer.println("this web application's directory is:" + path + "
");
  outer.println("");
 }
}

 相应web.xml中添加下面的设置。

  


  ConfigTestServlet
  ConfigTestServlet
  
   firstname
   zhang
  
  
   lastname
   san
  
 
 
  ConfigTestServlet
  demo/ConfigTestServlet.html
 

 转自:http://cecilia517.blog.sohu.com/134449637.html

你可能感兴趣的:(J2EE)