使用Maven在Spring MVC Web应用程序的web.xml中向<context-param>添加值时,应用程序无法正常工作</context-param>

时间:2014-01-04 09:33:19

标签: xml spring maven spring-mvc

我正在使用Spring Mvc创建一个Web应用程序。

当我没有为 web.xml 中的 context-param 提供价值时,我遇到了类似的问题 然后索引页能够显示但是当我在 web.xml 中为 context-param 提供价值时,索引页没有显示。

web.xml: - 不为context-param提供值

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
          http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
          version="2.5">    

    <display-name>Core Web Application</display-name>

    <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>

    <welcome-file-list>
            <welcome-file>/WEB-INF/pages/index.jsp</welcome-file>
    </welcome-file-list>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
        </param-value>
    </context-param>

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

当我尝试 localhost:8080 / CoreWebApp / 时,我得到了index.jsp

web.xml: - 当我为context-param

提供价值时
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
          http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
          version="2.5">    

    <display-name>Core Web Application</display-name>

    <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>

    <welcome-file-list>
            <welcome-file>/WEB-INF/pages/index.jsp</welcome-file>
    </welcome-file-list>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
                    /WEB-INF/applicationContext.xml
        </param-value>
    </context-param>

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

当我尝试 localhost:8080 / CoreWebApp / 时,我没有收到index.jsp。

Please help me to find out the problem.

My Project Structure is as :-
 CoreWebApp
   |_______________ pom.xml
   |
   |_______________ src
   |                 |_____________ main
   |                                 |___________ java
   |                                 |___________ resources
   |                                 |___________ webapp
   |                                                |____ WEB-INF
   |                                                        |_____ applicationContext.xml
   |                                                        |
   |                                                        |_____ mvc-dispatcher-servlet.xml
   |                                                        |
   |                                                        |_____ web.xml
   |                                                        |
   |                                                        |_____ pages
   |                                                                |________ index.jsp
   |
   |______________ target

2 个答案:

答案 0 :(得分:0)

检查日志中是否有例外,并将其添加到问题中。 此外,Spring MVC还搜索名称为"<the name of the dispatcher servlet>+-servlet"的xml配置 尝试将applicationContext.xml重命名为mvc-dispatcher-servlet.xml并相应地更改路径。

答案 1 :(得分:0)

你的spring Servlet有一个“/”的映射 那是索引页面的路径。