首页 > 代码库 > 关于springmvc json交互产生的406错误
关于springmvc json交互产生的406错误
产生错误的背景:springmvc使用<mvc:annotation-driven>进行配置,那么只要引入响应的json解析包就可以了。在pom中已经引入了如下:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.8.5</version> </dependency>
web.xml配置DispatcherServlet如下:
<servlet> <servlet-name>front</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>front</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping>
上面的配置是正确的。但是当使用@ResponseBody注解要返回json数据的方法然后进行访问时,就出现了406错误。
解决方法:错误在于url-pattern。当改为其他后缀时就能成功访问,例如.do、.action。这是因为如果后缀为.html、.htm、.xhtml时,springmvc会将content-type设置为text/html,正确的是application/json,此时返回json对象就出错了。
关于springmvc json交互产生的406错误
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。