关于Servlet的getInitParameter的使用

时间:2021-08-27 02:20:55

    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