ServletConfig接口和ServletContext接口有什么不同?
发布于 2010-11-19 17:35:44
ServletConfig参数是为特定的servlet指定的,对于其他servlet是未知的。它用于初始化目的。
ServletContext参数是为任何特定servlet之外的整个应用程序指定的,并且可用于该应用程序中的所有servlet。它是应用程序范围的,因此可以跨页面全局访问。
发布于 2014-05-08 16:54:25
来源:Difference between ServletConfig and ServletContext in Java
ServletConfig
servlet中可用的
ServletConfig packageServletConfig对象是每个servlet类中的一个,servlet的ServletConfig对象就会可用,一旦servlet执行被servlet执行就会销毁它应该显式地给出请求,为了第一次创建ServletConfig对象,<init-param> tag将出现在<servlet-class> tag下
下面是它在web.xml下的样子:(Source)
<servlet>
<servlet-name>ServletConfigTest</servlet-name>
<servlet-class>com.stackoverflow.ServletConfigTest</servlet-class>
<init-param>
<param-name>topic</param-name>
<param-value>Difference between ServletConfig and ServletContext</param-value>
</init-param>
</servlet>ServletContext
在web应用程序中可用的
ServletContext packageServletContext对象对整个web应用程序都是全局对象将在web应用程序执行时创建applicationServletContext对象就会可用,并且在应用程序从javax.servlet.*;中删除后它将被销毁甚至在发出第一个请求之前ServletContext中的ServletContext对象就会可用- <context-param> ServletContext将出现在tag下
下面是它在web.xml下的样子:
<context-param>
<param-name>globalVariable</param-name>
<param-value>com.stackoverflow</param-value>
</context-param>所以最后是……。
不是的。ServletContext应用程序数量=每个web应用程序1个web对象的数量
No. of servlet classes = That many number of `ServletConfig` objectsServlets JSP中ServletContext和ServletConfig在表格格式(Source)中的差异

发布于 2013-02-05 09:19:50
servlet ServletConfig由servlet容器实现,用于使用init()初始化单个servlet。也就是说,您可以使用web.xml部署描述符将初始化参数传递给servlet。为了便于理解,这类似于java类中的构造函数。
ServletContext由servlet容器实现,用于所有servlet与其servlet容器进行通信,例如,获取文件的MIME类型、获取分派请求或写入日志文件。即获取有关其执行环境的详细信息。它仅适用于单个Java虚拟机。如果web应用程序分布在多个JVM之间,这将不起作用。为了便于理解,这就像是一个应用程序全局变量机制,用于仅部署在一个JVM中的单个web应用程序。
来源:http://javapapers.com/servlet/difference-between-servletconfig-and-servletcontext/
https://stackoverflow.com/questions/4223564
复制相似问题