ServletConfig接口

Servlet接口的init(ServletConfig config)方法有一个ServletConfig类型的参数。当Servlet容器初始化一个Servlet对象时,会为这个Servlet对象创建一个ServletConfig对象。在ServletConfig对象中包含了Servlet的初始化参数信息,此外ServletConfig对象还与当前web应用的ServletContext对象关联。Servlet容器在调用Servlet对象的init(ServletConfig config)时,会把ServletConfig对象作为参数传给init方法,这样init(ServletConfig config)方法使得当前Servlet对象与ServletConfig对象之间建立起关联关系。

ServletConfig接口中定义了四个方法:

String getInitParameter(String name):根据给定的初始化参数名,返回匹配的初始化参数值。

Enumeration getInitParameterNames():返回一个Enumeration对象,里面包含了所有的初始化参数名。

ServletContext getServletContext():返回当前ServletCinfig关联的ServletContext对象,也即当前web应用的ServletContext对象。

String getServletName():返回Servlet的名字,即web.xml文件中相应<servlet>的子元素<servlet-name>的值。
每个初始化参数包括一对参数名和参数值,在web.xml文件中配置一个Servlet时,可以通过<init-param>元素来设置初始化参数。<init-param>的子元素<param-name>设定参数名,<param-value>设定参数值。如下:
<servlet>
    <servlet-name>FavouriteColorServlet</servlet-name>
    <servlet-class>web.FavouriteColorServlet</servlet-class>
    <init-param>
    <param-name>color</param-name>
	<param-value>Blue</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>FavouriteColorServlet</servlet-name>
    <url-pattern>/color</url-pattern>
  </servlet-mapping>

顺便写一个Servlet类示范如何取得初始化参数。

public class FavouriteColorServlet extends HttpServlet {
	
	
	protected void service(HttpServletRequest request, HttpServletResponse response) 
		throws ServletException, IOException {

		String favouriteColor=getInitParameter("color");
		
		PrintWriter pw=response.getWriter();
		
		pw.println("<h3>my favourite color is:"+favouriteColor+"</h3>");
		
		pw.close();
	}


}

部署完毕后,在浏览器地址栏输入http://localhost:8080/webDemo/color,浏览器返回一个页面,显示为:

ServletConfig接口_第1张图片

HttpServlet类继承了GenericServlet类,而GenericServlet类实现了ServletConfig接口,所以在HttpServlet类或GenericServlet类及子类中都可以直接调用ServletConfig接口中的方法

你可能感兴趣的:(ServletConfig接口)