如何输出xml到页面,只用servlet不用jsp

jxwnhj0717 2010-10-08 10:06:57

hc.response.setContentType("text/xml; charset=UTF-8");
PrintWriter pw = hc.response.getWriter();
pw.append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n")//
.append("<results>\n")//
.append("<ret>").append(retMap.get("ret").toString()).append("</ret>\n")//
.append("<ret_msg>").append(retMap.get("ret_msg").toString()).append("</ret_msg>\n")//
.append("</results>");
pw.flush();


上面是我的代码,但是输出效果不理想
1.我的浏览器的编码是GB2312,怎样让他自动选择UTF-8.
2.页面显示的不是个xml文件,而是<ret></ret>和<ret_msg></ret_msg>之间的两个值,是我的xml输出错误了吗?
...全文
84 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
shixitong 2010-10-08

这个是结果
回复
shixitong 2010-10-08
package com.excel.tools;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class XmlServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {

resp.setContentType("text/xml");
resp.getWriter().append("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n").append("<results>\n")
.append("<ret>").append("1111").append("</ret>\n")//
.append("<ret_msg>").append("2222").append("</ret_msg>\n")//
.append("</results>");
resp.getWriter().flush();
resp.getWriter().close();

}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(req, resp);
}

}

这样是可以的
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-08 10:06
社区公告
暂无公告