gpt4 book ai didi

java - 我如何使用一个根上下文创建两个 AbstractAnnotationConfigDispatcherServletInitializer?

转载 作者:行者123 更新时间:2023-12-01 17:36:08 24 4
gpt4 key购买 nike

我知道我可以通过这种方式向两个调度程序 servlet 写入一个根上下文:

@覆盖public void onStartup(ServletContext servletContext) 抛出 ServletException {

// root context
AnnotationConfigWebApplicationContext rootContext =
new AnnotationConfigWebApplicationContext();
rootContext.register(RootConfig.class); // configuration class for root context
rootContext.scan("...service", "...dao"); // scan only some packages
servletContext.addListener(new ContextLoaderListener(rootContext));

// dispatcher servlet 1
AnnotationConfigWebApplicationContext webContext1 =
new AnnotationConfigWebApplicationContext();
webContext1.setParent(rootContext);
webContext1.register(WebConfig1.class); // configuration class for servlet 1
webContext1.scan("...web1"); // scan some other packages
ServletRegistration.Dynamic dispatcher1 =
servletContext.addServlet("dispatcher1", new DispatcherServlet(webContext1));
dispatcher1.setLoadOnStartup(1);
dispatcher1.addMapping("/subcontext1");

// dispatcher servlet 2
...

}

但是我如何使用 AbstractAnnotationConfigDispatcherServletInitializer 来做到这一点?如果不可能 - 为什么我们可以使用两个方法“getRootConfigClasses”和“getServletConfigClasses”?

最佳答案

我想我已经找到了决定 - 如果我们使用两个带有 AbstractAnnotationConfigDispatcherServletInitializer 的类 - 如果我们在 getRootConfigClasses 方法中的其中一个类中定义根类,而另一个类将返回类的空数组“{}”,那么这意味着 - 第一个根类将是 DispatcherServlet 的根类

关于java - 我如何使用一个根上下文创建两个 AbstractAnnotationConfigDispatcherServletInitializer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61036471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com