<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    不能停止

    運(yùn)動(dòng),游玩,學(xué)習(xí),我的愛不能停止

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      5 隨筆 :: 3 文章 :: 8 評論 :: 0 Trackbacks

    太久沒有研究過新技術(shù)了.作為一個(gè)程序員,我覺得很慚愧.老早就想看看關(guān)于xmlhttp的技術(shù)了,今天總算有點(diǎn)時(shí)間,做個(gè)一個(gè)最初的體驗(yàn).馬上就愛上了它.
    如果你想不刷新頁面就可以與后臺(tái)進(jìn)行數(shù)據(jù)交互,或者在異構(gòu)系統(tǒng)之間交換數(shù)據(jù),xmlhttp技術(shù)是個(gè)不錯(cuò)的選擇.
    下面是我的一個(gè)很小的體驗(yàn)程序,參考了csdn網(wǎng)友s_phoenix()給人的回貼.
    首先建一個(gè)tomcat的web項(xiàng)目.

    1:-------index.htm文件內(nèi)容如下:

    <!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(){//客戶端和服務(wù)端的通訊
    xmlHttp.open("post","xmlHttp.send(XML);
    var showstr=xmlHttp.responseText;
    alert(showstr);
    }

    </script>
    <button onclick="test();">查看將要傳輸?shù)膞ml</button><br/>
    <button onclick="action();">朝服務(wù)器傳送xml,并接收服務(wù)器回應(yīng)</button>
    </BODY>
    </HTML>


    2:------------寫一個(gè)servlet: UrlTestServlet.java

    /*
     * 創(chuàng)建日期 2005-4-7
     *
     * TODO 要更改此生成的文件的模板,請轉(zhuǎn)至
     * 窗口 - 首選項(xiàng) - 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 要更改此生成的類型注釋的模板,請轉(zhuǎn)至
     * 窗口 - 首選項(xiàng) - 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("數(shù)據(jù)交換成功:返回" + 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>

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

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



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

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 四虎精品免费永久免费视频| 亚洲av日韩av综合| 免费精品视频在线| 免费无码不卡视频在线观看| 亚洲综合国产成人丁香五月激情| 一二三四影视在线看片免费 | 亚洲AV无码乱码在线观看牲色| 亚洲日本VA午夜在线影院| 无码人妻精品一二三区免费| 亚洲欧洲免费无码| 免费一级毛片清高播放| 亚洲免费一区二区| 久久青青草原亚洲AV无码麻豆| 日韩电影免费观看| 亚洲国产成人va在线观看网址| 国产成人免费高清激情视频| 亚洲AV无码一区二区三区久久精品 | 亚洲电影在线播放| 最新猫咪www免费人成| 最好2018中文免费视频| 亚洲永久精品ww47| 91视频免费网址| 亚洲日本在线电影| 国产亚洲精品线观看动态图| 日本免费人成网ww555在线| 亚洲成在人线中文字幕| 日本一区二区三区日本免费| 国产成人无码精品久久久免费| 亚洲成A人片在线观看无码不卡 | 中文在线日本免费永久18近| 亚洲人成网站在线播放影院在线| 7723日本高清完整版免费| 亚洲大码熟女在线观看| 亚洲一区无码中文字幕| 95老司机免费福利| 香蕉视频免费在线| 久久久无码精品亚洲日韩蜜臀浪潮| 毛片基地免费观看| 中国一级特黄的片子免费| 亚洲中文字幕久在线| 亚洲欧洲精品成人久久曰影片|