Spring MVC:警告:在名为';yyy';

Spring MVC:警告:在名为';yyy';,spring,spring-mvc,Spring,Spring Mvc,我正在编写SpringMVC示例。当我使用/它工作得很好。 但是当涉及到/xxx时,它返回警告。 警告:在名为“report”的DispatcherServlet中找不到URI为[/SimpleSpringMVC/index]的HTTP请求的映射。 我已经找到了很多答案,但都不好用 这是我的样品的细节 web.xml 上下文配置位置 类路径:tool.xml org.springframework.web.context.ContextLoaderListener 汇报 org.spring

我正在编写SpringMVC示例。当我使用/它工作得很好。 但是当涉及到/xxx时,它返回警告。 警告:在名为“report”的DispatcherServlet中找不到URI为[/SimpleSpringMVC/index]的HTTP请求的映射。

我已经找到了很多答案,但都不好用

这是我的样品的细节

web.xml


上下文配置位置
类路径:tool.xml
org.springframework.web.context.ContextLoaderListener
汇报
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
/WEB-INF/report-servlet.xml
1.
汇报
/

好的,我不知道tool.xml是做什么的,但我会这样做,在report-servlet.xml
之前把这一行放在report-servlet.xml
中,然后在你的web.xml中放这样的东西:

  <servlet>
        <servlet-name>report</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

 <servlet-mapping>
   <servlet-name>report</servlet-name>
   <url-pattern>/</url-pattern>
 </servlet-mapping>
  <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

当你测试一个控制器时,localhost:8080/report/login/YOURMETHODMAP

你想了解如何配置你的上下文,我的朋友,与其给你一个没有真正帮助的拙劣答案,不如给你一个漂亮的答案:

长话短说的web应用程序上下文是分层的,您的映射被忽略(或多或少)


希望这有帮助。

我想tool.xml根本没有加载,因为它没有包含在web.xml中。通过使用换行符分隔,可以在contextConfigLocation参数值下添加多个值。通过这种方式,您可以有多个xml文件进行配置。谢谢您的回答,我刚刚将其放入report-servlet.xml中,它工作得很好。但我想知道我为什么要这么做?由于ContextLoaderListener是根上下文,所有子容器(如report-servlet.xml)都共享它。所有控制器都必须在xxx-servlet.xml中。
@Controller
@RequestMapping(value="/login")
public class LoginController {
    @RequestMapping(method=RequestMethod.POST)
    @ResponseBody
    public String receiveLoginRequest(@RequestParam String username,@RequestParam String password){
//DO WHAT YOU WANT
    }
}