Java 哪些servlet是预初始化的好成员?

Java 哪些servlet是预初始化的好成员?,java,servlets,Java,Servlets,通过在web.xml中设置-1属性,我们可以在服务器启动时加载servlet 我知道预初始化的servlet在第一次请求时会更快 我的问题是哪种servlet是这种设置的好成员。 特别是对于哪种功能它是有用的?对于任何执行任何耗时操作的servlet来说,在启动时加载都是一个很好的实践。例如,需要建立到数据库的连接的servlet 正如您所指出的,servlet将能够更快地响应其第一个请求,因为它已经被初始化。正如您所知,servlet将在第一个请求时加载。这意味着它在第一次请求时会消耗更多的时

通过在web.xml中设置
-1
属性,我们可以在服务器启动时加载servlet

我知道预初始化的servlet在第一次请求时会更快

我的问题是哪种servlet是这种设置的好成员。
特别是对于哪种功能它是有用的?

对于任何执行任何耗时操作的servlet来说,在启动时加载都是一个很好的实践。例如,需要建立到数据库的连接的servlet


正如您所指出的,servlet将能够更快地响应其第一个请求,因为它已经被初始化。

正如您所知,servlet将在第一个请求时加载。这意味着它在第一次请求时会消耗更多的时间。如果在web.xml中指定启动时加载,servlet将在项目部署时或服务器启动时加载。因此,响应第一个请求所需的时间将更少

因此,如果您有任何servlet在初始化过程中需要花费大量时间,例如连接到数据库、读取文件等,那么最好为这类servlet指定启动时的负载,以便它们可以在应用程序启动过程中初始化。因此,第一个要求是更快

load-on-startup元素指示这个servlet应该 在启动时加载(实例化并调用其init() web应用程序。这些元素的可选内容必须是 指示servlet加载顺序的整数。如果 值为负整数,或者元素不存在,则 容器可以随时随意加载servlet。如果 值为正128整数或0,容器必须加载并 在部署应用程序时初始化servlet。容器 必须保证加载标有较低整数的servlet 在用更高整数标记的servlet之前。容器可以选择 具有相同启动负载值的servlet的加载顺序


启动时加载基本上控制何时调用servlet的方法

因此,从逻辑上讲,如果您有一个带有
init()
方法的servlet,它执行昂贵而耗时的工作,例如解析XML配置文件和/或从某个数据库填充一些应用程序范围的数据,那么在启动时而不是在第一次请求时执行可能是一个好主意

如果您甚至没有
init()
方法,那么您就不需要关心启动时的
加载

另见:

init()
方法中建立数据库连接,以便
doXxx()
方法使用它?那真是可疑。供阅读的食物: