容器如何在启动时加载之前处理 servlet 请求?



我试图保证初始化方法调用几个servlet的顺序。我的想法是为我要初始化的第一个 servlet 指定启动时加载值 1,为我要初始化的第二个 servlet 的启动时加载值指定值 2。

我的问题是,如果我在 servlet 1 初始化完成之前收到对 servlet 2 的请求,会发生什么?

嗨贾罗德, 我不相信我的问题重复。 谢谢,查理

在 Web 应用程序启动之前,Web 应用程序不会处理请求。如果指定非负load-on-startup值,则意味着 Servletinit()方法调用将在 Web 应用程序启动期间发生。因此,这样的 servlet 在其init()方法完成之前不会处理任何请求。

因此,servlet 容器将在具有非负load-on-startup(按顺序(的 servlet 上调用init(),然后才允许它们处理请求。

具有默认配置的 Tomcat 7 会延迟在应用程序启动期间收到的请求(至少在我的情况下(。

有关 Tomcat细节的更多信息,请参阅在启动期间阻止 Tomcat 缓存请求的答案

最新更新