初始化的方法可以使用init()完成,但是里面却可以传入一个ServletConfig的对象,此对象就是可以接受初始化配置参数的操作。
本节内容可以参考之前讲解的JSP内置对象中的config对象的使用。
因为所有的初始化参数都必须在web.xml文件之中进行配置。
可以通过 public void init(ServletConfig config)throws ServletException 方法取得初始化配置信息。
【InitParamServlet.java的内容如下:】
package com.skewrain.demo2;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class InitParamServlet extends HttpServlet {
private String initParam = null;
public void init(ServletConfig config) throws ServletException{
this.initParam = config.getInitParameter("ref"); //接收的初始化参数名称暂时为ref。
}
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException{
System.out.println("** 初始化参数:" + this.initParam);
}
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException{
this.doGet(req,resp);
}
}
一个Servlet要想起作用,肯定要在web.xml文件之中进行配置,配置如下:
<servlet>
<servlet-name>initparam</servlet-name>
<servlet-class>com.skewrain.demo2.InitParamServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>ref</param-name>
<param-value>www.baidu.com</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>initparam</servlet-name>
<url-pattern>/InitParamServlet</url-pattern>
</servlet-mapping>
重启服务器,打开此Servlet,我们将看到服务器端有如下输出:
但是,在进行操作的时候,有一个注意点必须引起注意,如果现在在Servlet之中同时覆写了两个init()方法,则只有取得初始化参数的init()方法起作用。
从一般的角度而言,取得初始化参数的操作在一些系统的架构中是比较常见的,例如,之后要讲解的struts开发框架,就使用此种操作。
小结:
1.通过init(ServletConfig config)方法可以取得在web.xml文件中配置的初始化参数。
2.初始化参数要在web.xml中进行配置。
之前在JSP中讲解的config对象的使用,也是利用了同样的原理完成的。所有的初始化参数必须通过映射路径才可以取得。