一、ServletConfig
有必要事先说明,该参数作用仅在一个servlet中,所以<init-param>应在<servlet>内部
例子
web.xml中
<servlet>
<init-param>
<param-name>初始化参数名</param-name>
<param-value>值</param-value>
</init-param>
</servlet>
servlet中
getServletConfig.getInitParameter("初始化参数名");
具体使用
因为servlet继承了getServletConfig(),所以在servlet中的任何方法中都调用getServletConfig()来获取ServletConfig的引用
内部原理
容器初始化一个servlet时,会为这个servlet创建一个唯一的ServletConfig。容器从web.xml中读出servlet初始化参数【仅读一次】,并把这些参数交给ServletConfig,然后把SErvletConfig传递给servlet的int()方法。
二、ServletContext
ServletContext作用在整个webapp中,所以<context-param>在<web-app>内部,在<servlet>外部
例子
web.xml中
<web-app>
<context-param>
<param-name>初始化参数名</param-name>
<param-value>值</param-value>
</context-param>
<servlet>
..
</servlet>
</web-app>
servlet中
getServletContext().getInitParameter(“初始化参数名”)
三、总结
每一个Servlet都有一个ServletConfig
每一个WEB应用都有一个ServletContext
网友评论