项目上遇到请求一个post,响应406问题,这里做个总结:
有个请求url:(post请求)
注:我的请求结果是要得到一个json格式字符串
但响应结果是:
<html>
<head>
<title>Apache Tomcat/7.0.47 - Error report</title>
<style>
<!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name
{color : black;}HR {color : #525D76;}-->
</style>
</head>
<body>
<h1>HTTP Status 406 - </h1>
<HR size="1" noshade="noshade" />
<p><b>type</b> Status report</p>
<p><b>message</b> <u></u></p>
<p><b>description</b> <u>The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers.</u></p>
<HR size="1" noshade="noshade" />
<h3>Apache Tomcat/7.0.47</h3>
</body>
</html>
即:
解决办法:
- 查看Jackson包是否存在。
-
springmvc默认行为:
- 如果后缀是html是不能响应json数据的。
- 所以需要修改后缀名,如可改为".action"或者".do"。
- 需在web.xml中配置,拦截请求的映射:
重新访问:
响应结果:
解决!!!