package cn.netjava.dwr;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import org.directwebremoting.ScriptSession;
import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;
import org.directwebremoting.proxy.dwr.Util;
public class ChatWithSamePage {
private LinkedList messages = new LinkedList();
public void sendWebMessage(String text){
System.out.println("text===================================="+text);
WebContext wctx = WebContextFactory.get();
//获取ip地址
String remoteAdd = wctx.getHttpServletRequest().getRemoteAddr();
text = "来自"+remoteAdd+"的朋友说:"+text;
if(text!=null&&text.trim().length()>0){
messages.addFirst(new WebMessage(text));
while(messages.size()>20){
//只保留前10行的缓存
messages.removeLast();
}
}
//将队列中的消息通知到所有客户端
notifyAllClient(wctx, messages);
}
public void notifyAllClient(WebContext wctx,List msgQueue){
//获得当前页的相对路径 /netjavaDWR/MyJsp.jsp
String currentPage = wctx.getCurrentPage();
System.out.println("currentPage=========================================="+currentPage);
//清除掉浏览器中输入文本域 在当前页释放掉
Util utilThis = new Util(wctx.getScriptSession());
utilThis.setValue("text", "");
//成为所有浏览器中当前页的结果
Collection<ScriptSession> sessions = wctx.getScriptSessionsByPage(currentPage);
Util utilAll = new Util(sessions);
//清楚列表,添加新的信息
utilAll.removeAllOptions("chatlog");
utilAll.addOptions("chatlog", messages,"text");
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
DWR实例.rar (86个子文件)
netjavaDWR
.settings
org.eclipse.core.resources.prefs 88B
src
cn
netjava
dwr
WebMessage.java 513B
FirstDWR.java 358B
UserManager.java 1KB
UserInfo.java 701B
ChatWithSamePage.java 2KB
.project 1KB
WebRoot
image
027.gif 2KB
023.gif 2KB
028.gif 2KB
037.gif 781B
042.gif 722B
040.gif 734B
008.gif 5KB
047.gif 551B
050.gif 506B
061.gif 276B
048.gif 530B
032.gif 1KB
064.gif 261B
002.gif 21KB
005.gif 7KB
007.gif 6KB
010.gif 3KB
058.gif 381B
056.gif 397B
049.gif 510B
029.gif 1KB
052.gif 462B
012.gif 3KB
031.gif 1KB
004.gif 10KB
016.gif 3KB
030.gif 1KB
001.gif 22KB
039.gif 735B
053.gif 429B
046.gif 671B
013.gif 3KB
060.gif 276B
015.gif 3KB
062.gif 276B
035.gif 878B
038.gif 781B
051.gif 462B
003.gif 14KB
026.gif 2KB
022.gif 2KB
041.gif 729B
018.gif 2KB
044.gif 702B
011.gif 3KB
025.gif 2KB
017.gif 2KB
045.gif 701B
019.gif 2KB
065.gif 197B
009.gif 4KB
036.gif 840B
006.gif 7KB
014.gif 3KB
063.gif 276B
055.gif 405B
059.gif 310B
034.gif 1017B
020.gif 2KB
054.gif 422B
043.gif 721B
024.gif 2KB
021.gif 2KB
057.gif 385B
033.gif 1024B
META-INF
MANIFEST.MF 39B
WEB-INF
web.xml 687B
dwr.xml 757B
classes
cn
netjava
dwr
FirstDWR.class 1KB
UserManager.class 2KB
WebMessage.class 1KB
ChatWithSamePage.class 3KB
UserInfo.class 1KB
lib
dwr.jar 491KB
userManager.jsp 6KB
testDWR.jsp 3KB
MyJsp.jsp 1KB
.mymetadata 303B
.classpath 406B
.myeclipse
共 86 条
- 1
资源评论
slzs_zyt
- 粉丝: 4
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功