No mapping found for HTTP request with URI [/xxx/xxx] in DispatcherServlet

    这个错误,花我好几个小时,才发现问题所在,所以记录下来,以防有人遇到跟我一样的问题,也防止以后自己再次出现同样的问题。

前端的JavaScript代码如下:

function getJsonData(){
				$.ajax({
					// 传输数据的方式:POST/GET
					type : "post",
					// 请求URL
					url : "${pageContext.request.contextPath}/json/getData",
					// 请求的数据类型
					contentType : "application/json;charset=utf-8",
					// 传输到后台的数据
					data : '{"userName" : "wumingshi", "gender" : "male"}',
					dataType : "json",
					// 请求成功
					success : function(data){
						alert(data.userName + ", " + data.gender);
						console.log("服务器传输到前台的数据:" + data);
					}
				});
			}

后台的java代码如下:

@Controller
@RequestMapping("/json")
public class JsonHandlerController {

	@RequestMapping(name = "/getData", method = RequestMethod.POST)
	public @ResponseBody Person getData(@RequestBody Person person) {
		System.out.println("姓名:" + person.getUserName() + ", 性别:" + person.getGender());
		
		return person;
	}
}

我怎么都没发现错误出现在哪,倒是我发现在eclipse启动时的启动信息中,发现如下信息:


我的请求应该是/json/getData才对,情动信息里只用/json是什么原因。

然后,我把配置在类上@RequestMapping去掉之后,重新再启动,就发现如下:


这里发现就只有一个[]括号了,怎么回事,按理说应该是/getData,问题就是出现在这了,如下


应该把@RequestMapping中的name属性该为value属性,就好了。

        当然,出现这种错误的原因很多,还有配置方面等等其他原因也有可能出现这种错误,我只是把我出现这种错误提出而已,希望对大家有用。

猜你喜欢

转载自blog.csdn.net/xingkongdeasi/article/details/79946455