2014-09-24 31 views
1

我想知道为什么设置这个值为1.我读了api,它意味着在这个动态ServletRegistration所代表的Servlet上设置loadOnStartup优先级。为什么是1?为什么Spring-MVC将LoadOnStartup设置为1?

我读一段代码:

public void onStartup(ServletContext servletContext) 
      throws ServletException { 
     // TODO Auto-generated method stub 
     AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext(); 
     ctx.register(WebAppConfig.class); 
     servletContext.addListener(new ContextLoaderListener(ctx)); 

     ctx.setServletContext(servletContext); 
     Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx)); 
     servlet.addMapping("/"); 
     servlet.setLoadOnStartup(1); 
    } 

回答

3

稀释1是用于真正的惯例。 0是虚假的约定。你在启动时为调度器servlet设置负载,这样Spring容器将在应用服务器(tomcat等)启动时初始化。

0

我添加到此答案,以防其他人发生此帖时发生。根据文档,这比1 = true和0 = false更复杂。该值是定义ORDER的优先级,在该ORDER中将调用在启动时初始化的应用程序。

ServletRegistration.Dynamic.setLoadOnStartup

这是包含在本question

相关问题