获取web.xml的参数

来源:互联网 发布:关于人工智能英语文章 编辑:程序博客网 时间:2024/06/03 16:43

1、获取配置在Serlet中的参数

(1)配置文件:

  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>GetInitParamServlet</servlet-name>
    <servlet-class>xie.servlet.GetInitParamServlet</servlet-class>
    <init-param>
    <param-name>admin</param-name>
    <param-value>wenzheng</param-value>
    </init-param>
    <init-param>
    <param-name>admin1</param-name>
    <param-value>wenzheng1</param-value>
    </init-param>
  </servlet>

(2) Servlet获取配置文件中的参数

String admin = getInitParameter("admin");
System.out.println(admin);
String admin1 = getServletConfig().getInitParameter("admin");
System.out.println(admin1);
Enumeration<String> adminEnum = getInitParameterNames();
while(adminEnum.hasMoreElements()){
System.out.println("Enumeration:" + adminEnum.nextElement());
}

总结:获取<servlet/>中的配置文件有三种方法:

(1)、getServletConfig().getInitParameter(param):获取Servlet标签中<init-param/>中配置的<param-name>为param的value值;

(2)、getInitParameter(param):功能同上;

(3)、getInitParameterNames():获取Servlet标签中<init-param/>中所有的参数。


2、获取上下文参数(Context-param)

由于init-param标签是写在Servlet标签中的,这个只能由Servlet来读取。如果有个参数能使该工程所有的Servlet都能够读取,则就需要用到上下文参数

(1)、web.xml

 <context-param>
  <param-name>admin1</param-name>
  <param-value>wenzheng1</param-value>
  </context-param>
  <context-param>
  <param-name>admin2</param-name>
  <param-value>wenzheng2</param-value>
  </context-param>

(2)、Servlet

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletContext servletContext = getServletContext();
String admin1 = servletContext.getInitParameter("admin1");
System.out.println(admin1);

Enumeration<String> admins = servletContext.getInitParameterNames();
while(admins.hasMoreElements()){
System.out.println(servletContext.getInitParameter(admins.nextElement()));
}


总结:获取上下文参数首先要通过getServletContext()获得上下文对象,然后通过上下文对象的getInitparameterName获取getInitParameterNames()获的配置的上下文参数。

1 0
原创粉丝点击