package test;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Date;
import java.util.Iterator;
import java.util.Map;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/***
* 用户发送消息
* @author Administrator
*
*/
public class MessageAcceptServlet extends HttpServlet {
public void service(HttpServletRequest request,HttpServletResponse response){
try {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
String message = request.getParameter("message");
try {
message = URLDecoder.decode(message,"utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//得到sessionID
String sessionId = request.getSession().getId();
Map<String,User> map = RegisterManager.user;
if(map.containsKey(sessionId)){
User user = map.get(sessionId);
//向氖用户发消息
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
String key = (String)entry.getKey();
User value = (User)entry.getValue(); //得到单个用户
//查看用户状态
Date date = value.getDate();
Date now = new Date();
if(now.getTime()-date.getTime()>180000){//时间超过3分钟就将用户删除
map.remove(key);
}else{//向用户发消息
Push push = new Push(value,message,user.getName());
Thread thread1 = new Thread(push);
thread1.start();
try {
Thread.currentThread().sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}else{
//session过期了提示重新来
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Test.rar (31个子文件)
Test
.project 2KB
.mymetadata 285B
src
test
MessageSendServlet.java 1KB
User.java 956B
MessageAcceptServlet.java 2KB
FilterTest.java 675B
RegisterManager.java 2KB
Push.java 956B
WebRoot
show.jsp 1KB
WEB-INF
classes
test
User.class 1KB
MessageAcceptServlet.class 3KB
FilterTest.class 1KB
MessageSendServlet.class 2KB
RegisterManager.class 2KB
Push.class 2KB
lib
web.xml 1KB
register.jsp 983B
index.jsp 831B
send.jsp 1KB
META-INF
MANIFEST.MF 36B
ajax.js 1KB
.myeclipse
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.jdt.core.prefs 629B
org.eclipse.wst.jsdt.ui.superType.name 6B
com.genuitec.eclipse.j2eedt.core.prefs 1KB
org.eclipse.core.resources.prefs 157B
org.eclipse.wst.common.component 450B
.jsdtscope 500B
.myumldata 66B
.classpath 529B
共 31 条
- 1
bichir
- 粉丝: 116
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
前往页