2014-09-24 30 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

相關問題