- 浏览: 1275292 次
- 性别:
- 来自: 常州
文章分类
- 全部博客 (499)
- java (101)
- linux (82)
- mysql (30)
- javascript (45)
- Oracle (12)
- ext (14)
- 虚拟机 (1)
- 搜索引擎 (2)
- struts2 (11)
- 设计模式 (9)
- nginx (17)
- tomcat (12)
- 随想 (10)
- spring (18)
- svn (1)
- flash (3)
- UML (1)
- 数据结构 (7)
- 算法 (2)
- 网摘 (9)
- 数据库 (15)
- ibatis (3)
- jquery (31)
- lucene (1)
- hibernate (14)
- Myeclipse (4)
- 线程 (7)
- jbpm (4)
- 重构 (1)
- mantis (3)
- MediaWiki (4)
- ExtMail (1)
- MDaemon (1)
- egit (1)
- dwr (7)
- sitemesh (2)
- mybatis (1)
- ico (1)
- hadoop (5)
- jsoup (1)
- urlrewrite (2)
- jstl (1)
- spring3 (2)
- aop (2)
- 定时器 (1)
- Quartz (2)
- apache (1)
- php (1)
- security (1)
- iptables (2)
- QQ (1)
- mysqldump (1)
- vim (1)
- memcached (4)
- jad (1)
- 微博 (1)
- html5 (1)
- css3 (1)
- httpclient (10)
- google (1)
- shortUrl (1)
- json (2)
- virtualBox (1)
- mantisBT (2)
- htmlunit (1)
- selenium (2)
- mail (1)
- 正则表达式 (4)
- html (3)
- css (2)
- jatoolsPrinter (1)
- 图片处理 (1)
- hql (1)
- webservice (1)
- 分词 (3)
- 短信 (1)
- VPS (1)
- 事务 (1)
- 广告 (1)
- 画廊 (1)
- git (3)
- github (1)
- openshift (1)
- 缓存 (1)
- web (3)
- android (3)
- c3p0 (1)
- 邮箱 (1)
- memcache (2)
- windows (2)
- js (14)
- 编辑器 (1)
- 打印 (1)
- centos (5)
- boneCP (1)
- 连接池 (1)
- sql (1)
- nosql (1)
- MongoDB (1)
- 浏览器 (1)
- node (1)
- node.js (1)
- backbone.js (1)
- lazyload (1)
- Switch Off (1)
- Titanium (1)
- 网站架构 (1)
- WebDriver (1)
- APJP (1)
- 代理 (1)
- comet (1)
- kendoui (1)
- UI (2)
- 互联网 (1)
- localStorage (1)
- 记录 (1)
- 微信 (2)
- Sphinx (1)
- netty (1)
- js,mvvm,Avalon (1)
- 安卓 (1)
- Tengine (1)
- 大数据 (1)
- 手机 (1)
- paypal (1)
- SaaS (1)
- gitlab (1)
- nodejs (1)
- React (1)
- shadowsocks (0)
- vpn (0)
- 验证码 (1)
- SSL (2)
- SEO (1)
- IntelliJ (1)
- 敏捷开发 (1)
- 项目管理 (1)
- 爬虫 (1)
- 正则 (1)
- owncloud (1)
- 云存储 (1)
- ajax (1)
- pjax (1)
- jdk (1)
- zookeeper (1)
- phantomjs (1)
- ELK (1)
- springcloud (1)
- IDEA (1)
- hexo (1)
- ss (1)
- letencrypt (1)
最新评论
-
peakandyuri:
这个是有BUG的,数字小体现不出来,数字大了就不对了,但是Ja ...
java十进制转换N进制并反转换的工具类 -
ginolai:
然后是相关配置:/etc/sysconfig/iptables ...
Linux中iptables设置详细 -
bzhao:
我测试没啥区别啊!
Thread.sleep()和Thread.currentThread().sleep()区别 -
zhl549342097:
match == false
Spring Security 3.1 中功能强大的加密工具 PasswordEncoder -
hellotieye:
renzhengzhi 写道drager 写道用jsoup后解 ...
jsoup select 选择器
看了下Ext.Direct的polling功能还是封装的不错的,所以做了个网页聊天,不是很实用,但是基本可以学会运用了。
来看代码吧:
PS:具体的Ext.Direct的配置这篇就不介绍了,详细请见我写的EXT 3.x 使用详解之Ext.Direct(一),很详细的。
1.先写个JAVA类,如下:
package com.xuyi.web.direct; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import org.apache.commons.lang.StringUtils; import com.softwarementors.extjs.djn.config.annotations.DirectMethod; import com.softwarementors.extjs.djn.config.annotations.DirectPollMethod; import com.xuyi.vo.TestVO; import com.xuyi.vo.User; /** * @author xuyi * */ public class TestDirect { static String chat_words=""; //注意注解 @DirectMethod public String chat(TestVO vo){//这里可以直接使用对象来接收值了,恩,很方便的说 String user = vo.getUser(); String chat = vo.getChat(); if(StringUtils.isNotBlank(user)){ chat_words = chat_words + "<p>用户 " + user + " 在 " + formatDate(new Date()) +" 说: " + chat +"</p>"; } return chat_words; } //direct polling注释 @DirectPollMethod(event="message") public String chatRoom(Map<String,String> params){ //测试polling获得前台的传值 System.out.println(params.get("polling_date")); return chat_words; } private String formatDate(Date date){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); return sdf.format(date); } }
2.TestVO.java
package com.xuyi.vo; /** * @author xuyi * */ public class TestVO { private String user; private String chat; public String getChat() { return chat; } public void setChat(String chat) { this.chat = chat; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } }
3.配置web.xml
web.xml中加入如下代码:
<servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value> /WEB-INF/conf/struts/struts-config.xml </param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet> <servlet-name>DjnServlet</servlet-name> <servlet-class> com.softwarementors.extjs.djn.servlet.DirectJNgineServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>minify</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>providersUrl</param-name> <param-value>djn/directprovider</param-value> </init-param> <init-param> <param-name>batchRequestsMultithreadingEnabled</param-name> <param-value>false</param-value> </init-param> <!-- api域: 对应下面的各个param-name的前缀,可以设置多个不同的域 在value中逗号隔开--> <init-param> <param-name>apis</param-name> <param-value>test</param-value> </init-param> <!-- test.对应上面的域 test/用来安放其自动生成的js文件 --> <init-param> <param-name>test.apiFile</param-name> <param-value>test/test.js</param-value> </init-param> <!-- test.对应上面的域 命名空间会在页面加载时候用上 --> <init-param> <param-name>test.apiNamespace</param-name> <param-value>Ext.xuyi</param-value> </init-param> <!-- test.对应上面的域 类的具体包路径 --> <init-param> <param-name>test.classes</param-name> <param-value>com.xuyi.web.direct.TestDirect</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- 默认servlet路径 --> <servlet-mapping> <servlet-name>DjnServlet</servlet-name> <url-pattern>/djn/directprovider/*</url-pattern> </servlet-mapping>
4.test_direct_polling_1.jsp(适当用了一下jquery.js,哎,割舍不掉啊,毕竟jquery的写法要比ext core简便很多)
<%@ page language="java" pageEncoding="UTF-8"%> <html> <head> <title>Ext3 Direct polling功能示例</title> <script type="text/javascript" src="${ctxPath }/scripts/jquery.js"></script> <script type="text/javascript" src="${ctxPath }/scripts/ext/ext-base.js"></script> <script type="text/javascript" src="${ctxPath }/scripts/ext/ext-all.js"></script> <script type="text/javascript" src="${ctxPath}/test/test.js"></script> </head> <body> <script type="text/javascript"> var html=""; var params={}; //如果namespace相同,那么多个相同namespace下面的方法只需要addProvider一次即可 Ext.Direct.addProvider( Ext.xuyi.REMOTING_API, { id: 'poll', type:'polling', url:Ext.xuyi.POLLING_URLS.message, baseParams:{'polling_date':new Date()}, interval: 500 } ); Ext.Direct.on('message',function(e){ if(html=="<p>"+e.data+"</p>"){ return; }else{ html="<p>"+e.data+"</p>" } $('#main').html(html); $('#hid').hide(); $('#sub').show(); }); function addChat(){ /*使用此方法可以单独设置polling间隔时间 var dp = Ext.Direct.getProvider('poll'); dp.disconnect(); dp.connect.defer(2000, dp); */ params = {'user':$('#user').val(),'chat':$('#chat').val()}; if($.trim($('#user').val())!=''){ $('#sub').hide(); $('#hid').show(); TestDirect.chat(params,function(data){}); } } </script> <div id="main"></div> 聊天:<br/><br/> <div id="sub"> 用户名:<input type="text" id="user" name="user"><br/><br/> 内容:<input type="text" id="chat" name="chat"><br/><br/><input type="submit" value="提交" onclick="addChat();"> </div> <div id="hid" style="display:none"> 提交中...请稍后... </div> </body> </html>
5.好了你可以多开几个网页互相对话了,效果见附图!
发表评论
-
Ext中文官网
2011-12-07 15:01 2235http://extjs.org.cn/ -
[转]EXT设计器破解2.X版本
2011-11-22 09:38 1003找了半天也只有2.X的破解版,凑合玩玩吧。。。 详细见:ht ... -
EXT 3.x 使用详解之Ext.Direct(一)
2010-04-15 16:36 3985感觉EXT3.x增加的最好的功能之一就是这个Ext.Direc ... -
引用一下:EXT调试功能
2010-04-14 22:21 2472在ExtJS开发过程中,经常会遇到怎么也找不到错误的时候,这时 ... -
EXT 3.x 使用详解之Ext.History浏览器前进后退功能(二)--整合grid分页
2010-04-14 17:08 2247这篇是针对我以前所写的一个例子进行了对history的修改,修 ... -
EXT 3.x 使用详解之Ext.History浏览器前进后退功能(一)
2010-04-14 11:02 3502先来做个例子吧,这里写一个ext官方的例子,注意注释: &l ... -
EXT 3.x 使用详解之fileUpload
2010-04-09 23:59 7399哎,首先发泄一下情绪 ... -
EXT 3.x 使用详解之Ext.Viewport综合使用(一)
2010-04-07 16:59 8843本篇介绍了排序自定义,排版布局,以及对ext树和ext的gri ... -
EXT 3.x 使用详解之Ext.grid.GridPanel(三)
2010-04-07 16:05 2432本篇主要介绍了grid的ajax功能以及分页标签功能,具体看代 ... -
EXT 3.x 使用详解之Ext.grid.GridPanel(二)
2010-04-07 15:49 4959本篇主要讲解了grid如何自动调整大小,以便在我们窗口发生变化 ... -
EXT 3.x 使用详解之Ext.grid.GridPanel(一)
2010-04-01 17:59 2177很强大的grid总算登场啦,先来热热身,看下最简单的应用,详细 ... -
EXT 3.x 使用详解之Ext.Window
2010-04-01 17:06 2712这个是最基础的ext使用了,首先先确定要引入source里面哪 ... -
开始研究ext,使用心得
2010-04-01 16:53 1442经过几天的学习和实验,了解到,基本上ext的框架还是十分方便的 ...
相关推荐
https://events.static.linuxfound.org/sites/events/files/slides/lemoal-nvme-polling-vault-2017-final_0.pdf
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
2. **创建Ext.direct API**:在前端,你需要在Ext JS应用中定义一个Ext.direct.Provider,指定与服务器通信的类型(如Remoting或Polling)。然后,你可以声明一系列的methods,每个method对应一个后端的Controller...
GD32F4-GPIO-Key-Polling-mode.rar
Ajax-ajax-long-polling-chat.zip,简单的php 长轮询聊天webapp。,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载...
2. **数据存储与显示**:使用`Ext.data.Store`来存储聊天记录,它可以与服务器进行数据同步,实现消息的历史记录加载。`Ext.grid.Panel`或`Ext.list.ListView`可以用来展示好友列表和聊天记录。 3. **实时通信**:...
第3章 Ext Core实例—.NET语言实现 35 3.1 创建应用并设置开发环境 35 3.2 自定义Membership提供程序 37 3.3 创建母版页 38 3.4 首页设计 42 3.5 产品列表页 47 3.6 产品详细信息页 51 3.7 登录对话框 56 3.8 用户...
这个rar文件里面包含了有uart的代码,并且是移植好了的printf的,可以在secureCRT里面显示信息的,key-polling主要就是加了轮询方式下去检查按键是否有按下这样,然后加上了一点点led,整体很简单的,仅做记录用,...
STC8H8K64U-key-polling method STC8H8K64U-key-polling method STC8H8K64U-key-polling method STC8H8K64U-key-polling method STC8H8K64U-key-polling method STC8H8K64U-key-polling method STC8H8K64U-key-...
在本文中,我们将深入探讨如何使用Node.js来实现一个简单的聊天室功能。Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它以其异步、事件驱动的非阻塞I/O模型而闻名,非常适合构建高性能的网络应用,如聊天室...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
Direct Web Remoting (DWR) 是一个开源的Java库,允许Web应用程序在客户端JavaScript和服务器端Java之间进行双向通信,从而实现Ajax(Asynchronous JavaScript and XML)功能。DWR3.x是DWR的一个版本,提供了许多...