WEB中基于XMLHTTP的简单实例分析

  1. 2006-01-19 @ Tag WEB开发   人气:1283
     

    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", "http://Server/Domain_Check.jsp", 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


感谢易载提供各种支持!
文章分类