亚洲欧美日韩综合久久久久 ,亚洲中字慕日产2020,中文字幕亚洲综合小综合在线 http://www.tkk7.com/josephguan/category/4019.html運動,游玩,學習,我的愛不能停止zh-cnTue, 27 Feb 2007 12:08:09 GMTTue, 27 Feb 2007 12:08:09 GMT60xmlhttp初體驗 http://www.tkk7.com/josephguan/archive/2005/10/26/16898.html快樂的射手快樂的射手Wed, 26 Oct 2005 09:26:00 GMThttp://www.tkk7.com/josephguan/archive/2005/10/26/16898.htmlhttp://www.tkk7.com/josephguan/comments/16898.htmlhttp://www.tkk7.com/josephguan/archive/2005/10/26/16898.html#Feedback0http://www.tkk7.com/josephguan/comments/commentRss/16898.htmlhttp://www.tkk7.com/josephguan/services/trackbacks/16898.html太久沒有研究過新技術了.作為一個程序員,我覺得很慚愧.老早就想看看關于xmlhttp的技術了,今天總算有點時間,做個一個最初的體驗.馬上就愛上了它.
如果你想不刷新頁面就可以與后臺進行數據交互,或者在異構系統之間交換數據,xmlhttp技術是個不錯的選擇.
下面是我的一個很小的體驗程序,參考了csdn網友s_phoenix()給人的回貼.
首先建一個tomcat的web項目.

1:-------index.htm文件內容如下:

<!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>李春雷</test><test>毛澤東</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","xmlHttp.send(XML);
var showstr=xmlHttp.responseText;
alert(showstr);
}

</script>
<button onclick="test();">查看將要傳輸的xml</button><br/>
<button onclick="action();">朝服務器傳送xml,并接收服務器回應</button>
</BODY>
</HTML>


2:------------寫一個servlet: UrlTestServlet.java

/*
 * 創建日期 2005-4-7
 *
 * TODO 要更改此生成的文件的模板,請轉至
 * 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
 */
package com.lcl;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.dom4j.io.*;
import org.dom4j.*;


/**
 * @author lcl
 *
 * TODO 要更改此生成的類型注釋的模板,請轉至
 * 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
 */

public class UrlTestServlet 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");
PrintWriter out = response.getWriter();
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");
out.println("數據交換成功:返回" + s[0] + s[1]);
}

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() {
}
}

3:--------web.xml更改如下(加servlet映射):

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "

<web-app>
  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>


<!-- JSPC servlet mappings start -->

    <servlet>
        <servlet-name>UrlTestServlet</servlet-name>
        <servlet-class>com.lcl.UrlTestServlet</servlet-class>
    </servlet>
 

    <servlet-mapping>
        <servlet-name>UrlTestServlet</servlet-name>
        <url-pattern>/UrlTestServlet</url-pattern>
    </servlet-mapping>


<!-- JSPC servlet mappings end -->
 <welcome-file-list>
        <welcome-file>index.htm</welcome-file>
    </welcome-file-list>
</web-app>

好了,啟動tomcat,訪問:http://127.0.0.1:8888/xmlhttpTest/work/(如果你的tomcat端口是8080,就改一下)
看到結果了吧,真的很不錯.不用刷新頁面,就讓htm前臺頁面和后臺進行了一次數據交換.

你甚至可以在不同的服務器之間進行數據交換,比如一個mis系統,和一個gis系統,想整合成一個系統,原先我們是用了一個frame,左邊的是mis,右邊的是gis,通過javascript在兩個系統間交換數據.如果用xmlhttp技術,完全沒必要這樣了.



本文引用通告地址: http://blog.csdn.net/lcllcl987/services/trackbacks/425242.aspx


