实现网页方式的即时消息通信

页面jsp

<%@ page language="java" import="com.trilink.xf.tools.Common" pageEncoding="UTF-8"%>
<%@ include file="/common/taglibs.jsp"%>

<!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>即时通讯</title>
    
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    
    <script>
    window.setInterval("connection();",3000);
     function connection(){
     //var link = "${ctx}/ajaxConnection/ajaxAction.json?rd=" + new Date().valueOf();//加随机参数防止缓存
     $.ajax({
          url:"${path}/sysmanage_InstantMessage_queryMessage2_n.action",
          type:"POST",
          dataType:"json",
          context:this,
          success : function(text) {
              if(text == null){
                   return ;
              }
              var t = eval(text);
               for(var i=0;i<t.sz.length;i++){
                  var str=$("#message").append("<tr><td>"+t.sz[i]+"</td></tr>");
                }
                $.ajax({
                   url:"${path}/sysmanage_InstantMessage_updateMessage_n.action",
                   type:"POST",
                   data:{messageId:t.id},
                     dataType:"json",
                     context:this,
                      success : function(text){
                      }
                      
                   
                });
          }
     });
    }
    </script>

</head>
  <body>
    <table id="message" >
    <s:iterator value="list" var="li">
    <tr >
    <td><s:property value="#li.message"/></td>
    </tr>
    </s:iterator>
    </table>
  </body>
</html>

后台代码首先是 页面列表显示数据,然后跳jsp。

ajax向action发送请求

public void queryMessage2(){
        try {
            PrintWriter pw =ServletActionContext.getResponse().getWriter();
            list=iInstantMessageService.queryMessage2(1);
            if(list.size()==0){
                return;
            }else{
                StringBuilder sb =new StringBuilder("{\"sz\":[");
                String sb2 = "\"id\":\"";
                for(Message message:list){
                    String str=message.getMessage();
                    int id=message.getId();
                    sb2+=id+",";
                    sb.append("\""+str+"\",");
                }
                if(list.size()!=0){
                    sb2 = sb2.substring(0, sb2.length()-1);
                }
                sb2+="\"";
                String str2=sb.toString();
                if(sb.length()!=0){
                    str2 =sb.substring(0, sb.length()-1);
                }
                str2+="],"+sb2+"}";
                System.out.println(str2);
                pw.print(str2);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

实现网页方式的即时消息通信相关推荐

  1. SCOM警报通知新特性:即时消息通知

    使用过SCOM的朋友应该了解,相对MOM,SCOM增加了"即时消息"和"短信"两种警报通知方式.今天我将给大家介绍其中之一,"即时消息"告警 ...

  2. 即时消息服务器eChat 与 通信解决方案

    昨天写的博客设计方式.选择,今天为他补充一个用户评论的方式–即时消息 eChat是一个即时通信系统.基于SignalR,编程实现了一个B/S架构建立的网络聊天工具 即时通讯是互联网时代的产物,至于他的 ...

  3. 【IM】即时消息技术剖析与实战

    即时消息技术剖析与实战:10周精通IM后端架构技术点 https://time.geekbang.org/column/intro/225 目前有没有什么不错的开源IM项目可以学习和研究? 可以看看m ...

  4. “一切都是消息”--iMSF(即时消息服务框架)入门简介

    "一切都是消息"--这是iMSF(即时消息服务框架)的设计哲学. MSF的名字是 Message Service Framework 的简称,由于目前框架主要功能在于处理即时(im ...

  5. “一切都是消息”--iMSF(即时消息服务框架)之【请求-响应】模式(点对点)...

    MSF的名字是 Message Service Framework 的简称,由于目前框架主要功能在于处理即时(immediately)消息,所以iMSF就是 immediately Message S ...

  6. 即时消息服务器eChat

    昨天写的博客设计方式.选择,今天为他补充一个用户评论的方式–即时消息 eChat是一个即时通信系统.基于SignalR,编程实现了一个B/S架构建立的网络聊天工具 即时通讯是互联网时代的产物,至于他的 ...

  7. 【免费】小米即时消息云MIMC介绍——免费、简单实现IM

    前言 IM是互联网业务重要组成,很多场景下需要即时地.方便地交流.而实现IM较为复杂,需要后台提供连接.投递.存储.统计支持,人力成本和机器成本都很高.所以目前很多用户选择不自己实现IM功能,或者使用 ...

  8. Asp.net实现即时消息通讯(Ajax)

    以下是最近搞的一个用asp.net实现的即时消息的小功能,由于消息的即时性,和网络的无状态无连接.因此曾一时间无法想到很好的解决方法,很多人都说可以使用socket编程来实现使用端口进行点对点即时通信 ...

  9. 主流的四种IM(IM:instant messaging,即时消息)协议

    转载:http://hi.baidu.com/zhaojinwei1986/blog/item/fe3b9f12d5784e24dd5401db.html XMPP(Extensible Messag ...

最新文章

  1. okhttp进行网络传输文件
  2. Python带参数复数表示
  3. matlab中print、fprintf、scanf、disp函数简要语法介绍
  4. nova 命令汇总三 ——网络相关命令
  5. 计算机考试时间改革,武汉计算机二级考试时间和改革变化2021
  6. mysql怎么刷题_面试刷题mysql1:一条sql语句是如何经过mysql的体系结构的?
  7. 命令行里对SAP Spartacus执行命令ng test core
  8. Java BigInteger类| 带有示例的减去()方法
  9. Less中的Extend
  10. 如何JQ将下拉列表的值传送给php,JQuery设置获取下拉菜单某个选项的值(比较全)...
  11. python操作linux命令行_python调用调用Linux命令
  12. npm的一些常用命令
  13. Sequelize-nodejs-5-Querying
  14. Tracup丨什么是甘特图?关于甘特图的百科全书
  15. PDF文档如何解密?3个软件值得收藏
  16. 期货量化交易程序CTP入门指南 二
  17. Emacs安装配置yasnippet
  18. python抓取豆瓣电影
  19. SQL查询优化方法 提高SQL查询效率 数据库的哪些字段适合添加索引
  20. 服务器运维用macos,MacOS和Linux区别_网站服务器运行维护,linux,macos

热门文章

  1. 乐趣国学—品读《弟子规》中的“亲仁”之道
  2. 华硕a豆14 Pro评测
  3. uniapp 微信小程序分享海报
  4. 牛顿迭代法算法的实现
  5. el-admin实战解析
  6. 在c++中使用easyx画一个实时走动的钟表(方法细节)
  7. m分别使用BP神经网络和GRNN网络进行时间序列预测matlab仿真
  8. 蒙特卡罗方法(Monte Carlo method)浅入
  9. java毕设项目教师教学质量评估系统(附源码)
  10. 【连载】《linux入门很简单》电子版——作者:刘金鹏(第一章初来乍到——入住)...