您现在的位置:软界网技术中心WEB开发JSP > 技术显示
在JSP中使用xmlhttp进行数据交互
2007-12-1 12:58:27   网友评论       阅读次数 点此评论
   

软件开发网 www.mscto.com

JSP中使用xmlhttp进行数据交互: 软件开发网 www.mscto.com

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

 
      来源: 作者:
 
【评论查看】