getInitParameter方法来自于GenericServlet,一般创建Servlet都是继承自HttpServlet,而HttpServlet是GenericServlet的子类,由此通常我们的Servlet都是可以调用该方法去获取web.xml配置文件中的配置信息:
1、web.xml部分信息:
<!-- 全局配置 -->
<context-param>
<param-name>global</param-name>
<param-value>Okes</param-value>
</context-param>
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>com.web.servlets.TestServlet</servlet-class>
<!-- 局部配置,即TestServlet的配置 -->
<init-param>
<param-name>name</param-name>
<param-value>wangzp,tanhq</param-value>
</init-param>
<init-param>
<param-name>name1</param-name>
<param-value>wangzp1,tanhq1</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/test.do</url-pattern>
</servlet-mapping>
2、如果获取局部配置以及全局配置
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();/** * 获取<init-param></init-param>中的属性 * name : <init-name>name</init-name> * value : <init-value>value</init-value> * 通过getInitParameter(name)就可以获取value中的值 */out.println(getInitParameter("name"));/** * 当有多个上述中的标签时,那么可以使用getInitParameterNames * 获取所有的属性名称,然后通过getInitParameter获取对应的属性值 */Enumeration enums = getInitParameterNames();while(enums.hasMoreElements()){System.out.println(enums.nextElement());}/** * 获取全局属性配置: * 1、必须通过getServletConfig(),或者getServletContext(),然后调用 getInitParameter方法获取; * 2、全局标签<context-param></context-param> */out.println(getServletContext().getInitParameter("global"));out.flush();out.close();}
3、总结
3.1 局部Servlet配置属性获取:使用getInitParameter或者getInitParameterNames;
3.2 全局Servlet配置属性获取:使用servletConfig或者ServletContext对象调用getInitParameter获取即可
本文出自 “java程序冥” 博客,请务必保留此出处http://793404905.blog.51cto.com/6179428/1540259