gpt4 book ai didi

java - Spring DispatcherServlet 多个实例

转载 作者:搜寻专家 更新时间:2023-10-31 20:29:49 25 4
gpt4 key购买 nike

好的 Spring Gurus...为我分解这个。在阅读有关 Spring MVC 的文档时,我遇到了以下语句:

"....ApplicationContext instances in Spring can be scoped. In the web MVC framework, each DispatcherServlet has its own WebApplicationContext, which inherits all the beans already defined in the root WebApplicationContext. These inherited beans defined can be overridden in the servlet-specific scope, and new scope-specific beans can be defined local to a given servlet instance."

Spring Docs Reference

基于此我有几个问题:

  1. 该声明暗示可以有多个 DispatcherServlet 实例。这完全不是真的,因为在网络应用程序中,只有一个 Servlet 实例可以(并且应该理想地)存在吗?
  2. 在上述声明的上下文中,“特定于 servlet 的范围”到底是什么意思?

最佳答案

Is that not totally NOT true

这翻译成“偶尔为真”,我认为这不是您的意思。

in a web app, only one instance of a Servlet can (and should ideally) exists

这并非完全不正确——只是大部分不正确。你混淆了 <servlet>部署描述符 ( web.xml) 的元素以及实现该 servlet 的类。

确实,除了在某些有限的情况下,容器每个 servlet 只允许实例化类的一个实例。但是,您可以有多个 <servlet>所有指定相同类的条目。

What exactly does "servlet-specific scope" mean in the context of the above statement

作为一个不太好的例子(事实上,我认为很少有好的例子):你可能有一个支持多个客户端的应用程序,每个客户端都有不同的 URL 和不同的数据库,但在其他方面是相同的。您可以在根配置中定义业务对象,在网络应用配置中定义数据源。以及任何特定于客户端的配置 bean。

关于java - Spring DispatcherServlet 多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12237114/

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