zoukankan      html  css  js  c++  java
  • ajax+jsp自动刷新

      通过 AJAX,JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象, JavaScript 可在不重载页面的情况与 Web 服务器交换数据。

         AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。

         实验中利用JSP+ajax来实现自动刷新页面,并读/写数据库中的数据。

        下面介绍一下利用JSP+ajax来实现局部页面刷新的小例子:

    处理ajax请求的jsp文件:ajax.jsp

    复制代码
        <%@ page contentType="text/html; charset=gb2312" %>  
          
        <%  
        //设置输出信息的格式及字符集  
        response.setContentType("text/xml; charset=UTF-8");  
        response.setHeader("Cache-Control","no-cache");  
        out.println("<response>");  
          
        for(int i=0;i<2;i++){  
        out.println("<name>"+(int)(Math.random()*10)+  
           "号传感器</name>");  
        out.println("<count>" +(int)(Math.random()*100)+ "</count>");  
        }  
        out.println("</response>");  
        out.close();  
        %>   
    复制代码

    发送ajax请求的jsp文件:zx.jsp

    复制代码
        <head>  
        <META http-equiv=Content-Type content="text/html; charset=gb2312">  
        </head>  
        <script language="javascript">  
          
        var XMLHttpReq;  
            //创建XMLHttpRequest对象         
            function createXMLHttpRequest() {  
                if(window.XMLHttpRequest) { //Mozilla 浏览器  
                    XMLHttpReq = new XMLHttpRequest();  
                }  
                else if (window.ActiveXObject) { // IE浏览器  
                    try {  
                        XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");  
                    } catch (e) {  
                        try {  
                            XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");  
                        } catch (e) {}  
                    }  
                }  
            }  
            //发送请求函数  
            function sendRequest() {  
                createXMLHttpRequest();  
                var url = "ajax.jsp";  
                XMLHttpReq.open("GET", url, true);  
                XMLHttpReq.onreadystatechange = processResponse;//指定响应函数  
                XMLHttpReq.send(null);  // 发送请求  
            }  
            // 处理返回信息函数  
            function processResponse() {  
                if (XMLHttpReq.readyState == 4) { // 判断对象状态  
                    if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息  
                        DisplayHot();  
                        setTimeout("sendRequest()", 1000);  
                    } else { //页面不正常  
                        window.alert("您所请求的页面有异常。");  
                    }  
                }  
            }  
            function DisplayHot() {  
                var name = XMLHttpReq.responseXML.getElementsByTagName("name")[0].firstChild.nodeValue;  
                var count = XMLHttpReq.responseXML.getElementsByTagName("count")[0].firstChild.nodeValue;  
                document.getElementById("product").innerHTML = name;      
                document.getElementById("count").innerHTML = count;   
            }  
          
          
        </script>  
          
        <body onload =sendRequest()>  
        <table style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 cellPadding=0 width=200    bgColor=#f5efe7 border=0>  
          
        <TR>  
           <TD align=middle bgColor=#dbc2b0 height=19 colspan="2"><B>无线传感网</B> </TD>  
        </TR>  
        <tr>  
           <td height="20"> 传感器:</td>  
           <td height="20" id="product"> </td>  
        </tr>  
        <tr>  
           <td height="20">传感器个数:</td>  
           <td height="20" id="count"> </td>  
        </tr>  
        </body>  
        </table>   
    复制代码

      效果如下(页面上的值自动变化):

  • 相关阅读:
    变量、内存区域、MDK文件(map、htm)
    全双工与半双工的区别
    4G网络 LTE、 FDD 和TD网络格式区别
    国内4G频段划分
    Nordic老版官网介绍(2018-11-30停止更新)
    无线通信模组产业链及竞争格局分析
    LBS 与 GPS 定位之间的区别
    99%的人都理解错了HTTP中GET与POST的区别(转自知乎)
    goto 的用法
    C语言字节对齐 __align(),__attribute((aligned (n))),#pragma pack(n)
  • 原文地址:https://www.cnblogs.com/ziq711/p/5328492.html
Copyright © 2011-2022 走看看