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>   

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

时间: 2024-08-13 00:25:31

ajax+jsp自动刷新的相关文章

ajax实现自动刷新页面实例

html部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ajax实现自动刷新</title> </head> <body onLoad="Autofresh()"> <p>现在的时间是:<span id="currenttim

JSP 自动刷新

想象一下,如果要直播比赛的比分,或股票市场的实时状态,或当前的外汇配给,该怎么实现呢?显然,要实现这种实时功能,您就不得不规律性地刷新页面. JSP提供了一种机制来使这种工作变得简单,它能够定时地自动刷新页面. 刷新一个页面最简单的方式就是使用response对象的setIntHeader()方法.这个方法的签名如下: public void setIntHeader(String header, int headerValue) 这个方法通知浏览器在给定的时间后刷新,时间以秒为单位. 页面自动

ajax jsp 无刷新上传文件

本文实现的文件上传也是无页面刷新的,可以说是一种"类似AJAX"方法 开始之前先说两句无关的,其实在ajax出现之前,web应用也可以是无刷新的,那时大多通过IFrame来做到这一点.当然Ajax出现之后,人们一窝蜂地投奔Ajax 的阵营了,iFrame 就乏人问津了.但是用iFrame来实现无刷新上传文件确实一个很好的选择. ps:Ajax技术基本上可以说是由google公司带起来的,但少Gmail中上传文件用的还是 IFrame,所以使用IFrame来上传文件是最好的选择. 我在这

Ajax+php实现自动刷新页面

前端代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript"> var xmlHttp; var count = 1; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp =

ajax实现无刷新获取数据javascript+jsp+serverlet

jsp页面通过ajax获取后台serverlet传来的数据 serverlet页面代码 package com.shxt.lesson16homework.Servlets; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Resu

JSP中自动刷新

以下内容引用自http://wiki.jikexueyuan.com/project/jsp/auto-refresh.html: 细想一个显示在线比赛分数.股市状态或当前交易额的网页.对于所有这种类型的网页,需要通过浏览器中的更新或者重新载入按钮定期的刷新网页. 通过提供一个在给定的间距后自动刷新网页的机制,可以使JSP更加容易运行. 刷新网页最简单的方法就是使用Request对象的setIntHeader()方法.下面是这个方法的符号描述: public void setIntHeader(

JSP页面自动刷新

1.页面自动刷新:把如下代码加入<head>区域中<meta http-equiv="refresh" content="20">,其中20指每隔20秒刷新一次页面. 2.页面自动跳转:把如下代码加入<head>区域中<meta http-equiv="refresh" content="20;url=http://www.abc.com">,其中20指隔20秒后跳转到http:

jsp+ajax实现无刷新

jsp+ajax实现无刷新,鼠标离开文本框即验证用户名 jsp+ajax实现无刷新,鼠标离开文本框即验证用户名(本功能多用于注册) input.jsp(表单提交页面): %@ page contentType=text/html; charset=GBK % html style type=text/css !-- @import url(../aqgc/style_c.css); --jsp+ajax实现无刷新,鼠标离开文本框即验证用户名(本功能多用于注册) input.jsp(表单提交页面)

jsp+ajax实现无刷新鼠标离开文本框即验证用户名

欢迎大牛提意见 jsp+ajax实现无刷新,鼠标离开文本框即验证用户名,操作如下:新建一个输入页面,起名为input.jsp, [java] <%@ page contentType="text/html; charset=utf-8"%> <html> <head> <title>jsp+ajax实现无刷新_鼠标离开文本框即验证用户名</title> <meta http-equiv="Content-Typ