Servlet 2.4 specification says: --- If the value is a positive integer or 0, the container must load and initialize the servlet as the application is deployed. The container must guarantee that servlets marked with lower integers are loaded before servlets marked with higher integers. --- I think the servlet with value 0 in <load-on-startup> tag must be loaded at the first. However, Tomcat loads the servlet at the last.
Thanks for the report. This has been fixed in svn and will be included in the next release.