`
xkmoo
  • 浏览: 4396 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

关于java服务器推送对象到页面上

    博客分类:
  • html
阅读更多
以tomcat6为例首先下载comet4j-tomcat6.jar和comet4j.jar后将jar报引入工程,然后在tomcat中找到server.xml文件,将文件中的<Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />替换成 <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443"/>;
在web.xml中配置<listener>
                <description>Comet4J容器侦听</description>
                <listener-class>org.comet4j.core.CometAppListener</listener-class>
        </listener>
        <servlet>
                <description>默认不用修改org.comet4j.core.CometServlet]</description>
                <display-name>CometServlet</display-name>
                <servlet-name>CometServlet</servlet-name>
                <servlet-class>org.comet4j.core.CometServlet</servlet-class>
        </servlet>
        <servlet-mapping>
                <servlet-name>CometServlet</servlet-name>
                <url-pattern>/conn</url-pattern>
        </servlet-mapping>

<listener>
  <description>别名</description>
  <listener-class>实现的类的包明+类名</listener-class>
</listener>

前台html页面
首先在页面引入<script type="text/javascript" src="js/comet4j.js"></script>
名称是:<span id="name"></span> 成绩:<span id="tagCom"></span>


function init(){
var kbDom = document.getElementById("tagCom");
var kdc=document.getElementById("name");
        JS.Engine.on({
          isAlrem : function(non){//侦听一个channel

                   kdc.innerHTML=non.tag;
                   kbDom.innerHTML=non.score;
                  
                }
        });
        JS.Engine.start('conn');
}

后台java代码

public class MessageSender implements ServletContextListener {
private static final String CHANNEL = "isAlrem";

public void contextInitialized(ServletContextEvent arg0) {
     CometContext cc = CometContext.getInstance();
     cc.registChannel(CHANNEL);//注册应用的channel
     Thread sendalrem = new Thread(new SendAlrem(), "");
     sendalrem.setDaemon(true);
     sendalrem.start();

}

class SendAlrem implements Runnable {
public void run() {
while (true) {
try {
Thread.sleep(4000);
} catch (Exception ex) {
ex.printStackTrace();
}
OneStrutsAlrem on=new OneStrutsAlrem();
on.setScore(90));
on.setTag("1A1");
CometEngine engine = CometContext.getInstance().getEngine();
//这里必须将对象变成json然后在推送到前台页面上面
engine.sendToAll(CHANNEL,JSONObject.fromObject(on));

}
}
}

public void contextDestroyed(ServletContextEvent arg0) {
}
}
分享到:
评论

相关推荐

    实现 Dwr 服务器推送

    服务器推送是指服务器主动将数据推送到客户端,而不是传统的客户端发起请求获取数据的方式。这种方式提高了实时性,特别适用于需要实时更新数据的应用,如股票交易、在线聊天、游戏等场景。 三、DWR服务器推送的...

    DWR服务器推送技术(实时)

    但在服务器推送技术中,服务器主动将数据推送到客户端,而无需客户端发起新的请求。这种技术对于实时性要求高的应用,如聊天室、股票交易、在线游戏等,具有显著优势。 **DWR的服务器推送实现**: DWR使用一种称为...

    dwr java推送例子 免积分

    3. 在客户端,编写代码监听服务器推送的事件,并处理接收到的数据。 4. 在服务器端,编写推送数据的方法,可能需要定时或者根据某些条件触发。 总的来说,这个"DWR Java推送例子 免积分"提供了一个学习和实践DWR...

    ajax+"服务器推送"简单web聊天

    3. 在服务器端,JSP接收到消息后进行处理,可以将消息保存到数据库或队列中,并触发服务器推送。 4. 实现服务器推送,可以通过Comet技术(如长轮询)或者WebSocket。在这个例子中,考虑到标签提及了“jsp聊天”,...

    Java Dwr实现消息精准推送以及js调用后台+demo

    Java Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器和Java服务器之间进行双向通信,从而实现在Web应用中的实时交互。DWR使得前端开发者能够轻松地调用后端的Java方法,仿佛它们是本地...

    jpush定期推送

    本文将详细讲解如何使用Java通过极光推送(JPush)实现基于tag的定期定时推送,以及如何将这个功能整合到自己的项目中。 首先,我们需要了解极光推送(JPush)的基本概念。极光推送是深圳市梦网科技发展有限公司...

    JavaWeb后台自动向前台发送消息

    Comet4J是一个基于Java的服务器推送框架,它允许Web服务器主动向客户端浏览器推送数据,而不仅仅是响应客户端的请求。这种双向通信模式打破了传统的HTTP协议的限制,使得实时性得以提升。 1. **Comet技术原理**: ...

    DWR服务器推送技术实现WebQQ

    **DWR(Direct Web Remoting)服务器推送技术详解与WebQQ实现** DWR,全称为Direct Web Remoting,是一种在JavaScript和Java之间进行远程方法调用(Remote Method Invocation,RMI)的技术,允许Web应用程序实现...

    基于AJAX(XMLHTTPRequest)的服务器推送框架.zip

    【标题】"基于AJAX(XMLHTTPRequest)的服务器推送框架.zip" 涉及的主要知识点是AJAX(异步JavaScript和XML)技术以及XMLHttpRequest对象在实现服务器推送中的应用。AJAX是一种网页开发技术,它允许网页在不刷新整个...

    DWR消息推送简单实例

    对于消息推送,你需要设置一个回调函数来处理服务器推送给客户端的新消息。 7. **DWR的调试与日志** DWR提供了强大的调试工具和日志记录功能,可以帮助开发者在开发过程中快速定位问题,优化性能。 8. **运行与...

    springMVC+dwr技术实现消息推送实例

    5. **事件处理:** 当服务器推送消息时,JavaScript会接收到通知,然后根据需求更新页面或者触发其他客户端事件。 6. **安全性和优化:** 考虑到性能和安全性,可能需要限制长连接的数量,进行连接管理和超时处理,...

    dwr实现前台监控 后台推送即时信息 入门必看资料

    DWR的核心是通过创建一个代理,这个代理可以调用服务器上的Java方法,并将结果返回到客户端。在JavaScript中,我们可以像操作本地对象一样操作这些远程对象,从而实现前后端的通信。 对于"前台监控",DWR提供了多种...

    JAVA+JSP实现模拟登录主动向用户推送

    WebSocket是一种双向通信协议,可以实现实时推送,而长轮询则是客户端定期询问服务器是否有新信息,直到收到响应。 具体到实际操作,以下是一些关键步骤: 1. 创建JSP页面,包含登录表单,使用JavaScript处理表单...

    Android快速集成极光推送,内含自定义通知,通知推送对象到某一个人,或者某一群人

    三、指定推送对象 1. 别名与标签:JPush支持通过别名和标签来精准推送。别名是针对单个用户的唯一标识,标签则可以看作是一组用户的集合。在客户端设置别名和标签: ```java JPushInterface.setAliasAndTags(this, ...

    IOS推送JAVA服务端文档

    **iOS推送Java服务端文档详解** 在iOS应用开发中,为了实现远程通知功能,苹果公司提供了Push Notification Service(PNS),使得开发者可以向用户的设备发送消息,即使应用没有在前台运行也能接收到这些消息。本文...

    服务器内容推送技术.pdf

    在客户端,Comet可以与JavaScript结合,通过XMLSocket或IFrame/htmlfile等手段接收服务器推送的数据。 - Flash XMLSocket方案:利用Flash提供的XMLSocket类,结合JavaScript调用Flash接口实现套接字通信。这种方法...

    DWR推送技术大全 dwr推送聊天实例

    服务器端有一个“挂起”的HTTP请求,当有新数据可用时,服务器会将数据推送到这个请求中,然后浏览器接收到数据并更新页面。 6. **安全与权限控制**:DWR提供了安全机制,如白名单配置,防止未经授权的JavaScript...

    服务器推送技术之comet4j资源包

    Comet4j就是一种基于Java实现的服务器推送技术框架,旨在简化实时Web应用的开发过程。本资源包包含了实现Comet4j功能所需的关键组件,包括`comet4j.js`脚本文件和`comet4j-tomcat7.jar`服务器端库。 首先,让我们...

    弹幕、股票、实时新闻-服务器推送技术src

    通过创建WebSocket对象,与服务器建立连接,然后监听连接状态变化,接收服务器推送的数据,并将这些数据显示在页面上。JavaScript的Event Loop机制使得在接收到新消息时能及时响应。 3. **Spring MVC框架**:后端...

Global site tag (gtag.js) - Google Analytics