ServletConfig对象学习

a 夏天 提交于 2019-12-10 14:56:08

1,Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数。

servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servletinit方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息

代码:(为servlet配置初始化参数)

  <servlet>
    <servlet-name>ServletDemo8</servlet-name>
    <servlet-class>cn.yujian.ServletDemo8</servlet-class>
    
    <init-param>
    	<param-name>name</param-name>
    	<param-value>xxxx</param-value>
    </init-param>
    
    <init-param>
    	<param-name>charset</param-name>
    	<param-value>UTF-8</param-value>
    </init-param>
    
    <init-param>
    	<param-name>url</param-name>
    	<param-value>jdbc:mysql://localhost:3306/test</param-value>
    </init-param>
    
    <init-param>
    	<param-name>username</param-name>
    	<param-value>root</param-value>
    </init-param>
    
    
    <init-param>
    	<param-name>password</param-name>
    	<param-value>root</param-value>
    </init-param>
    
    <init-param>
    	<param-name>config</param-name>
    	<param-value>/WEB-INF/...</param-value>
    </init-param>
  </servlet>


Java代码:(通过ServletConfig对象来获取servlet的初始化参数)

//servletConfig对象的使用
public class ServletDemo8 extends HttpServlet {

	// 2.4

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		ServletConfig config = this.getServletConfig();
		Enumeration e = config.getInitParameterNames();
		while (e.hasMoreElements()) {
			String name = (String) e.nextElement();
			String value = config.getInitParameter(name);
			System.out.println(name + "=" + value);
		}

		String url = config.getInitParameter("url");
		String username = config.getInitParameter("username");
		String password = config.getInitParameter("password");
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}




标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!