文档章节

springmvc 返回xml 数据配置

之渊
 之渊
发布于 2017/04/29 10:27
字数 724
阅读 34
收藏 0

json的 配置就不说了,百度很多,而且json 目前 比xml 格式的好用,而且 用的也比 xml多。 主要是 对xml的配置不明白,所以 玩了一下。 xml 数据返回, 和json 一样 也要导入 对应的 xml解析jar包的。 我用的是

<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-oxm</artifactId>
			<version>4.0.7.RELEASE</version>
		</dependency>
		<!--spring-oxm依赖 -->
		<dependency>
			<groupId>org.codehaus.castor</groupId>
			<artifactId>castor-xml</artifactId>
			<version>1.4.1</version>
		</dependency>

主要我们现在说的不是 返回 xml视图。。。 是 xml数据, 同样 json 也是有 json视图和 json数据的。 视图这些的就更少接触了和使用了,,,无视。 放入配置:

<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 请求映射 -->
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >
		<!-- 使用自定义的输出内容转换器,而不是默认的  -->
		<property name="messageConverters">
			<!--转换器为了响应输出是 字符串还是xml还是json内容给客户端的, 
			响应客户是 xml 格式还是 json格式, 要看 客户端请求头的 Accept 是 json 还是 xml 如果 返回类给客户端的话
			 当然,如果 客户端请求是  application/xml 而xml没有配置好,返回的就是 json 格式的数据
			  -->
			<list>
				<bean
					class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />
				<bean
					class="org.springframework.http.converter.StringHttpMessageConverter">
					<property name="writeAcceptCharset" value="false" />
					<property name="supportedMediaTypes">
						<!--返回客户端string 类型的字符串,UTF-8 编码解决中文乱码  -->
 						<bean class="org.springframework.http.MediaType">  
                            <constructor-arg index="0" value="text" />  
                            <constructor-arg index="1" value="plain" />  
                            <constructor-arg index="2" value="UTF-8" />  
                        </bean>
					</property>
				</bean>		
						
				<bean class="org.springframework.http.converter.xml.SourceHttpMessageConverter" >
					<property name="supportedMediaTypes"> 
						<list> 
							<value>text/html;charset=UTF-8</value> 
							<value>text/plain;charset=UTF-8</value> 
							<value>application/xml;charset=UTF-8</value>
						</list>
					</property>
				</bean>
				
				<!-- 
				为了返回xml格式的数据配置的,目前用不到,参考
				要使用这个 ,需要 将 返回的 实体类 加上xml 对应的注解才可以的  @XmlRootElement 这类的
				可以不用在意,因为xml 很少用,都是用的 json 了
				<bean id="marshallingHttpMessageConverter"
	class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">
	<property name="marshaller" ref="castorMarshaller" />
	<property name="unmarshaller" ref="castorMarshaller" />
	<property name="supportedMediaTypes">
		<list>
			<value>text/xml;charset=UTF-8</value>
			<value>application/xml;charset=UTF-8</value>
		</list>
			</property>
		</bean>  
		--> 
				
				<bean class="org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter" />
				<!-- 返回 json给客户端的转换器  
				 MappingJacksonHttpMessageConverter 已经过时了不要使用
				-->
				 <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
					<property name="supportedMediaTypes"> 
					<list> 
						<value>text/html;charset=UTF-8</value> 
						<value>text/plain;charset=UTF-8</value> 
                		<value>text/json;charset=UTF-8</value>
                		<value>application/json;charset=UTF-8</value>
					</list> 
					</property>				
				</bean>	 	
			</list>			
		</property>
	</bean>
	
	<!-- 
	 返回 xml 传输时候,使用的解析的类 
	 <bean id="castorMarshaller" class="org.springframework.oxm.castor.CastorMarshaller" />  
 	-->

主要说明一下, 如果要返回 实体类 的 xml 格式数据, 要 在 对应的 model 上加上 xml 的对应的注解, 让 xml 解析器知道是 怎么解析的,,否则返回的都是 json格式的。。。哪怕 响应的时候 代码里面 写了 响应是 application/xml 都没有用, 响应的头 还是 application/json 。 我百度看了好多,我一直想要 不使用注解,自动将bean 实体类 给 变成 xml格式的数据, 发现并没有这样的工具类或者是 用法。。。

本文转载自:http://blog.csdn.net/u013632755/article/details/46411789

之渊
粉丝 11
博文 565
码字总数 165175
作品 0
佛山
程序员
私信 提问
Spring Boot 返回 XML 数据,一分钟搞定!

Spring Boot 返回 XML 数据,前提必须已经搭建了 Spring Boot 项目,所以这一块代码就不贴了,可以点击查看之前分享的 Spring Boot 返回 JSON 数据,一分钟搞定!。 你所需具备的基础 什么是...

Java技术栈
2018/12/25
0
0
SpringMVC开发 知识点速查

SpringMVC入门 什么是SpringMVC 实现MVC设计模式的框架 SpringMVC核心组件 DispatcherServlet 前置控制器,调度 Handler 处理器,完成具体业务逻辑 HandlerMapping 将请求映射到Handler,映射...

linxinzhe
2018/05/19
0
0
Archx/spring-agg

#SPRING-AGG 这个一个框架整合案列,包含 SpringMVC/MyBatis/Apache Shiro 。 演示数据 演示数据请导入 db.sql 演示账号密码均为 SpringMVC 配置 演示项目使用的是 RESTful 风格,不是传统的...

Archx
2015/01/12
0
0
Spring Boot中如何扩展XML请求和响应的支持

在之前的所有Spring Boot教程中,我们都只提到和用到了针对HTML和JSON格式的请求与响应处理。那么对于XML格式的请求要如何快速的在Controller中包装成对象,以及如何以XML的格式返回一个对象...

翟永超
2018/09/21
0
0
Spring Boot点滴笔记

Spring Boot导入xml配置文件 使用Spring Boot后再也不想回到一堆xml配置的spring项目中了。但Spring boot有时候也避免不了需要xml配置文件。 可以在启动类中加入@ImportResource Spring Boot...

hutaishi
2017/11/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

利用mybatis generator生成实体类、Mapper接口以及对应的XML文件

项目中通常会遇到数据的持久化,如果是采用mybatis的orm,就会涉及到生成xml的问题,刚好mybatis官网提供了这么个插件MyBatis Generator,效果简直是棒呆。 1. 首先需要在build.gradle文件中...

啊哈关关
今天
2
0
SpringSocial相关的知识点

使用SprigSocial开发第三方登录 核心类 ServiceProvider(AbstractOauth2ServiceProvider):主要负责实现server提供商(例如QQ,微信等共有的东西),默认实现类是AbstractOauth2ServiceProvider...

chendom
今天
1
0
Java并发之AQS详解

一、概述   谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!   类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源...

群星纪元
昨天
2
0
Fabric-sdk-java最新教程

Fabric Java SDK是Fabric区块链官方提供的用于Java应用开发的SDK,全称为Fabric-sdk-java,网上可用资料不多,本文列出了精心整理的针对Fabric Java SDK的最新精选教程。 如果希望快速掌握F...

汇智网教程
昨天
2
0
react 子组件监听props 变化

componentWillReceiveProps //已经被废弃 getDerivedStateFromProps// 推荐使用//如果条件不存在必须要返回null static getDerivedStateFromProps(props, current_stat...

一箭落旄头
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部