JSP中使用XMLHttp进行数据交互

王朝java/jsp·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航