Java loadOnStartup时的servlet生命周期
当我们在web.xml中将任何servlet称为Java loadOnStartup时的servlet生命周期,java,servlets,Java,Servlets,当我们在web.xml中将任何servlet称为loadOnStartup时,肯定会调用它的init方法。只是想确认服务和销毁方法是否也被调用?如果不是在他们接到电话时 另一个问题是,每次都会提到init方法只调用一次。这是否意味着当servlet第一次收到请求时,将调用init方法,然后调用service 但我们不会称之为毁灭。当第二个请求发出时,它将再次简单地调用服务方法,而不是init方法。这种理解正确吗?但是当容器决定调用销毁方法时? loadOnStartup意味着将在容器启动期间加载
loadOnStartup
时,肯定会调用它的init
方法。只是想确认服务
和销毁
方法是否也被调用?如果不是在他们接到电话时
另一个问题是,每次都会提到init
方法只调用一次。这是否意味着当servlet第一次收到请求时,将调用init
方法,然后调用service
但我们不会称之为毁灭。当第二个请求发出时,它将再次简单地调用服务方法,而不是init方法。这种理解正确吗?但是当容器决定调用销毁方法时?
意味着将在容器启动期间加载servlet(及其loadOnStartup
方法)。否则,正如您所怀疑的,将在第一个请求到来时加载它init(..)
- 容器只有每个servlet的一个实例。创建它时,它们调用
。当上下文取消部署(例如,容器停止)时,调用init(..)
destroy()
loadOnStartup
优先考虑哪些线程先于其他线程加载。Servlet容器将加载Servlet并调用init
方法。如果web.xml
中未提及loadOnStartup
,则当存在需要Servlet的请求调用时,将实例化serlvet
servlet的初始化只发生一次。一旦初始化,servlet容器将保留它
对于请求处理,servlet容器调用serlvet的service()
方法,当servlet容器关闭时,它将调用所有servlet的destroy()
方法并从容器中删除servlet
有关更多信息,请查看一些解释,或从。当我们在
web.xml
中启用启动时加载启用时,我们的servlet程序将在服务器启动期间实例化。这意味着每个请求将花费相同的时间进行响应