在尝试设置spring servlet时获取“WARN org.springframework.web.servlet.PageNotFound – 没有为带有URI的HTTP请求找到映射…”

我正在尝试设置一个Spring MVC项目。 我添加了一个调度程序servlet,一个jsp并设置了web.xml文件。 但我一直在努力

警告org.springframework.web.servlet.PageNotFound – 在名为“HelloWeb”的DispatcherServlet中找不到带有URI [/safesite/WEB-INF/jsp/hello.jsp]的HTTP请求的映射

这是我的web.xml

...  Vaadin production mode productionMode true    org.activiti.explorer.servlet.WebConfigurer    org.springframework.web.context.request.RequestContextListener   UIFilter org.activiti.explorer.filter.ExplorerFilter   JSONPFilter org.activiti.explorer.servlet.JsonpCallbackFilter   UIFilter /o/*   JSONPFilter /service/*   Vaadin Application Servlet org.activiti.explorer.servlet.ExplorerApplicationServlet  widgetset org.activiti.explorer.CustomWidgetset    Vaadin Application Servlet /ui/*   Vaadin Application Servlet /VAADIN/*   HelloWeb  org.springframework.web.servlet.DispatcherServlet  1   HelloWeb *.jsp    480  

这是我的HelloWeb-servlet.xml

        

我的HelloController

  package org.activiti.explorer.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; /** * * @author Fionn */ @Controller public class HelloController { @RequestMapping("/hello") public ModelAndView helloWorld() { String message = "
" + "

********** Hello World, Spring MVC Tutorial

This message is comming from CrunchifyHelloWorld.java **********

"; return new ModelAndView("hello", "message", message); } }

还有我的hello.jsp

         Hello Spring MVC   

我无法想象这一点所以任何帮助将不胜感激。

你似乎错过了

            

请注意我已从xsd文件中删除了该版本,这意味着它将使用jar文件中的模式(如果不兼容,将会出现validation错误)

在@ Nikolay的评论之后,我也注意到你的映射中有一个错误(注意你仍然需要注释驱动元素),你应该将控制器中的映射更改为

 @RequestMapping("/hello.jsp") 

并通过访问它

 /safesite/hello.jsp 

或者 ,更常见的是,将servlet映射更改为

  HelloWeb /  

和访问尼古拉说/safesite/hello so /safesite/hello

我之前有一个类似的问题非常令人困惑,经过一系列测试后,我发现它是DispatcherServlet的url模式。 使用星号进行通配符匹配可能会导致意外行为时要小心,从root“/”或自定义servlet上下文路径“/ foo /”开始是安全的。

请尝试以下方法。

  HelloWeb /  

当我从Spring框架3.X迁移/更新到4.X并使用json(通过Jackson2)作为返回对象并且得到上面的错误时,我收到了该错误。

要解决这个问题,你应该添加

                    

到XXX-servlet.xml文件

在代码上你应该使用MappingJackson2JsonView作为返回值,例如:

 @RequestMapping("/user") MappingJackson2JsonView user() { MappingJackson2JsonView view = new MappingJackson2JsonView(); view.setExtractValueFromSingleKeyModel(true); view.addStaticAttribute("user", new User("Sébastien", "Deleuze")); view.setPrefixJson(true); return view; } 

有关更多示例,请访问: http : //www.programcreek.com/java-api-examples/index.php?api = org.springframework.web.servlet.view.json.MappingJackson2JsonView