在JSP中使用xmlhttp进行数据交互

开发者在线 Builder.com.cn 更新时间:2007-11-21作者:dxaw 来源:赛迪网

本文关键词: 数据交互 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", "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

查看本文来源

用户评论

  • 用户名
  • 评论内容