文档章节

springmvc @ResponseBody相关配置

尚浩宇
 尚浩宇
发布于 2015/11/03 15:05
字数 288
阅读 5040
收藏 13

我想在程序里这么使用

@RequestMapping("/list")
	@ResponseBody
	public List<String> getList(){
		List<String> list=new ArrayList<String>();
		list.add("哈哈");
		list.add("哈哈");
		list.add("哈哈");
		list.add("哈哈");
		list.add("哈哈");
		return list;
	}

所以我需要进行一些配置,首先加入依赖

<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
			<version>2.6.3</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.6.3</version>
		</dependency>
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-core-lgpl</artifactId>
			<version>1.9.13</version>
		</dependency>
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>1.9.13</version>
		</dependency>
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-core-asl</artifactId>
			<version>1.9.13</version>
		</dependency>
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.3.1</version>
		</dependency>

然后配置springmvc的配置文件

<!-- @ResponseBody注解支持-开始 -->
	<bean id="mappingJacksonHttpMessageConverter"
		class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
		<property name="supportedMediaTypes">
			<list>
				<value>application/json;charset=UTF-8</value>
			</list>
		</property>
	</bean>
	<bean
		class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
	<bean
		class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
		<property name="messageConverters">
			<list>
				<bean id="utf8StringHttpMessageConverter"
					class="test.util.UTF8StringHttpMessageConverter" />
					<ref bean="mappingJacksonHttpMessageConverter" />
			</list>
		</property>
	</bean>
	<!-- @ResponseBody注解支持-结束 -->

注意其中的UTF8StringHttpMessageConverter

public class UTF8StringHttpMessageConverter extends StringHttpMessageConverter {
	private static final MediaType utf8 = new MediaType("text", "plain", Charset.forName("UTF-8"));
	private boolean writeAcceptCharset = true;
	@Override
	protected MediaType getDefaultContentType(String dumy) {
		return utf8;
	}

	protected List<Charset> getAcceptedCharsets() {
		return Arrays.asList(utf8.getCharSet());
	}

	protected void writeInternal(String s, HttpOutputMessage outputMessage)	throws IOException {
		if (this.writeAcceptCharset) {
			outputMessage.getHeaders().setAcceptCharset(getAcceptedCharsets());
		}
		Charset charset = utf8.getCharSet();
		FileCopyUtils.copy(s, new OutputStreamWriter(outputMessage.getBody(), charset));
	}

	public boolean isWriteAcceptCharset() {
		return writeAcceptCharset;
	}

	public void setWriteAcceptCharset(boolean writeAcceptCharset) {
		this.writeAcceptCharset = writeAcceptCharset;
	}

}

到此配置完成,留作备忘。

© 著作权归作者所有

尚浩宇

尚浩宇

粉丝 70
博文 151
码字总数 126696
作品 4
朝阳
程序员
私信 提问
@ResponseBody响应JSON 406

搭建SpringMVC(4.1),但是搭建完成以后发现使用@ResponseBody的ajax无法访问,总是出现406的问题。 首先怀疑的是配置问题,经过查明,影响SpringMVC的@ResponseBody注解的是: <mvc:annotat...

冷冷gg
2015/09/27
659
0
SpringMVC中AJAX请求出现406

这几天因为需要搭建SpringMVC,但是搭建完成以后发现使用@ResponseBody的ajax无法访问,总是出现406的问题。 首先怀疑的是配置问题,经过查明,影响SpringMVC的@ResponseBody注解的是: <mvc...

国士
2015/01/12
6K
1
SpringMVC 配置@responsebody返回的只有父类属性,求解

SpringMVC 配置@responsebody返回json中的只有父类属性,求解使用的是springmvc 3.2.11,jackson2.1.5 ,springmvc的xml中没有任何直接相关Jackson的配置 对于TreeEtity生成的List集合在调试...

散步留馨
2015/12/17
1K
9
Spring mvc中@Requestmapping参数配置

原文标题[ Spring mvc中@Requestmapping再探] 1) 普通path路径 @RequestMapping(value = "/foos") @ResponseBody public String getFoosBySimplePath() { return "Get some Foos"; } 然后尝试......

guhai2004
2013/10/20
31.2K
0
Video-No.01 李守宏_SpringMVC基础与应用视频教程

1、SpringMVC基本配置 1)引入spring Jar包 2)配置web.xm文件,加载SpringMVC配置 <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc......

蓝汀华韶
2015/03/22
487
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
15
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部