`
aleelock
  • 浏览: 18153 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

发一个简单的ajax push例子

阅读更多

上次回复了一个帖子(忘了是哪个了)发了一个ajax push的例子,但是好像发错了,不能运行,这次发个能运行的:

 

以下代码,放到服务下方可运行,如tomcat。

 

客户端 index.html :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">          
<html xmlns="http://www.w3.org/1999/xhtml">          
<head>          
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />          
<title> ajax push </title>          
</head>          
<body>          
 ajax push test<hr>          
<textarea id="ta" rows="40" cols="90"></textarea><br>          
<button onclick="test()">test</button>       
<div id="inf"></div>  
</body>          
</html>          
<script language="JavaScript">          
<!--          
window.$i=function(id){return document.getElementById(id); }          
String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,"");}          
        
function test()          
{          
    $i("ta").value = "loading...\n\n";          
    request();          
}          
function request()          
{          
    var req = createXMLHttp();          
            
    req.open("get", "push.jsp", true);          
    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');          
    req.send(null);          
    req.onreadystatechange = function ()          
    {          
       
    
        if(req.readyState == 3)          
        {          
            $i("ta").value += req.responseText.trim()+"\n";          
        }          
        if(req.readyState == 4 && req.status == 200)          
        {          
             $i("ta").value += "end";          
         }          
    }          
}          
  
//创建XMLHttpRequest          
function createXMLHttp()          
{          
     if (window.ActiveXObject)          
    {          
         var arr = ["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];          
         for(var i=0 ; i < arr.length; i++)          
        {          
            try          
           {          
              return new ActiveXObject(arr[i]);          
           }catch(e){}          
        }          
    }          
    else if (window.XMLHttpRequest)          
    {          
        return new XMLHttpRequest();          
    }          
    alert("您的浏览器不支持ajax");          
    return null;          
}          
//-->          
</script> 

 

 服务端:push.jsp

<%@ page contentType="text/html;charset=utf-8"%>   
<%   
java.io.PrintWriter p=new   java.io.PrintWriter(response.getOutputStream());   
String msg = "a";   
for(int i=0;i<10;i++)   
{   
	 msg+=i;   
	 p.println("HTTP/1.1 200OK");   
	 p.println("Content-Type:text/html; charset:utf-8");   
	 p.println("Content-Length:"+msg.length());//msg为服务器要发到客户端的信息   
	 p.println();   
	 p.println(msg);   
	 System.out.println(msg);   
	 p.flush();   
	 response.getOutputStream().flush();   
	 try  
	 {   
	  Thread.sleep(1000);   
	 }   
	 catch(Exception e)   
	 { }   
}   
%>  

  

分享到:
评论

相关推荐

    一个完整的用ajax反转 server push(服务器主动向页面推送数据)技术实现的web聊天室源码

    综上所述,这个Web聊天室项目涵盖了从客户端到服务器端的完整实时通信流程,是学习和实践Ajax反向推送技术的一个好例子。通过深入研究和理解这个源码,开发者可以掌握如何在实际项目中应用Server Push,提高Web应用...

    Ajax入门例子

    例如,WebApplicationold可能是一个简单的用户输入验证,通过Ajax发送数据到服务器,而WebApplication2可能是一个动态加载数据的表格或者实时更新的图表。 4. **Ajax的应用场景** - **表单验证**:在提交前通过...

    AJAx的例子

    以下是一个简单的AJAX例子,展示了如何使用JavaScript创建和发送一个AJAX请求: ```javascript // 创建XMLHttpRequest对象 var xhr = new XMLHttpRequest(); // 监听状态变化 xhr.onreadystatechange = function()...

    ajax4jsf 例子

    - ****:定义一个Ajax响应的区域,只有该区域内受影响的组件才会被更新。 - ****:为现有的JSF组件添加Ajax功能,如将它添加到 `&lt;h:inputText&gt;` 中,使得输入时能立即触发验证。 ### 4. a4j工作流程 1. **用户交互...

    ajax-demo推送演示例子

    一旦有新数据,Servlet立即将数据作为响应返回给客户端,客户端收到响应后更新页面,并立即发起新的Ajax请求,形成一个循环。 示例代码: 1. 客户端JavaScript: ```javascript function longPolling() { var ...

    Ajax框架DWR 入门例子

    DWR (Direct Web Remoting) 是一个开源的Ajax框架,它允许JavaScript在浏览器端与Java在服务器端进行直接通信,从而实现动态、无刷新的Web应用程序。本入门例子旨在帮助初学者快速理解并掌握DWR的基本用法和功能。 ...

    ajax自动搜索例子

    "Ajax自动搜索"是Ajax技术的一个常见应用,常用于搜索引擎、网站内容过滤或者推荐系统,让用户在输入查询关键词时实时得到匹配结果。 在实现Ajax自动搜索的过程中,主要涉及以下几个关键知识点: 1. **事件监听**...

    dwr简单推送例子

    这个"**dwr简单推送例子**"是一个示例项目,旨在展示如何利用DWR实现服务端向客户端的实时数据推送功能,这是Web应用中实现即时更新、实时聊天或通知的关键技术。 DWR的核心功能是通过AJAX(Asynchronous ...

    dwr做的一个聊天室例子

    在这个"Dwr做的一个聊天室例子"中,我们可以深入探讨DWR如何被用来创建一个简单的在线聊天系统。 1. **DWR基础** DWR的核心功能是提供了一个安全且高效的机制,使得JavaScript可以调用服务器端的Java方法,就像...

    jscript 500个例子

    "jscript 500个例子" 是一个旨在帮助初学者掌握JavaScript基础和进阶技巧的资源集合,通过大量的实践示例来深入理解其语法和用法。 在学习这500个例子时,你可以按照以下几个关键知识点进行系统性的学习: 1. **...

    ajax实现聊天室

    在本示例中,我们将探讨如何使用 Ajax 来创建一个简单的在线聊天室,模拟类似腾讯QQ的实时通信体验。这个聊天室的实现主要依赖于JavaScript的异步处理能力,以及XMLHttpRequest对象,它允许我们在后台与服务器交换...

    asp.net comet例子

    这个例子可能包含了一个服务端页面(Service.aspx和服务.aspx.cs),以及一个客户端的HTML页面(ajax.html)。服务端页面处理与客户端的长连接,而客户端页面通过Ajax请求建立并维护这个连接。 描述中提到,这个...

    java推送例子

    这个"java推送例子"很可能是关于如何在Java环境中实现实时数据推送的一个演示项目,名为“dwrpush_demo”。DWR(Direct Web Remoting)是一个开源的Java库,它允许在浏览器和服务器之间进行全双工通信,非常适合用于...

    经典的JavaScript小例子

    每个例子都是一个独立的知识点,通过实践和调试,你将深化对JavaScript的理解,提升编程技能。记住,理论结合实践是学习编程的最好方式,所以不要只是阅读代码,更要动手尝试和修改,看看会产生什么有趣的结果。

    Dwr 推例子 反转 ajax dwr dwr推群聊 dwr聊天系统源码 聊天系统 广播系统

    在描述中提到的案例是一个使用DWR构建的广播或群聊系统。DWR的实时更新能力使其非常适合用于构建这样的系统。通过DWR的Push技术,服务器可以主动向客户端推送消息,而不仅仅是响应客户端的请求。这种模式在群聊系统...

    第一个RAP例子程序(图示)

    ### 第一个RAP例子程序知识点详解 #### 一、RAP简介 RAP(RCP for the Web)是一种基于Eclipse RCP的Web应用程序开发框架。它利用HTML、JavaScript等Web技术为客户端提供用户界面,并通过AJAX与服务器端进行交互。...

    300个JavaScript小例子

    11. **闭包**:闭包是JavaScript中一个高级概念,允许函数访问和修改外部作用域的变量,同时保持自身的状态。 12. **模块化**:随着ES6的引入,JavaScript支持模块化编程,如export和import关键字,有助于组织和...

    ajax 浏览器后退前进按钮功能实现

    以下是一个简单的示例,展示了如何在Ajax请求后使用`pushState`: ```javascript function makeAjaxRequest(url) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onreadystatechange = ...

    js-9个例子

    1. **javascript例子**:这个文件可能包含一个或多个基础的JavaScript代码示例,如变量声明、数据类型、条件语句(if...else)、循环(for、while)等,这些都是初学者入门时必须了解的基本概念。 2. **javascript_...

Global site tag (gtag.js) - Google Analytics