遇到奇怪的问题,使用@ResponseBody注解,返回数据的时候出错,报错信息为数组越界。
原因为,responsebody标签spring在处理的时候,在StringHttpMessageConverter类中写如了过多的charset,写入部分的代码如下。
然后就在
StreamUtils.copy(s, charset, outputMessage.getBody());
这里的时候数组越界了,因为被tomcat截取了head的部分内容。
相关内容看https://jira.springsource.org/browse/SPR-7316
解决方式1或者2或者3
1、配置spring默认写入头部的编码。
2、配置连接器的最大http头部分大小。默认是4k。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8" maxHttpHeaderSize="8192"/>3、升级spring版本
相关推荐
在开发Web应用时,我们经常会遇到一个问题:当使用Spring MVC的`@ResponseBody`注解将后端处理结果直接转化为HTTP响应体时,如果这个结果中包含HTML特殊字符,如尖角号、引号、按位与符号等,浏览器可能会误解析,...
- 如果返回的是静态内容,考虑使用`@GetMapping`或`@PostMapping`等简化版的注解,它们默认已经包含了`@ResponseBody`的效果。 - 对于大型项目,自定义`MessageConverter`以优化序列化性能或添加自定义头部信息。 ...
--处理 @ResponseBody 中文乱码问题 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <!-- Support...
在Spring MVC框架中,`@RequestBody` 和 `@ResponseBody` 是两个非常重要的注解,它们在处理HTTP请求和响应时起到了关键作用。本篇文章将详细解释这两个注解的工作原理、使用场景以及如何实现Java对象与XML/JSON数据...
Springmvc前后台数据数组绑定,list超过了256时,会报错,如何解决?该文给出了说明
@ResponseBody public String save(@RequestParam(value = "titles[]") String[] titles){ System.out.println(titles); return null; } ``` 在上面的示例中,我们使用 `@RequestParam` 注解来接收数组参数,并将...
在Spring MVC 4.x版本中,开发者可以使用@ResponseBody注解来简化控制器层向客户端返回JSON格式数据的过程。 ### @ResponseBody注解使用方法 @ResponseBody注解可以作用于方法上,它会指示Spring MVC框架将该方法...
这里,`@ResponseBody`使得`User`对象被转换成JSON格式,直接返回给客户端,而不是通过视图解析器查找对应的视图模板。 Spring MVC提供了多种`HttpMessageConverter`,包括处理XML的`Jaxb2...
本文将详细介绍如何解决SpringMVC中`@ResponseBody`注解返回中文乱码的问题。 首先,我们可以尝试使用`@RequestMapping`注解的`produces`属性来指定响应内容的MIME类型和字符集。例如: ```java @RequestMapping...
标题中的“Spring MVC – Easy REST-Based JSON Services with @ResponseBody”是指使用Spring MVC框架构建基于REST的JSON服务,并通过使用`@ResponseBody`注解来简化这一过程。REST(Representational State ...
在 SpringMVC 中,使用 @RequestBody 注解可以将请求体中的数据转换为 Java 对象,但是在使用 map 接收请求参数时,经常会遇到一些问题。本文将讨论如何快速解决 SpringMVC @RequestBody 用map接收请求参数的问题。 ...
springmvc+国际化i18N+springmvc验证+jetbrick-template使用+@responsebody+谷歌guava: 1)围绕springmvc做的国际化 2)围绕springmvc做的验证 3)使用的jetbrick-template模板引擎 ……
SpringMVC 中使用 @PathVariable 绑定路由中的数组的方法 在 SpringMVC 中,使用 @PathVariable 绑定路由中的数组是一种常见的需求,特别是在批量删除功能时,需要传递一个数组给后台,以便删除多条数据。在本文中...
描述中提到的"springmvc进行Jason数据封装转化时可以即使用也是@responsebody",指的是在Spring MVC的控制器(Controller)中,我们可以使用`@ResponseBody`注解配合Jackson库,实现将Java对象直接转换为JSON格式的...
1)spring MVC 中@ResponseBody需要的所有JAR包 2)性能还不错的模板引擎jetbrick-template-2.x 2.x的所需的所有jar包 3)日志jar包:slf4j和logback 所有 4)阿里 druid 连接池jar包 5)mysql数据库链接驱动jar包 6...
Spring MVC注解之@ResponseBody和@RequestBody详解 在Spring MVC框架中,@ResponseBody和@RequestBody是两个非常重要的注解,它们分别用于处理HTTP请求响应体和请求体的序列化和反序列化。下面,我们将详细介绍这两...
在示例中,如果没有`@ResponseBody`,我们需要手动处理JSON序列化,就像`writeJson`方法那样。但是有了`@ResponseBody`,我们可以简化这个过程,让Spring MVC自动完成这个任务。 在使用`@RequestBody`接收多层嵌套...
主要介绍了SpringMVC @ControllerAdvice使用场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
springMVC @ResponseBody 请求返回数据406错误,缺少json格式转换jar包 jackson-annotations-2.5.3.jar jackson-core-2.5.3.jar jackson-databind-2.5.3.jar
本教程将指导你如何搭建一个非Maven的SpringMVC项目,主要关注@RequestBody和@ResponseBody的配置。 首先,让我们了解SpringMVC的基本结构。一个标准的SpringMVC项目通常包含以下几个关键部分: 1. **src目录**:...