在struts的配置中,<load-on-startup>X</load-on-startup>的含义是:
标记容器在启动的时候是否立即加载ActionServlet。
(1)当值为0或者大于0时,则表示容器在应用启动时就加载ActionServlet;
(2)当值为负数或没有指定值时,则表示容器在启动时不会加载lActionServlet,在用到时才加载。
正数的值越小,加载该ActionServlet的优先级就越高,0代表最高级别。
问:为什么不是true和false呢?
答:这是因为,我们在web.xml中往往不只是配置ActionServlet,可能还需要配置filter等,如果只是用true和false表示是否在启动的时候加载对应的类,就不能区分加载的顺序。而用数字,服务器会根据load-on-startup值的大小依次对相应的类进行初始化。不过即使我们将load-on-startup设置置重复的值,服务器也不会出现异常,它会自己决定初始化的顺序。
注意:ActionServlet是多线程的,所以在一个web项目中,无论存在多少个子应用,都只需配置一个ActionServlet即可。