Servlet 生命周期和过滤器生命周期之间的差异
2022-09-03 09:31:11
Servlet 和过滤器生命周期之间有什么区别吗?
Servlet 和过滤器生命周期之间有什么区别吗?
否,servlet 和 filter:
init(..)
destroy(..)
到目前为止,我也想知道其中的差异。我创建了一个Web项目来观察它们的生命周期。可以在
http://dntuan-java-workspace.googlecode.com/svn/trunk/simple-web
在 tomcat 上部署后,您可以从控制台观察日志,以查看在启动上下文之前是否初始化了筛选器。而 servlet 仅在发出请求时才初始化(例如http://localhost:8080/simple-web/servlet/life.jsp
)
来自 JSR-000315 JavaTM Servlet 3.0 的更多信息:
2.3.1 加载和实例化
servlet 容器负责加载和实例化 servlet。加载和实例化可以在容器启动时发生,也可以延迟到容器确定需要 servlet 来为请求提供服务。
6.2.1 过滤器生命周期
部署 Web 应用程序后,在请求导致容器访问 Web 资源之前,容器必须找到必须应用于 Web 资源的筛选器列表,如下所述。容器必须确保它已为列表中的每个筛选器实例化了相应类的筛选器,并调用其 init(FilterConfig config) 方法。