当前位置导航:炫浪网>>网络学院>>编程开发>>JAVA教程>>JAVA网络编程

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", "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
相关内容
赞助商链接