Java 警告:在名为“spring”的DispatcherServlet中找不到URI为[/Spring3MVC/hello.html]的HTTP请求的映射

Java 警告:在名为“spring”的DispatcherServlet中找不到URI为[/Spring3MVC/hello.html]的HTTP请求的映射,java,spring,spring-mvc,Java,Spring,Spring Mvc,为什么会发生这种情况 "WARNING: No mapping found for HTTP request with URI [/Spring3MVC/hello.html] in DispatcherServlet with name 'spring' " 我的web.xml是 为什么上面的警告正在发出而没有击中控制器 org.springframework.web.servlet.DispatcherServlet noHandlerFound WARNING: No mapping f

为什么会发生这种情况

"WARNING: No mapping found for HTTP request with URI [/Spring3MVC/hello.html] in DispatcherServlet with name 'spring' "
我的web.xml是 为什么上面的警告正在发出而没有击中控制器

org.springframework.web.servlet.DispatcherServlet noHandlerFound
WARNING: No mapping found for HTTP request with URI [/Spring3MVC/hello.html] in DispatcherServlet with name 'spring'.

尝试添加。

我认为问题应该是ModelAndView应该是 ModelAndViewhello.jsp,message,message如果不是,它将与viewResolver的patter.jsp不匹配。

您需要。把它加在后面 . 这将注册spring默认HandlerMapping和HandlerAdapter,这是向控制器发送请求所必需的

<a href="hello.html">Say Hello</a>
这将查找一个mapping/hello.html,但它没有映射到控制器中的任何位置,这就是您出现此错误的原因

请注意,所有请求都通过dispatcherServlet,它将从请求映射的注册地址中查找每个url或操作。如果和url或资源映射未映射或注册,则会出现此错误


其次,viewResolver在解析每个pafe之后追加.jsp。因此,当被请求时,spring将显示的实际页面将是hello.html.jsp

Spring3MVC是您的war?Spring3MVC的名称。这是项目名称,正在使用eclipse.not进行测试。我以前用过。ServletSpring的HTTP状态500-Servlet.init引发异常。browserbut上显示错误,并显示hello why not映射。我已经展示了上面的所有代码。首先@minion是正确的,您也需要注释驱动。它不映射hello,因为在视图解析器中,您要求只解析带有.jsp后缀的视图,因为您的modelandview请求的是一个非.jsp后缀视图,它不会处理它。我想!
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    <a href="hello.html">Say Hello</a>
</body>
</html>
<html>
<body>
    <h1>Message : ${message}</h1>   
</body>
</html>
package net.viralpatel.spring3.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HelloWorldController {

    @RequestMapping("/hello")
    public ModelAndView helloWorld() {

        String message = "Hello World, Spring 3.0!";
        return new ModelAndView("hello", "message", message);
    }
}
org.springframework.web.servlet.DispatcherServlet noHandlerFound
WARNING: No mapping found for HTTP request with URI [/Spring3MVC/hello.html] in DispatcherServlet with name 'spring'.
<a href="hello.html">Say Hello</a>