Jsp中使用xmlhttp进行数据交互

ZDNet软件频道 时间:2008-06-30 作者: |  我要评论()
本文关键词:使用 xmlhttp JSP
Jsp中使用xmlhttp进行数据交互

1.客户端提交请求

Domain = " test.com"
sXml = "<?xml version=""1.0"" encoding=""gb2312"" ?>" &_
     "<Package>" &_
     "<Domain>" & Domain & "</Domain>" &_
     "</Package>"
 Set oD = Server.CreateObject("Microsoft.xmlhttp")
 oD.Open "Post", "False
 oD.Send(sXml)
 
 If oD.Status = 200 Then
  Result = oD.responseText
  Set o = Server.CreateObject("Microsoft.XMLDOM")
  o.LoadXML(Result)
 
  Domain = CInt(o.selectSingleNode("//Result").text)
  Response.Write Domain
  Set o = Nothing
  Set oD = Nothing
 End If

2.服务器端解析数据包

<%@ page import="java.util.*" %>
<%@ page import="java.text.*" %>
<%@ page import="java.io.*" %>
<%@ page import="org.w3c.dom.*" %>
<%@ page import="javax.xml.parsers.*" %>
<%@ page contentType="text/html; charset=gbk" %>
<%
 //获得数据包
 request.setCharacterEncoding("UTF-8");
 BufferedReader in = request.getReader();
 String line;
 String xmlRequest = "";
 String domain_name = "";
 
 while ((line = in.readLine()) != null)
 {
  //构造数据包
  xmlRequest = xmlRequest + line + "n";
 }
 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
 DocumentBuilder db = factory.newDocumentBuilder();
 ByteArrayInputStream stream = new ByteArrayInputStream(xmlRequest.getBytes("UTF-8"));
 Document doc = db.parse(stream);
 Element root = doc.getDocumentElement();
 NodeList Domain = root.getElementsByTagName("Domain");
 if (Domain.getLength() == 1) {
  Element e = (Element) Domain.item(0);
  domain_name = (String) e.getFirstChild().getNodeValue();
 }
//返回数据
 out.println("<?xml version="1.0" encoding="gb2312" ?>n");
 out.println("<Package>n");
 out.println("t<Result>" + domain_name + "</Result>n");
 out.println("</Package>");
%>

3.得到返回结果

test.com


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134