context、config

Tomcat启动时已经创建了context,并使用它读取了web.xml中的参数,后台可以从context里获取参数

后台获取参数代码:

ServletContext context = getServletContext();
String size = context.getInitParameter("size");

web.xml中参数配置:

<context-param>
      <param-name>size</param-name>
      <param-value>10</param-value>
</context-param>

Tomcat在创建servlet前会给它单独创建一个config对象,该对象只给当前servlet使用,其他servlet无法访问。在调用此servlet的init()方法时会将这个config对象传入。config对象被Tomcat创建后已经自动读取了web.xml中的参数。

后台获取参数如下:

String maxOnline = config.getInitParameter("maxOnline") //config来自init(ServletConfig config)方法的参数

web.xml中参数配置:

<servlet>
     <servlet-name>***</servlet-name>
     <servlet-class>***</servlet-class>
     <init-param>   <!--这个参数由对应的config自动读取-->
            <param-name>maxOnline</param-name>
            <param-value>10</param-value>
     </init-param>
</servlet>
<servlet-mapping>
      <servlet-name>***</servlet-name>
      <url-pattern>***</url-pattern>
</servlet-mapping>

context与config的区别:

a.context给所有的servlet使用;config给对应的servlet使用。

b.web.xml中配置参数的位置不同,标签名也不同。

    context是与<servlet>标签同级的<context-param>

    config是<servlet>子级别的<init-param>

原文地址:https://www.cnblogs.com/suhfj-825/p/8214655.html