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

解决方案 »

  1.   

    后台使用JDBC,根据传递的参数查询数据库,将查询的结果request.setAttribute。
    XML展示页面用下面语句拼装:<%@ 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文件了。
      

  2.   

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

  3.   

    参考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。
      

  4.   

    恩,上面都回答了,good luck!
      

  5.   

    这个必须用StringBuffer 
    然后把xml的格式一致append就行了