没有找到带有URI Spring MVC的HTTP请求的映射

这是我的Web.xml

dispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring/servlet-context.xml 1

 dispatcherServlet /*    org.springframework.web.context.ContextLoaderListener   

我的servlet-context.xml

    /WEB-INF/views/   .jsp   

最后是Handler类。 它位于com.springexample.controller.impl下

 @Controller public class IndexControllerImpl implements IndexController { @RequestMapping("/") public String index() { return "index"; } } 

但是在转到localhost:8080/projectname/

它返回404错误。

  Jul 27, 2013 8:18:31 PM org.springframework.web.servlet.DispatcherServlet noHandlerFound WARNING: No mapping found for HTTP request with URI [/tasklist/WEB-INF/views/index.jsp] in DispatcherServlet with name 'dispatcherServlet' Jul 27, 2013 8:18:37 PM org.springframework.web.servlet.DispatcherServlet noHandlerFound WARNING: No mapping found for HTTP request with URI [/tasklist/index] in DispatcherServlet with name ' 

这是我的项目结构

项目结构

通过配置web.xml,您可以了解问题,特别是:

  dispatcherServlet /*  

对您的Web应用程序发出的所有请求都将被定向到DispatcherServlet 。 这包括/tasklist/ /tasklist/some-thing.html/tasklist/WEB-INF/views/index.jsp

因此,当您的控制器返回指向.jsp的视图时, DispatcherServlet不会允许您的服务器容器为请求提供服务,而是跳入并开始寻找可以为此请求提供服务的控制器,它没有找到任何因此404

最简单的解决方法是让servlet url映射如下:

  dispatcherServlet /  

注意缺少的* 。 这告诉容器任何没有path info请求(最后没有.xxx的URL)都应该发送到DispatcherServlet 。 使用此配置,当收到xxx.jsp请求时, xxx.jsp查询DispatcherServlet ,并且您的servlet容器的默认servlet将为请求提供服务并按预期显示jsp。

希望这有帮助,我意识到你之前的评论声明问题已经解决,但解决方案不能只是将method=RequestMethod.GET添加到RequestMethod

首先检查[PROJECT_NAME] \ target \ classes目录中是否编译了java类。

如果没有,你的java类中有一些编译错误。

我有同样的问题….我改变我的项目名称,我有这个问题…我的解决方案是检查项目refences和使用/在我的web.xml(而不是/*

尝试在索引方法中传递Model对象,它将工作 –

 @RequestMapping("/") public String index(org.springframework.ui.Model model) { return "index"; } 

实际上,spring容器在映射方法中查找Model对象。 如果找到相同的内容,它会将返回的String作为视图传递给View解析器。

希望这可以帮助。

  dispatcher /  

嘿请在你的web.xml中使用/(而不是/ *)

  dispatcher /*  

改成:

  dispatcher /  

我添加了带有context.xml的META-INF文件夹

   

SpringGradleDemo是我的项目名称,它可以工作。 我的servlet映射是“/”我在这里阅读https://tomcat.apache.org/tomcat-5.5-doc/config/context.html