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>