2015-03-13 28 views

回答

0

如果您想在应用程序启动时进行初始化或在应用程序被销毁时进行清理,则应使用此接口。

当应用程序启动时,Servlet容器调用此接口的OnStart方法,将参数传入一组实现,扩展或用HandlesTypes注释中声明的类型注释的所有类。

该规范还添加了许多方法动态注册的Servlet,过滤器和监听器。

下面是例如你如何初始化春季调度的Servlet:

public class MyWebAppInitializer implements WebApplicationInitializer { 
    @Override 
    public void onStartup(ServletContext ctx) throws ServletException { 

     ServletRegistration.Dynamic dispatcher = ctx.addServlet("dispatcher", new DispatcherServlet()); 
     dispatcher .setLoadOnStartup(1); 
     dispatcher .addMapping("/"); 
    } 
} 
0

WebApplicationInitializer - 这提供注册servlet来你的servlet上下文的编程方法。在servlet 3.0之前,只能通过web.xml来完成。使用servlet 3.0规范,您可以将您的调度程序servlet注册到servlet上下文,以便他们知道您的应用程序上下文和功能类似于在web.xml中注册的servlet。

ServletContext不过是提供接口方法来与您的servlet容器进行交互。它的Javadoc非常好。

SpringServletContainerInitializerServletContainerInitializer的实现是负责调用的的onStartup WebApplicationInitializer并将其传递一个裁判ServletContext的

两个的web.xmlWebApplicationInitializer可以共存,你可以注册其他的servlet,我认为你可以重写的servlet为好。

你有吨例子赫然出现在网站向您展示如何使用WebApplicationInitializer

希望这有助于。

相关问题