gpt4 book ai didi

spring - 我们可以更改 DispatcherServlet 上下文配置文件名吗?

转载 作者:IT老高 更新时间:2023-10-28 13:53:23 24 4
gpt4 key购买 nike

在 Spring web mvc 中

1) 如果我们定义 DispatcherServlet 如下

<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>

它会在 spring 引用中提到的 WEB-INF 文件夹下查找名为 appServlet-servlet.xml 的文件。

我的问题是我们可以更改它要查找的文件名位置吗? (我认为使用上下文或初始化参数我们可以做到这一点,任何人都可以告诉我它到底应该是什么吗?)

2) 在每一个spring web mvc web.xml中,我们都会有下面一行:

    <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

在这里,我的问题是它要查找哪些上下文文件? (这是寻找 dispatcherservlet-servlet.xml 的上下文加载监听器吗?)

3) dispatcherservlet-servlet.xmlapplicationcontext.xml 的区别? (我看到了一些例子......人们将 applicationcontext.xml 导入 dispatcherservlet-servlet.xml 的地方?)

4) 请告诉我我们可以为 Spring Web 提供多少个上下文,是否有任何命名约定(如调度程序 servlet)?/

最佳答案

  1. "命名空间也可以通过 namespace servlet init-param 显式设置。"你可以在那里设置任何你想要的路径,相对于上下文根

  2. 不,ContextLoaderListener 查找 applicationContext.xml(或由上下文参数 contextConfigLocation 指定的文件。再次路径是相对于上下文根的。我通常将我的放在 /WEB-INF/classes/applicationContext.xml 中,并将其设置为上下文参数的值。

  3. dispatcherServlet-servlet.xmlapplicationContext.xml 定义的子上下文。子上下文可以从父上下文访问 bean,但反之则不然。所以想象一下,你有一个“网络”上下文,包含所有 Controller 和与网络相关的东西,还有一个“主”上下文,包含所有其他内容

  4. 建议使用尽可能少的上下文(为了简单起见)。但是您可以定义多个调度程序 servlet,因此有多个“子”上下文。

关于spring - 我们可以更改 DispatcherServlet 上下文配置文件名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3744520/

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