簡體   English   中英

如何以編程方式在WebApplicationInitializer中注冊多個servlet?

[英]How to register multiple servlets in WebApplicationInitializer programatically?

我寫了下面的類以編程方式注冊多個servlet,但是它不能正常工作,任何人都可以幫我這個忙。

public class appIntializer implements WebApplicationInitializer {

    @Override
    public void onStartup(ServletContext context) throws ServletException {
        XmlWebApplicationContext appCtxt = new XmlWebApplicationContext();
        appContext.setConfigLocation("/WEB-INF/MVCLogin-servlet.xml");
        context.addListener(new ContextLoaderListener(appCtxt));

        ServletRegistration.Dynamic dispatcher = context.addServlet("MVC",
                new DispatcherServlet(appCtxt));
        ServletRegistration.Dynamic testServlet= context.addServlet(
                "Test", TestServlet.class);
        testServlet.addMapping("/test");

        Dynamic securityFilter = context.addFilter(
                AbstractSecurityWebApplicationInitializer.DEFAULT_FILTER_NAME,
                DelegatingFilterProxy.class);
        securityFilter.addMappingForUrlPatterns(
                EnumSet.allOf(DispatcherType.class), false, "/*");
        dispatcher.setLoadOnStartup(1);
        dispatcher.addMapping("/");

    }
}

我應該在Web應用程序初始化時加載兩個servlet。

我錯過了setLoadonstartup的問題。

public class appIntializer implements WebApplicationInitializer {

@Override
public void onStartup(ServletContext context) throws ServletException {
    XmlWebApplicationContext appCtxt = new XmlWebApplicationContext();
    appContext.setConfigLocation("/WEB-INF/MVCLogin-servlet.xml");
    context.addListener(new ContextLoaderListener(appCtxt));

    ServletRegistration.Dynamic dispatcher = context.addServlet("MVC",
            new DispatcherServlet(appCtxt));
    ServletRegistration.Dynamic testServlet= context.addServlet(
            "Test", TestServlet.class);
    testServlet.setLoadOnStartup(2);
    testServlet.addMapping("/test");

    Dynamic securityFilter = context.addFilter(
            AbstractSecurityWebApplicationInitializer.DEFAULT_FILTER_NAME,
            DelegatingFilterProxy.class);
    securityFilter.addMappingForUrlPatterns(
            EnumSet.allOf(DispatcherType.class), false, "/*");
    dispatcher.setLoadOnStartup(1);
    dispatcher.addMapping("/");

}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM