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,浏览器返回一个页面,显示为:
2845

被折叠的 条评论
为什么被折叠?



