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获取即可
关于Servlet的getInitParameter的使用,布布扣,bubuko.com
时间: 2024-10-11 20:56:15