🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 如何在`web.xml`文件中使用`load-on-startup`标签 > 原文: [https://beginnersbook.com/2017/07/load-on-startup-tag-in-web-xml-file-with-example/](https://beginnersbook.com/2017/07/load-on-startup-tag-in-web-xml-file-with-example/) 默认情况下,在 servlet 容器收到特定 servlet 的请求之前,不会加载 Servlet。这可能会导致第一次访问 servlet 的延迟。为避免访问时间延迟,您可以使用`web.xml`文件中的标签`<load-on-startup>`,允许您在服务器启动时强制 servlet 容器加载(实例化并使其`init()`调用)servlet。 ## 如何使用`<load-on-startup>`? 这是一个示例`web.xml`文件: ```java <web-app> … <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.beginnersbook.DemoServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> … </web-app> ``` 如果我没有指定`<load-on-startup>`,那么在收到对`DemoServlet` servlet 类的请求之前,Web 容器就不会加载 servlet。由于我已经指定了值`>= 0`,因此将在启动时加载此 servlet(`DemoServlet`类)。 > `>= 0`的值表示在部署 web-app 时或服务器启动时加载 servlet。 ### 如何使用`<load-on-startup>`标签指定 servlet 加载的顺序? ```java <web-app> … <servlet> <servlet-name>MyServlet1</servlet-name> <servlet-class>com.beginnersbook.DemoServlet1</servlet-class> <load-on-startup>5</load-on-startup> </servlet> <servlet> <servlet-name>MyServlet2</servlet-name> <servlet-class>com.beginnersbook.DemoServlet2</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet> <servlet-name>MyServlet3</servlet-name> <servlet-class>com.beginnersbook.DemoServlet3</servlet-class> <load-on-startup>-2</load-on-startup> </servlet> … </web-app> ``` 在这个例子中,我们在`web.xml`文件中指定了三个 Servlet,因为 servlet 类`DemoServlet1`和`DemoServlet2`具有`>= 0`的加载启动值,它们都将在服务器启动时立即加载。但是,在`DemoServlet1`类之前加载 servlet 类`DemoServlet2`,因为它具有较低的启动加载值。 Servlet 类`DemoServlet3`在启动时不会加载,因为它具有负加载启动值。