# 如何使用 Example 在 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 的延迟。为避免访问时间延迟，您可以使用**＆lt; load-on-startup＆gt; web.xml** 文件中的标记，允许您在服务器启动时强制 servlet 容器加载（实例化并使其 init（）调用）servlet。

## 如何使用＆lt; load-on-startup＆gt;？

这是一个示例 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>
```

如果我没有指定＆lt; load-on-startup＆gt;，那么在收到对 DemoServlet servlet 类的请求之前，Web 容器就不会加载 servlet。由于我已经指定了值&gt; = 0，因此将在启动时加载此 servlet（DemoServlet 类）。

> 值＆gt; = 0 表示在部署 web-app 时或服务器启动时加载 servlet，如果值

### 如何使用＆lt; load-on-startup＆gt;指定 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 具有加载启动值＆gt; = 0，它们都将在服务器启动时立即加载。但是，在 DemoServlet1 类之前加载 servlet 类 DemoServlet2，因为它具有较低的启动加载值。

Servlet 类 DemoServlet3 在启动时不会加载，因为它具有负加载启动值。