什么是ServletConfig对象?
代表
servlet
的参数配置对象。主要是用于加载
servlet
的初始配置参数的。
其中,初始化参数是放在 web.xml文件 servlet标签下子标签init-param中的
例如:
<servlet>
<servlet-name>ConfigServlet</servlet-name>
<servlet-class>blog.csdn.net.web.config.ConfigServlet</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>mChenys</param-value>
</init-param>
<init-param>
<param-name>age</param-name>
<param-value>27</param-value>
</init-param>
</servlet>
ServletConfig对象什么时候创建
在创建完Servlet对象之后,调用init方法之前创建。
注意:在一个web应用中,每个Servlet都会创建一个ServletConfig对象
。
ServletConfig对象由谁创建的?
servletconfig是由服务器创建的,在创建servlet的同时也创建了它,通过servlet的init(ServletConfig config)将config对象传递给servlet,由servlet的getServletConfig方法获取。
常用方法与作用
(1
)用于读取
servlet
的局部配置参数
this.
getServletConfig().getInitParameter("name");
this.
getServletConfig().getInitParameterNames();
(
2
)得到
web
应用的上下文对象
this.
getServletConfig().getServletContext();
(
3
)得到
servlet
的名称
this.
getServletConfig().getServletName();
常用方法的使用实例:
/**
* ServletConfig的使用
*/
public class ConfigServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取ServletConfig对象
ServletConfig config = this.getServletConfig();
// 获取servlet的名称
System.out.println(config.getServletName());
// 根据参数名获取web.xml中init-param配置信息中的值
System.out.println(config.getInitParameter("username"));
// 获取配置信息中的所有参数名和值
Enumeration<String> names = config.getInitParameterNames();
while (names.hasMoreElements()) {
String name = names.nextElement();
String value = config.getInitParameter(name);
System.out.println(name + "=" + value);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
访问ConfigServlet后,得到的结果如下: