//消息采用读取数据库模式实现,并非socket或者其他通讯主件
public void doGet(HttpServletRequest request, HttpServletResponse response) {
HttpSession session=request.getSession();
PrintWriter printWriter=response.getWriter();
String action = request.getParameter("action");
User user= SessionUtils.getUser(request);
if ("sendMsg".equals(action)) {//发送消息
String message=request.getParameter("message");
String receiveId=request.getParameter("receiveId");
Chat chat=new Chat();
chat.setUserId(user.getId());
chat.setUserName(user.getNickName());
chat.setMessage(message);
chat.setStatus(0);
chat.setReceiveId(Integer.valueOf(receiveId));
chat.setCreateTime(DateUtil.formatDateTime(new Date()));
Posts posts=new Posts();
posts.setReleaseId(user.getId());
chatService.addChat(chat);
printWriter.println("0");
session.setAttribute(user.getId()+":"+receiveId,message);
//添加推送
Notice notice=new Notice();
notice.setNoticeUserId(Integer.valueOf(receiveId));
notice.setUserId(user.getId());
notice.setNoticeType(3);
notice.setIsRead(0);
Notice isExtis=noticeService.getNotice(notice);
if(null==isExtis){
System.out.println("添加推送");
notice.setUserName(user.getUserName());
notice.setPostTitle(message);
noticeService.addNotice(notice); //添加通知
}else{
System.out.println("有未读消息,不添加推送");
}
}else if ("getMsg".equals(action)) {//获取消息
String sendUserId=request.getParameter("sendUserId"); //发送人id
String receiveId=request.getParameter("receiveId"); //接收人
Chat chat=new Chat();
chat.setUserId(Integer.valueOf(sendUserId));
chat.setReceiveId(Integer.valueOf(receiveId));
chat.setStatus(0);
List list=chatService.getChatList(chat);
if(list.size()>0){
printWriter.println(JSONUtil.toJsonStr(list));
for(Chat c:list){
c.setStatus(1);
chatService.updateChat(c);
}
}else{
printWriter.println("");
}
printWriter.close();
}
}
//前端jsp页面代码
发送(s)