ServletConfig(对象的获取、应用、、ServletConfig与ServletContext获取配置文件信息的比较)

1、每个Servlet都单独拥有一个属于自己的ServletConfig对象,用来获取web.xml中servlet的配置信息。

2、ServletConfig对象的获取和运用:

   protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ServletConfig servletConfig=this.getServletConfig();//获取ServletConfig对象
        String sc=servletConfig.getInitParameter("ServletConfig");//由配置文件中的键获取值
        System.out.println(sc);
    }
<servlet>
        <servlet-name>ServletConfigDemo</servlet-name>
        <servlet-class>pers.zhb.logservlet.ServletConfigDemo</servlet-class>
        <init-param>
            <param-name>ServletConfig</param-name>
            <param-value>ni hao</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletConfigDemo</servlet-name>
        <url-pattern>/servletconfig</url-pattern>
    </servlet-mapping>

配置文件中的键和值要写在<servlet>标签内部,代表的是本Servlet自己所有。

运行结果为配置文件中的值:

 3、ServletConfig对象与ServletContext对象在获取配置文件中的信息时的比较:

(1)不同点:

ServletConfig对象的参数在<servlet>标签内部,ServletContext对象的参数在外部:

ServletContext配置文件:

<servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>ServletDemo</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/abc</url-pattern>
    </servlet-mapping>
    <context-param>//一组标签只能存储一组键值对
        <param-name>zhai</param-name>
        <param-value>zhai1997</param-value>
    </context-param>

ServletConfig配置文件:

<servlet>
        <servlet-name>ServletConfigDemo</servlet-name>
        <servlet-class>pers.zhb.logservlet.ServletConfigDemo</servlet-class>
        <init-param>
            <param-name>ServletConfig</param-name>
            <param-value>ni hao</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletConfigDemo</servlet-name>
        <url-pattern>/servletconfig</url-pattern>
    </servlet-mapping>

(2)相同点:

都可以获取执行环境的相关数据,都是通过获取对象,由对象调用方法,由键获取值。

原文地址:https://www.cnblogs.com/zhai1997/p/11577840.html