一:ServletConfig介绍
- ServletConfig是Servlet的配置参数对象,在Servlet的规范中,允许为每一个Servlet都提供一些初始化的配置。所以,每个Servlet都有一个自己的ServletConfig
- 作用:在Servlet的初始化时,把一些配置信息传递给Servlet
- 生命周期和Servlet相同,同时存在,同时销毁
二:ServletConfig配置方式
<!--配置servlet-->
<servlet>
<servlet-name>servletConfigDemo</servlet-name>
<servlet-class>com.hanjie.servlet.ServletConfigDemo</servlet-class>
<!--配置ServletConfig-->
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>desc</param-name>
<param-value>This is ServletConfig</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>servletConfigDemo</servlet-name>
<url-pattern>/servletConfigDemo</url-pattern>
</servlet-mapping>
三:ServletConfig常用方法
//1.声明ServletConfig对象
private ServletConfig servletConfig;
//2.通过init方法来获取ServletConfig对象
@Override
public void init(ServletConfig config) throws ServletException {
this.servletConfig = config;
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//根据参数名称获取参数值
String initValue = servletConfig.getInitParameter("encoding");
System.out.println(initValue);
//获取所有参数,返回一个枚举值
Enumeration<String> initParameterNames = servletConfig.getInitParameterNames();
while (initParameterNames.hasMoreElements()){
String s = initParameterNames.nextElement();
String value = servletConfig.getInitParameter(s);
System.out.println(s+","+value);
}
//获取Servlet的名称
String servletName = servletConfig.getServletName();
System.out.println(servletName);
//获取ServletContext对象
ServletContext servletContext = servletConfig.getServletContext();
System.out.println(servletContext);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req,resp);
}