Java Servlet教程—启动时加载 web.xml
load-on-startup
元素是 web-app
的一部分,用于在部署时或服务器启动时加载 Servlet,前提是其值为正数。它也被称为 Servlet 的预初始化。
您可以为 Servlet 传递正值和负值。
load-on-startup 元素的优势
众所周知,Servlet 在首次请求时被加载。这意味着它在首次请求时会消耗更多时间。如果您在 web.xml 中指定了 load-on-startup
,则 Servlet 将在项目部署时或服务器启动时被加载。因此,它将在响应首次请求时减少时间。
传递正值
如果您传递正值,那么整数值较小的 Servlet 将在整数值较大的 Servlet 之前被加载。换句话说,容器按照升序整数值加载 Servlet。值为 0 的 Servlet 将首先被加载,然后是 1、2、3 等。
让我们通过下面给出的示例来理解这一点:
web.xml
1. **<\**\*\*web-app\*\**\*>**
2. ....
3.
4. **<\**\*\*servlet\*\**\*>**
5. **<\**\*\*servlet-name\*\**\*>\**servlet1\**</\**\*\*servlet-name\*\**\*>**
6. **<\**\*\*servlet-class\*\**\*>\**com.javatpoint.FirstServlet\**</\**\*\*servlet-class\*\**\*>**
7. **<\**\*\*load-on-startup\*\**\*>\**0\**</\**\*\*load-on-startup\*\**\*>**
8. **</\**\*\*servlet\*\**\*>**
9.
10. **<\**\*\*servlet\*\**\*>**
11. **<\**\*\*servlet-name\*\**\*>\**servlet2\**</\**\*\*servlet-name\*\**\*>**
12. **<\**\*\*servlet-class\*\**\*>\**com.javatpoint.SecondServlet\**</\**\*\*servlet-class\*\**\*>**
13. **<\**\*\*load-on-startup\*\**\*>\**1\**</\**\*\*load-on-startup\*\**\*>**
14. **</\**\*\*servlet\*\**\*>**
15.
16. ...
17. **</\**\*\*web-app\*\**\*>**
在这里定义了 2 个 Servlet,这两个 Servlet 将在项目部署或服务器启动时被加载。但是,servlet1 将首先被加载,然后是 servlet2。
传递负值
如果您传递负值,Servlet 将在首次请求时被加载。