当前位置: 首页 > 知识库问答 >
问题:

如何用一个根上下文创建两个AbstractanNotationConfigDispatcherServletInitializer?

谷梁涵忍
2023-03-14

我知道我可以这样用一个根上下文写两个dispatchers servlet:

@override 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来实现这一点呢?如果不可能--为什么我们可以两个方法“getRootConfigClasss”和“getServletConfigClasss”?

共有1个答案

汪博艺
2023-03-14

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

 类似资料:
  • 我有一个app和两个MySQL数据库交互,其中一个是副本。当我需要执行事务时,我使用主数据库,当我需要访问一些历史数据或执行一些成本更高的选择时,我使用从数据库。 我尝试了以下操作: 在中,我配置了以下服务: 我将使用这两个上下文,如下所示: 我遇到以下异常: InvalidOperationException:尝试激活“StockApp.DataModels.MyMainDbContext”时,

  • 问题内容: 我已经使用和上下文init-parameter 配置了根应用程序上下文。 然后,JSF(* .jsf)变量解析器访问根上下文。它工作正常。 现在的问题是,经过的请求将获得另一个应用程序上下文,然后将单例bean实例化两次。 我不需要其他的应用程序上下文,如何指定它来重用由加载的现有根应用程序上下文? 注意 阅读答案中的参考页后,我知道根上下文和调度程序上下文之间存在上下文分隔,但是没有

  • 我正在用JavaStruts开发一个博客,我想知道什么时候打开一篇文章(所有记录都由数据库显示),而不是如何让链接看到下一篇文章和上一篇文章。 请帮我做链接。

  • 问题内容: 我有一个动态文本文件,可以根据用户的查询从数据库中选择内容。我必须将此内容写入文本文件,并将其压缩在servlet的文件夹中。我应该怎么做? 问题答案: 看这个例子: 这将在D:named 的根目录中创建一个文件,其中将包含一个名为的单个文件。当然,你可以添加更多的zip条目,还可以指定一个子目录,如下所示:

  • 但随后文件每次都被触摸,在日志中显示为黄线,这也是不令人满意的... 这个简单的问题还有更好的解决办法吗?

  • 如何在JMeter中一起运行两个. jmx文件并为两个文件创建一个报告。 我知道我们可以通过使用JMeter中列出的命令来运行两个.jmx脚本, = 但是如何为两者创建一个shell脚本。jmx文件并生成一个报告。 这是我的要求: 我需要运行1000个用户,需要从两个脚本运行500-500个用户两次。此外,我只使用了两个用户,并多次运行它以达到500个请求 任何帮助将不胜感激。 提前谢谢。