Spring MVC为根目录提供404

Spring MVC为根目录提供404,spring,tomcat,spring-mvc,Spring,Tomcat,Spring Mvc,我有一个springmvc应用程序,主要用于提供JSON数据。所有的页面将决定通过角度。我有一个index.jsp,我需要能够查看它,它位于WEB-INF目录的根目录下 因为我通过dispatcher发送所有内容,所以对root的请求将被拾取并通过dispatcher发送。由于没有映射到根目录的控制器,它将被拒绝并抛出404 我的问题是如何允许index.jsp的传递而不中断应用程序的其余部分 <servlet> <servlet-name>cr</serv

我有一个springmvc应用程序,主要用于提供JSON数据。所有的页面将决定通过角度。我有一个index.jsp,我需要能够查看它,它位于WEB-INF目录的根目录下

因为我通过dispatcher发送所有内容,所以对root的请求将被拾取并通过dispatcher发送。由于没有映射到根目录的控制器,它将被拒绝并抛出404

我的问题是如何允许index.jsp的传递而不中断应用程序的其余部分

<servlet>
    <servlet-name>cr</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/conf/spring-controllers.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>cr</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

铬
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
/WEB-INF/conf/spring-controllers.xml
1.
铬
/*

index.jsp
文件放在webcontext的根目录中。然后使用以下过滤器映射:

<servlet-mapping>
    <servlet-name>cr</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

铬
/
/
映射将拾取所有无法解决的请求。在找不到其他映射的情况下,它基本上充当了一个包罗万象的角色。

我也有同样的问题。 web.xml配置:

<servlet>
    <servlet-name>SpringMVC-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:springMVC.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>SpringMVC-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:log4j.properties</param-value>
</context-param>
<mvc:view-controller path="/" view-name="/pages/index"/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/"/>
    <property name="suffix" value=".jsp"/>
</bean>

SpringMVC调度程序
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
类路径:springMVC.xml
1.
SpringMVC调度程序
/
log4jConfigLocation
类路径:log4j.properties
springMVC.xml配置:

<servlet>
    <servlet-name>SpringMVC-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:springMVC.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>SpringMVC-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>classpath:log4j.properties</param-value>
</context-param>
<mvc:view-controller path="/" view-name="/pages/index"/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/"/>
    <property name="suffix" value=".jsp"/>
</bean>

如果正确,路径
/
将获得视图文件
/WEB-INF/pages/index.jsp
,但我得到一个404错误。
最后,我找到了原因。因为在根文件夹中有一个
index.html
文件。当我删除该文件时,它工作正常。

你应该更仔细地清理它,这样看起来就不像“我也有这个问题”,而更像是“这是如何解决问题以及原因”