重新学javaweb---ServletConfig

  Servlet里的 init(ServletConfig config)方法需要一个ServletConfig类型的参数,那么接下来我们就来跟Servlet好好的认识认识。
  首先他代表Servlet在 web.xml中的配置信息,他有下面几个方法:

1.String getServletName–返回该servlet在web.xml中配置的名字,若没配置返回类名。
2.String getInitParameter–返回包含指定初始化参数的值的 String,如果参数不存在,则返回 null。
3. EnumerationgetInitParameterNames–以 String 对象的 Enumeration 的形式返回 servlet 的初始化参数的名称,如果 servlet 没有初始化参数,则返回一个空的 Enumeration。
4. ServletContext getServletContext()–获取代表当前web应用的ServletContext对象。

知道了他能干什么之后,下面我们就来看如何获取这个ServletConfig:
1.我们可以覆盖父类的init方法来拿到ServletConfig.
2.在doXXX中:其实人家父类已经封装好了,所以直接getServletConfig()就OK了。

ServletConfig config = this.getServletConfig();
        doGet(request, response);
        // --获取当前Servlet 在web.xml中配置的名称
        String sName = config.getServletName();
        System.out.println(sName);
        // --获取当前Servlet中配置的初始化参数
        String value = config.getInitParameter("name1");
        System.out.println(value);//value1

        Enumeration enumration = config.getInitParameterNames();
        while (enumration.hasMoreElements()) {
            String name = (String) enumration.nextElement();
            String value1 = config.getInitParameter(name);
            System.out.println(name + ":" + value1);//name1:value1  //encode:utf-8

        }

web.xml中该Servlet的配置信息:

 <servlet>

<servlet-name>SConfigServletservlet-name>

<servlet-class>com.itheima.SConfigServletservlet-class>


    <init-param>

        <param-name>name1param-name>

        <param-value>value1param-value>

     init-param>


 <init-param>

         <param-name>encodeparam-name>

         <param-value>utf-8param-value>

init-param>

servlet>

你可能感兴趣的:(javaweb,Servlet,Config)