1.ServletConfig介绍
a.ServletConfig是Servlet的配置参数对象,在Servlet的规范中,允许为每一个Servlet都提供一些初始化的配置。所以,每个Servlet都有一个自己的ServletConfig
b.作用:在Servlet的初始化时,把一些配置信息传递给Servlet
c.生命周期:和Servlet相同
2.在web.xml
中配置方式如下
<!-- 配置Servlet--><servlet><servlet-name>ServletConfigDemo</servlet-name><servlet-class>com.itheima.ServletConfigDemo</servlet-class><!-- 配置ServletConfig的访问路径--><!-- 在初始化时传递--><!--每一个init-param标签,就表示一个键值对--><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param><init-param><param-name>desc</param-name><param-value>我是一个描述ServletConfig对象的属性</param-value></init-param></servlet>
3.ServletConfig的常用方法
【可以在Servlet类去获取ServletConfig对象,通过它的方法获取配置参数】
ServletConfig常用方法
getInitParameter(“encoding”)根据key获取value
getInitParameterNames()获取所有的key
servletConfig.getServletName()
servletConfig.getServletContext0()
public class ServletConfigDemo extends HttpServlet {//1.获取ServletConfig对象//方法一:声明ServletConfIg/* private ServletConfig servletConfig;//通过init方法,来对ServletConfig对象进行赋值@Overridepublic void init() throws ServletException {this.servletConfig = servletConfig;}*/@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//方法二:getServletConfig()方法获取ServletConfig servletConfig = this.getServletConfig();String servletName = servletConfig.getServletName();System.out.println(servletName);//2.ServletConfig常用方法//(1)getInitParameter("encoding")根据key获取valueString value = servletConfig.getInitParameter("encoding");System.out.println(value);//(2)getInitParameterNames()获取所有的key//返回一个枚举对象Enumeration<String> ParameterNames = servletConfig.getInitParameterNames();//遍历方法1:/*while (ParameterNames.hasMoreElements()) {//获取每一个keyString paramName = ParameterNames.nextElement();//根据key获取每一个valueString paramValue = servletConfig.getInitParameter(paramName);System.out.println(paramName + "..." + paramValue);}*///遍历方法2:使用迭代器遍历Iterator<String> it = ParameterNames.asIterator();while (it.hasNext()){String paramName = it.next();String paramValue = servletConfig.getInitParameter(paramName);System.out.println(paramName + "..." + paramValue);}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);}
}打印结果:
-------------------------------------------------------------------
ServletConfigDemo
utf-8
encoding...utf-8
desc...我是一个描述ServletConfig对象的属性