问题描述
|
在我一直在使用的Web服务中,我一直通过类似HTML的方法在屏幕上显示文本:
@GET
@Produces(MediaType.TEXT_HTML)
public String sayHtmlHello()
{
/**Do some stuff
return \"<html> \" + \"<title>\" + \"Hello\" + \"</title>\"
+ \"<body><h1>\" + \"Hello World\" + \"</h1></body></html>\";
}
可以很好地显示在屏幕上为了适合我正在从事的项目的项目描述,我一直在努力通过构建文档,将其转换为字符串并返回字符串来实现XML输出。使用@Produces(MediaType.TEXT_XML)可以像我期望的那样显示XML树。
我的问题来了:我需要能够使用项目描述称为application / xml; charset = UTF-8的响应内容类型标头传递此XML数据。那么,我需要做什么来使用@Produces(MediaType.APPLICATION_XML)而不是@Produces(MediaType.TEXT_XML)来适应呢?
解决方法
application/xml
通常是首选的mime类型。对于text/xml
,无论XML文档标头中指定了什么(除非在HTTP标头中另行指定),似乎编码通常都将被视为us ascii
。
了解更多信息:
http://www.grauw.nl/blog/entry/489
http://www.imc.org/ietf-xml-mime/mail-archive/msg00496.html
,对主要由程序处理的文档使用application / xml。将text / xml用于文档,这些文档也供除调试之外的其他目的而供人阅读。我相信这在RFC 2046中已涵盖。