快樂的射手 2005-10-26 17:26 發表評論
]]>
XMLHTTP---介紹 (來自冷風.NET)http://www.tkk7.com/josephguan/archive/2005/10/21/16289.html快樂的射手快樂的射手Fri, 21 Oct 2005 06:57:00 GMThttp://www.tkk7.com/josephguan/archive/2005/10/21/16289.htmlhttp://www.tkk7.com/josephguan/comments/16289.htmlhttp://www.tkk7.com/josephguan/archive/2005/10/21/16289.html#Feedback0http://www.tkk7.com/josephguan/comments/commentRss/16289.htmlhttp://www.tkk7.com/josephguan/services/trackbacks/16289.html
MSXML中提供了Microsoft.XMLHTTP對象,能夠完成從數據包到Request對象的轉換以及發送任務。
創建XMLHTTP對象的語句如下:
Set objXML = CreateObject("Msxml2.XMLHTTP") 或
Set objXML = CreateObject(“Microsoft.XMLHTTP”)
' Or, for version 3.0 of XMLHTTP, use:
' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
對象創建后調用Open方法對Request對象進行初始化,語法格式為:
poster.open http-method, url, async, userID, password
Open方法中包含了5個參數,前三個是必要的,后兩個是可選的(在服務器需要進行身份驗證時提供)。參數的含義如下所示: 
http-method: HTTP的通信方式,比如GET或是 POST
url: 接收XML數據的服務器的URL地址。通常在URL中要指明 ASP或CGI程序
async: 一個布爾標識,說明請求是否為異步的。如果是異步通信方式(true),客戶機就不等待服務器的響應;如果是同步方式(false),客戶機就要等到服務器返回消息后才去執行其他操作
userID 用戶ID,用于服務器身份驗證
password 用戶密碼,用于服務器身份驗證
XMLHTTP對象的Send方法
用Open方法對Request對象進行初始化后,調用Send方法發送XML數據:
poster.send XML-data
Send方法的參數類型是Variant,可以是字符串、DOM樹或任意數據流。發送數據的方式分為同步和異步兩種。在異步方式下,數據包一旦發送完畢,就結束Send進程,客戶機執行其他的操作;而在同步方式下,客戶機要等到服務器返回確認消息后才結束Send進程。
XMLHTTP對象中的readyState屬性能夠反映出服務器在處理請求時的進展狀況。客戶機的程序可以根據這個狀態信息設置相應的事件處理方法。屬性值及其含義如下表所示:
值 說明
0 Response對象已經創建,但XML文檔上載過程尚未結束
1 XML文檔已經裝載完畢
2 XML文檔已經裝載完畢,正在處理中
3 部分XML文檔已經解析
4 文檔已經解析完畢,客戶端可以接受返回消息
客戶機處理響應信息
客戶機接收到返回消息后,進行簡單的處理,基本上就完成了C/S之間的一個交互周期。客戶機接收響應是通過XMLHTTP對象的屬性實現的:
● responseTxt:將返回消息作為文本字符串;
● responseXML:將返回消息視為XML文檔,在服務器響應消息中含有XML數據時使用;
● responseStream:將返回消息視為Stream對象

------就是下面這個很簡單的JAVASCRIPT函數SEND(STR,URL)---------------
使用到的是XMLDOM和XMLHTTP對象.用這種技術的好處是:全JS控制,方便/簡單,比RDS
或者remote好多了.(前提:服務器端和客戶端都必須安裝IE5或者更高版本),在俺貼的
那個無刷新在線信息功能使用的也是這種技術.有興趣的朋友可以看看..
function Send(Str,URL)
//STR參數是傳入的XML數據,你也可以傳入其他文本數據.
//不過這個函數需要服務器端處理之后返回XML數據,你也可以修改一下
//URL參數表示你所要處理數據的ASP文件地址
{
var Http = new ActiveXObject("Microsoft.XMLHTTP") //建立XMLHTTP對象
var Dom = new ActiveXObject("Microsoft.XMLDOM") //建立XMLDOM對象
Http.open("POST",URL,false)
//第一個參數的意思是,用"POST"方式發送數據.可以大到4MB,也可以換為"GET".只能256KB
//第2個參數的意思是數據發送到哪個文件處理
//第3個參數意思是同步或異步方式.TRUE為異步,FALSE為同步
Http.send(Str) //開始發送數據.............嘟嘟..
Dom.async=false //設置為同步方式獲取數據
Dom.loadXML(Http.responseText)
//開始獲取服務器端處理后返回的數據.我在這里設置必須為XML數據,否則出錯.
//你也可以自己修改.使返回的是2進制或者記錄集數據.................................
if(Dom.parseError.errorCode != 0) //檢查是否發生獲取數據時錯誤
{
delete(Http)
delete(Dom)
return(false)
}
else
{
var Back = Dom.documentElement.childNodes.item(0).text
//得到返回的XML數據,我這里假設處理程序只返回一行XML數據(一個節點)
delete(Http)
delete(Dom)
return(Back) //函數返回數據.......................結束
}
}
 
