我有一个 web.xml 文件,其中包含一个servlet,用于定义 init-param 以指定 contextConfigLocation ,但参数值是 BLANK ?
为什么开发人员会这样做。我不能在我的生活中找到Spring 3.X的文档中的任何内容,它告诉我它有什么影响。
<servlet>
<servlet-name>restservices</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
答案 0 :(得分:3)
默认情况下,DispatcherServlet
将加载名为 [servlet-name] -servlet.xml 的xml文件。
这是在未定义名为init-param
的{{1}}时。
但是在你的情况下,有一个名为contextConfigLocation
的{{1}}被定义,它告诉init-param
只加载委托给父上下文(由{{1加载的那个) }})。
因此,简而言之,定义为contextConfigLocation
或空DispatcherServlet
之间存在差异。
答案 1 :(得分:1)
这只是因为开发人员没有在servlet配置中声明任何内容。 他可能已经在根语境中定义了他所需要的一切。
答案 2 :(得分:0)
阿。通常,调度程序servlet将遵循搜索servlet-name
- servlet.xml以加载WebAppContext的约定。
它可能是(这只是猜测工作因为我不知道你的配置)已经有一个文件restservices-servlet.xml
ContextLoaderListener
applicationContext.xml
(或其等效版本)applicationContext.xml
通常,DispatcherServlet
配置(WebappContext)应包含Controller / ViewResolver bean定义。