18

我是Spring MVC的新手。我有一个网络应用程序。我有以下配置:

<welcome-file-list>
    <welcome-file>list.html</welcome-file>
</welcome-file-list>
<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>


我是否需要将以下行添加到web.xml文件中?

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

4 回答 4

26

是的,您需要添加ContextLoaderListenerweb.xml您想在加载应用程序时加载其他 Spring 上下文 xml 文件并且您可以将它们指定为

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/spring-security.xml
    </param-value>
</context-param>
于 2012-06-13T12:26:27.927 回答
15

仅当您有两个配置 xml 文件时。一个带有服务/DAO,另一个带有控制器。如果您在一个 spring 配置文件中配置了所有内容,则不需要ContextLoaderListener,只需调度程序 servlet 就足够了。

建议将配置拆分为两部分,并使用ContextLoaderListener来创建根应用程序上下文,并使用调度程序 servlet 来创建 Web 层应用程序上下文。

于 2012-06-13T12:30:19.697 回答
6

它是可选的,你真的不需要它只是为了 Spring MVC(DispatcherServlet会做)。但是必须在 Spring MVC 中添加 Spring 安全性

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

仅此一句,如果使用,ContextLoaderListener您将必须添加DelegatingFilterProxy

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

<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/admin</url-pattern>
</filter-mapping>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>     
    /WEB-INF/spring-security.xml
    </param-value>
</context-param>

在你的 web.xml 中也是如此。抱歉晚了四年。干杯

于 2016-08-08T19:30:56.707 回答
0

这可能有点高级,在我的企业应用程序中,他们构建了自己的侦听器类并放入 web.xml。在启动时,这个定制的监听器将扫描应用程序以收集所有信息,包括资源、外部连接、服务器信息 ip、jar 等。这些信息可以在网页中访问。

于 2019-03-23T13:06:45.320 回答