日期:2014-05-18  浏览次数:20717 次

调用JSP接口,返回XML格式字符串的问题
各位高手,小弟刚学JSP,现在要做一个接口,供别人调用,别人调用的时候,传一个参数过来,然后我这边就根据这个参数查询数据库,将查询的结果生成为XML格式的字符串,返回给调用者。
由于刚学JSP,很多东西不是很明白,望高手指点,最好能给个简单的例子,本人不胜感谢!!

------解决方案--------------------
后台使用JDBC,根据传递的参数查询数据库,将查询的结果request.setAttribute。
XML展示页面用下面语句拼装:
HTML code

<%@ page contentType="text/html" pageEncoding="UTF-8"%>  
<%  
  StringBuffer content = new StringBuffer("");   
  content.append("<?xml version=\"1.0\"   encoding=\"UTF-8\" ?>");  
  content.append("<roots>");  
  content.append("<Data>");  
  content.append(request.getAttribute("data"));  
  content.append("</Data>");  
  content.append("</roots>");  
  response.setCharacterEncoding("UTF-8");  
  out.print(content);  
%>

------解决方案--------------------
如果欲生成的XML文档格式固定,仅仅部分属性或子元素值动态变化,则直接将JSP页面的内容写成XML文档,需要动态变化的地方用${}或<%= %>生成动态内容。
如果连格式都不固定,则最好用Servlet做,不要用JSP做。
------解决方案--------------------
参考ls几位的方法可以。

lz可以写一个servlet,比如别人调用search.do?userid=001.
根据userid到数据库中检索数据,然后把结果集拼成xml格式的字符串,用
PrintWriter out = response.getWriter();
out.write(xml.getBytes());
out.flush();
out.close();

然后别人可以访问,
1.ajax访问,直接url:search.do?userid=001
2.http访问,用HttpURIConnection取获取search.do?userid=001这个请求的返回流,就是xml。


------解决方案--------------------
探讨
参考ls几位的方法可以。

lz可以写一个servlet,比如别人调用search.do?userid=001.
根据userid到数据库中检索数据,然后把结果集拼成xml格式的字符串,用
PrintWriter out = response.getWriter();
out.write(xml.getBytes());
out.flush();
out.close();

然后……

------解决方案--------------------
恩,顶一下。
------解决方案--------------------
这个必须用StringBuffer 
然后把xml的格式一致append就行了