function AddDataPost(xfile, xuser, xpass, xtime, xauth)
{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP") ;
xuser = urlencoding(xuser) ;
xpass = urlencoding(xpass) ;
xtime = urlencoding(xtime) ;
xauth = urlencoding(xauth) ;
var strInfo = "user=" + xuser + "&pass=" + xpass + "&auth=" + xauth + "&SavedTime=" + xtime ;
xmlhttp.open("POST", xfile, false) ;
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") ;
xmlhttp.send(strInfo) ;
return bytes2BSTR(xmlhttp.responseBody) ;
}
{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP") ;
xuser = urlencoding(xuser) ;
xpass = urlencoding(xpass) ;
xtime = urlencoding(xtime) ;
xauth = urlencoding(xauth) ;
var strInfo = "user=" + xuser + "&pass=" + xpass + "&auth=" + xauth + "&SavedTime=" + xtime ;
xmlhttp.open("POST", xfile, false) ;
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") ;
xmlhttp.send(strInfo) ;
return bytes2BSTR(xmlhttp.responseBody) ;
}
解决方案 »
- 反射机制
- Java web邀请函!
- 50分悬赏Jaoso框架高手!!!
- 大侠们能帮我看看吗!这个问题我搞了几天了!
- jsp在线人数统计和在线用户名的显示?
- JSP文件加密:把jsp编译后的class文件留给他们,在web.xml中配置每个class映射成原来的那个jsp名称。如何配置?
- jfreechart中Y轴坐标的问题,在线等
- Linux下用java 调用 C类库实战 视频
- 求教:Extjs 与SpringMVC的jackson转换的json串
- 关于运行javabean的简单问题
- Tomcat5.5已经配置好连接池,但我想对使用情况监控一下,如何实现
- 能承受大量数据访问,用什么连接池较好,还是自己写(我可能没这功底).请赐教!
dim strReturn
dim i,ThisCharCode,NextCharCode
strReturn = "" For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next bytes2BSTR = strReturn
End Function
// XML Http Function //
////////////////////////////
function postXmlDocument(sUri, xmlDoc) {
var xmlHttp = XmlHttp.create();
var async = true;
xmlHttp.open("POST", sUri, async);
xmlHttp.setRequestHeader("Content-Type","text/xml");
xmlHttp.setRequestHeader("charset","UTF-8");
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4)
postHandleCallback(xmlHttp.responseText); // responseXML : XmlDocument
}
xmlHttp.send(xmlDoc);
}
Servlet端代码,只需要把xml流读进来,然后直接进行解析处理就可以了 SAXReader xmlReader = new SAXReader();
InputStream in = ServletActionContext.getRequest().getInputStream();
document = xmlReader.read(in);下面是对xml文档的遍历for (Iterator i = root.elementIterator(modelName); i.hasNext();) {
Element element = (Element) i.next();
Object entityIns = instanceModel(modelName);
Iterator subnodes = element.elementIterator();
while (subnodes.hasNext()) {
Element subnode = (Element) subnodes.next();
dynamicPopulate(subnode.getName(), subnode.getText(), entityIns);
}}
客户端页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD><BODY>
<script language="javascript">
var XML="<root><test>阿1</test><test>阿2</test></root>"
var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
var xmlDoc=new ActiveXObject("Msxml2.DOMDocument");
function test(){//客户端xml的解析
xmlDoc.loadXML(XML);
if(xmlDoc.parseError.line>0){
throw xmlDoc.parseError.reason;
}
var nodes= xmlDoc.selectNodes("/root/test");
for(var i=0;i<nodes.length;i++){
alert(nodes.item(i).text);
}
}function action(){//客户端和服务端的通讯
xmlHttp.open("post","http://127.0.0.1:8080/tsefweb/TransImpl",false);
xmlHttp.setRequestHeader("context-type","text/xml;charset=utf-8");
xmlHttp.send(XML);
var showstr=xmlHttp.responseText;
alert(showstr);
}
function actionit(){
try{
action();
}catch(e){
alert("出错啦!");
alert(e);
}
}
</script>
<button onclick="test();">查看将要传输的xml</button><br>
<button onclick="action();">朝服务器传送xml,并接收服务器回应</button>
</BODY>
</HTML>servlet的代码:
package com.ebt.tsef.struts.servlet;import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.dom4j.io.*;
import org.dom4j.*;public class TransImplServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/xml;charset=utf-8";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
request.setCharacterEncoding("utf-8");
InputStream is = request.getInputStream(); SAXReader reader = new SAXReader();
Document doc = null;
try {
doc = reader.read(is);
} catch (Exception ex) {
System.out.println(ex);
}
String[] s = getElementTexts(doc, "test");
PrintWriter out = response.getWriter();
out.println(
"The servlet has received a POST.中文:"
+ s[0]+" and "+s[1]
+ " This is the reply.");
} public void doPost(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
} private String getElementText(Document doc, String name) {
return doc.getRootElement().element(name).getText();
} private String[] getElementTexts(Document doc, String name) {
List l = doc.getRootElement().elements(name);
Iterator it = l.iterator();
List l1 = new LinkedList();
while (it.hasNext()) {
Element e = (Element) it.next();
l1.add(e.getText());
}
return (String[]) l1.toArray(new String[] {
});
} //Clean up resources
public void destroy() {
}
}
配置一个servlet你会吧?要在web.xml中加映射:
<servlet>
<servlet-name>TransImpl</servlet-name>
<servlet-class>com.ebt.tsef.struts.servlet.TransImplServlet</servlet-class>
</servlet>
<!-- ACTION SERVLET MAPPING -->
<servlet-mapping>
<servlet-name>TransImpl</servlet-name>
<url-pattern>/TransImpl</url-pattern>
</servlet-mapping>
这样就OK啦!
建议你看看这里:
http://icecloud.51.net/blog/archives/cat_open_source_oei.html
请查找:Dom4j 使用简介