专栏首页杂烩springmvc @ResponseBody相关配置

springmvc @ResponseBody相关配置

我想在程序里这么使用

@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;
	}

}

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 分布式服务框架之Dubbo整合Spring项目(三)

            代码粘贴完毕,注意一下dubbo依赖的是spring2.5,需要在pom里处理一下,不然使用别的版本的spring的时候,项目会报错。

    尚浩宇
  • SSM项目搭建一(终) 原

            项目搭建使用的不仅仅只是前面所说的那些,还有一下比如gson或jackson、个人类库、定时器等等,这里就不一一赘述了。下面看整个项目的配置。

    尚浩宇
  • 分布式服务框架之Dubbo整合Spring项目(一)

            先说一下架构,项目采用Maven管理依赖,总共三个项目,一个是接口包common-inter,一个是服务提供者provider,最后一个是服务消...

    尚浩宇
  • 大数据第三天 Hadoop3.2.1

    https://blog.csdn.net/qq_43412289/article/details/89241271

    weifangliuli
  • java爬虫系列第一讲-爬虫入门(爬取动作片列表)

    路人甲Java
  • 性能工具之Jmeter扩展函数及压测ActiveMQ实践

    首先本文将以Java扩展一个返回两个数值之和函数的例子来简单演示整个过程。 总体来说,二次开发扩展JMeter的函数可以分成下面几个步骤:

    高楼Zee
  • jodconverter4.1.0版本改进解析

    jodconverter 4.1.0版本的话,改进了api的结构,同时新增了local以及online的模块,本文就来分析一下。

    codecraft
  • maven仓库之第二篇

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    海仔
  • MyBatis-plus入门Demo详解

    这里我们使用SpringBoot引入依赖,当然非SpringBoot项目的引入也是一样的,为了统一,这里不做过多累述.正如官方所说,mybatis-plus在m...

    Dream城堡
  • mybatis3.2.8 与 hibernate4.3.6 混用

    mybatis、hibernate这二个框架各有特色,对于复杂的查询,利用mybatis直接手写sql控制起来更灵活,而一般的insert/update,hib...

    菩提树下的杨过

扫码关注云+社区

领取腾讯云代金券