rss· 投稿· 设为首页· 加入收藏· 繁體版

在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("<html>");
   outer.println("Servlet's name is " + getServletName() + "<br>");
   Enumeration e = getServletConfig().getInitParameterNames();    //getServletConfig()可以省略,GenericServlet中已提供getInitParameterNames()方法
   outer.println("These are initial parameters :" + "<br>");
   while(e.hasMoreElements()) {
    String key = (String)e.nextElement();
    String value = getInitParameter(key);
    outer.println("&nbsp;&nbsp;" + key + "=" + value + "<br>");    ServletContext context = getServletContext();
   String path = context.getRealPath("/");
   outer.println("this web application's directory is:" + path + "<br>");
   outer.println("</html>"); }

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

   <servlet>
   <servlet-name>ConfigTestServlet</servlet-name>
   <servlet-class>ConfigTestServlet</servlet-class>
   <init-param>
    <param-name>firstname</param-name>
    <param-value>zhang</param-value>
   </init-param>
   <init-param>
    <param-name>lastname</param-name>
    <param-value>san</param-value>
   </init-param>
</servlet>
<servlet-mapping>
   <servlet-name>ConfigTestServlet</servlet-name>
   <url-pattern>demo/ConfigTestServlet.html</url-pattern>
</servlet-mapping>

分享到搜狐微博
顶一下
(0)
踩一下
(0)