所以我在JSP和Servlet方面经验有限。我正在学习Spring框架,特别是Spring MVC,但我发现正确使用spring框架需要一些先决条件知识。
我理解使用弹簧的依赖注入。带有bean声明的spring配置文件对我来说很有意义。该文件是mvc-dispatcher.xml文件。但除了DispatcherServlet声明之外,web.xml中还需要什么?在我正在研究的项目的web.xml中,我看到有一个名为<listener>
和<context-param>
的不熟悉的项目。 web.xml中的这些条目是什么? contextConfigLocation
需要什么?
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring.xml /WEB-INF/plugins.xml /WEB-INF/spring-ext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
答案 0 :(得分:0)
servlet是注册一个servlet实例。在这种情况下,您将创建spring的调度程序servlet,稍后将对其进行配置。
servlet-mapping会将mapp url模式映射到特定的servlet。在您的情况下,您正在注册/注册您的spring servlet,这意味着spring将处理您的应用程序中的所有请求。
listener向servlet容器注册一个侦听器,该容器响应servlet上下文事件。 ContextLoaderListener通过实例化spring上下文来响应正在加载的servlet。此侦听器使用withparam-name“contextConfigLocation”来查找将用于构造上下文的spring .xml文件。
帮自己一个忙,然后转到spring文档获取入门教程,因为这些xml文件的内容和正确的配置都有详细记录。
此外,此配置无论如何都不会完全正常工作,因为servlet本身会查找servlet-mvc-dispatcher.xml文件来配置spring的mvc部分(你可以覆盖它,但这是默认行为) 。 “contextConfigLocation”中的内容是主应用程序上下文,servlet-mvc-dispatcher.xml成为其子上下文。