在 servlet 的配置当中,1 的含义是:
标记容器是否在启动的时候就加载这个 servlet。
当值为 0 或者大于 0 时,表示容器在应用启动时就加载这个 servlet;
当是一个负数时或者没有指定时,则指示容器在该 servlet 被选择时才加载。
正数的值越小,启动该 servlet 的优先级越高。
如果我们在 web.xml 中设置了多个 servlet 的时候,可以使用 load-on-startup 来指定 servlet 的加载顺序,服务器会根据 load-on-startup 的大小依次对 servlet 进行初始化。不过即使我们将 load-on-startup 设置重复也不会出现异常,服务器会自己决定初始化顺序。
配置 load-on-startup 后,servlet 在 startup 后立即加载,但只是调用 servlet 的 init()方法,用以初始化该 servlet 相关的资源。初始化成功后,该 servlet 可响应 web 请求;如未配置 load-on-startup,容器一般在第一次响应 web 请求时,会先检测该 servlet 是否初始化,如未初始化,则调用 servlet 的 init()先初始化,初始化成功后,再响应请求。
PS:一般我们在开发 web 应用时,都会配置这个参数,有两个好处:1、如果初始化过程失败,则容器会提示启动失败,此时我们能够提前知道相关错误;2、配置该参数相当于将初始化 servlet 的工作转移到容器启动过程,使得容器只要启动成功后,就可立即响应 web 请求。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于