VAR CAT = Send("<用戶資料><姓名>謝檸檬</姓名></用戶資料>","HTTP://WWW.CHINAASP.COM/VIVA.ASP") //執行函數
IF(CAT == FALSE)
{
ALERT("對不起.處理程序返回的是FALSE.數據處理已經失敗........")
}
ELSE
{
IF(EVAL(CAT))
{
ALERT("OK.數據已經發送成功.兼以處理完成!!!!!!")
}
ELSE
{
ALERT("對不起.處理程序返回的是FALSE.數據處理已經失敗........")
}
}
 
===============================VIVA.ASP============================
ON ERROR RESUME NEXT
DIM BOBO
DIM MOMO
SET BOBO = SERVER.CREATEOBJECT("MICROSOFT.XMLDOM")
BOBO.ASYNC = FALSE
BOBO.LOAD REQUEST
IF BOBO.PARSEERROR.ERRORCODE <> 0 THEN
RESPONSE.WRITE("<程序處理結果><最終結果>FALSE</最終結果></程序處理結果>")
ELSE
SET MOMO = BOBO.DOCUMENTELEMENT
IF MOMO.CHILDNODES.ITEM(0).TEXT = "謝檸檬" THEN
RESPONSE.WRITE("<程序處理結果><最終結果>TRUE</最終結果></程序處理結果>")
ELSE
RESPONSE.WRITE("<程序處理結果><最終結果>FALSE</最終結果></程序處理結果>")
END IF
END IF
SET BOBO = NOTHING


快樂的射手 2005-10-21 14:57 發表評論
]]>
主站蜘蛛池模板: 久久午夜免费视频| 成人毛片免费在线观看| 亚洲色自偷自拍另类小说| 成人婷婷网色偷偷亚洲男人的天堂 | 免费在线观看一级片| 中文字幕亚洲无线码a| a级大片免费观看| 亚洲Av无码专区国产乱码DVD| a在线视频免费观看| 久久水蜜桃亚洲av无码精品麻豆| 无码一区二区三区免费| 亚洲国产精品成人精品小说| 日韩av无码成人无码免费| 老司机亚洲精品影院在线观看| 免费大黄网站在线观看| 久久久精品国产亚洲成人满18免费网站| 国产精品亚洲mnbav网站 | 99久在线国内在线播放免费观看| 亚洲av日韩av不卡在线观看| 69免费视频大片| 亚洲一线产品二线产品| 全亚洲最新黄色特级网站| 中文字幕在线免费播放| 亚洲一级大黄大色毛片| 四虎影在线永久免费观看| 91免费在线视频| 亚洲最新在线视频| 又大又粗又爽a级毛片免费看| 免费看黄的成人APP| 亚洲午夜一区二区电影院| 一个人看的www免费在线视频| 毛片免费在线视频| 日本黄页网址在线看免费不卡| 在线免费观看一级毛片| 亚洲精品福利在线观看| 午夜私人影院免费体验区| 国产免费一级高清淫曰本片| 亚洲专区中文字幕| 伊伊人成亚洲综合人网7777| 91视频国产免费| 91视频免费观看|