jsp+ajax自动刷新局部页面

转载 2015年11月17日 21:03:25

通过 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>   
复制代码

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

AJAX-实现WEB页面局部动态刷新

在浏览网页时,有时往往因为查看局部信息,而导致整个网页都需要从服务器端重新加载一次。在传统的web实现方式中,实现类似的效果必须进行整个页面的刷新。但是借助Ajax技术,可以实现对页面中局部区域的动态...
  • loveesc
  • loveesc
  • 2012年09月08日 02:01
  • 431

关于jsp页面自动刷新的方法

//
  • u011677147
  • u011677147
  • 2014年09月23日 15:49
  • 444

jsp+ajax自动刷新局部页面

通过 AJAX,JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象, JavaScript 可在不重载页面的情况与 Web ...
  • alinagebaba
  • alinagebaba
  • 2014年10月23日 15:44
  • 271

j2ee中运用ajax局部刷新和实时局部刷新

1.function loadXMLDoc(valueFromSelect1) //加载ajax,并进行请求数据 2.xmlhttp.onreadystatechange=updatePage;//...
  • chenhande1990chenhan
  • chenhande1990chenhan
  • 2017年01月11日 15:19
  • 216

网页无闪自动局部刷新实例

 我们在网页制作的过程中经常会遇到及时刷新数据的问题,如果使用的方法,会造成整个屏幕不断闪烁刷新的效果,这会降低用户的操作满意度。所以我们需要一种可以实现无闪自动刷新数据的方法来解决以上问题。实例解决...
  • yehell
  • yehell
  • 2007年08月20日 15:05
  • 1213

定时局部自动刷新

问:如何让网页上的数据局部定时自动刷新? 答:使用jquery自带的函数setInterval()。 例: //写在页面的主函数中,时间是以毫秒为单位100毫秒为1秒,30000毫秒=300秒=5...
  • qq_25037705
  • qq_25037705
  • 2017年04月08日 17:02
  • 339

Ajax局部页面刷新和history

ajax能实现页面的无刷新加载,但是会造成无法前进后退的问题。 我们可以人为的使用history.pushState来人造历史信息, 并且通过监听popstate事件来知道用户点击了浏览器后退或前进...
  • qq_31411389
  • qq_31411389
  • 2016年05月20日 16:31
  • 675

js定时刷新局部页面及动态加载页面后事件处理

最近在做项目的过程中用到了定时刷新页面元素,就类似公交车软件一样,定时读取实时状态,期间遇到了一些奇葩的问题,在此列出供需要的朋友参考,同时也作为本阶段工作的一个小结,具体问题如下: 1. 定时刷新页...
  • Tanfuren
  • Tanfuren
  • 2017年03月28日 14:38
  • 1190

jsp+ajax自动刷新实例

一、JSP文件:auto.jsp          //设置输出信息的格式及字符集            ...
  • javatwt
  • javatwt
  • 2007年03月02日 13:16
  • 962

web页面局部刷新问题

最近在项目中使用dwz,在一个页面中用select2做了一个2级级联的下拉框,问题是在查询参数回显的时候特别麻烦,于是想着,能不能页面提交的时候只刷新下面的数据表格,而不刷新查询栏,研究了一下dwz的...
  • u011630551
  • u011630551
  • 2016年03月19日 00:16
  • 3491
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jsp+ajax自动刷新局部页面
举报原因:
原因补充:

(最多只允许输入30个字)