Java 什么';我的Url映射有什么问题?

Java 什么';我的Url映射有什么问题?,java,spring,jakarta-ee,spring-mvc,Java,Spring,Jakarta Ee,Spring Mvc,我正在尝试将几个URL映射到它们各自的控制器,如下所示: /index.html => HomeController /login/index.html = LoginController servlet xml中的映射bean如下所示: <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings">

我正在尝试将几个URL映射到它们各自的控制器,如下所示:

/index.html => HomeController
/login/index.html = LoginController
servlet xml中的映射bean如下所示:

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <map>
            <entry key="/index.html">
                <ref bean="homeController" />
            </entry>
            <entry key="/login/index.html">
                <ref bean="loginController" />
            </entry>
        </map>
    </property>
</bean>

您的URL映射是
/login/index.html
,您正在导航到
/login

您的URL映射必须与URL匹配。将映射更改为
/login

编辑:好的,
web.xml
中的
url模式
只捕获索引页,因此它从不向Spring发送
/login
请求。您需要将模式扩展为
/*
(它将向Spring发送每个请求),或者添加多个模式以覆盖希望Spring处理的每个URL


另外,您的
欢迎文件列表有点过多。你真的需要这些吗?

这个不行。我是否需要更改web.xml中的servlet映射?可能需要。你的
web.xml
?嗯..当我将模式更改为/*时,控制台上出现以下错误:在名为“myServlet”的DispatcherServlet中找不到URI为[/my app/]的HTTP请求的映射…是的,我同意我的欢迎文件列表异常奇怪..我通过将模式“/login”添加到我的servlet映射中使其正常工作。出于某种原因,只有在web.xml和servlet映射中省略登录页面的“.html”时,它才会起作用。这让人困惑,因为它将主页捕获为“index.html”。。。
<servlet>
    <servlet-name>myServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>myServlet</servlet-name>
    <url-pattern>/index.html</url-pattern>
</servlet-mapping>

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
</welcome-file-list>