资源简介
该项目实现了显示在线好友,支持离线消息,等用户上线后进行推送,用户退出也进行推送消息。

代码片段和文件信息
/**
*
*/
package com.tc.chat.controller;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.google.gson.Gson;
import com.tc.chat.domain.Message;
import com.tc.chat.domain.User;
import com.tc.chat.service.FriendService;
import com.tc.chat.service.MessageService;
import com.tc.chat.service.UserService;
import com.tc.chat.vo.ChatFriend;
import com.tc.chat.websocket.WebSocketUtils;
/**
* @ClassName: FriendController
* @Description: TODO
* @author Simple
* @date 2017-6-20 上午11:16:27
*
*/
@Controller
public class FriendController {
@Autowired
private FriendService friendService;
@Autowired
private UserService userService;
@Autowired
private MessageService messageService;
@RequestMapping(“/list“)
public String friendList(Long userIdModel modelHttpServletRequest request) throws Exception{
User user=userService.getUserById(userId);
ArrayList friendList=friendService.getFriendList(userId);
ArrayList chatFriends=messageService.getChatFriends(userId);
model.addAttribute(“friendList“ friendList);
model.addAttribute(“chatFriends“ chatFriends);
model.addAttribute(“user“user);
return “main“;
}
@RequestMapping(“/online“)
public @ResponseBody void getOnline(Long loginId) throws Exception{
ArrayList users=friendService.getFriendList(loginId);
for (User user : users) {
if(WebSocketUtils.hasConnection(user.getUserId()+““)){
Message message=new Message();
message.setMessageType(“2“);
message.setMessageInfo(user.getUserId()+““);
Gson gson=new Gson();
WebSocketUtils.get(loginId+““).getBasicRemote().sendText(gson.toJson(message));
}
}
}
@RequestMapping(“/noticeFriends“)
public @ResponseBody void noticeFriends(Long loginId) throws Exception{
ArrayList users=friendService.getFriendList(loginId);
for (User user : users) {
if(WebSocketUtils.hasConnection(user.getUserId()+““)){
Message message=new Message();
message.setMessageType(“2“);
message.setMessageInfo(loginId+““);
Gson gson=new Gson();
WebSocketUtils.get(user.getUserId()+““).getBasicRemote().sendText(gson.toJson(message));
}
}
}
@RequestMapping(“/outline“)
public @ResponseBody void noticeFriendsOutLine(Long loginId) throws Exception{
System.out.println(WebSocketUtils.clients.size());
System.out.println(“22退出id“+loginId);
ArrayList users=friendService.getFriendList(loginId);
for (User user : users) {
if(WebSocketUtils.hasConnection(user.getUserId()+““)){
Message messag
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-06-21 14:55 新建文件夹\
目录 0 2017-06-21 14:54 新建文件夹\MyChat\
文件 1317 2017-06-15 15:19 新建文件夹\MyChat\.classpath
文件 1507 2017-06-15 15:22 新建文件夹\MyChat\.project
目录 0 2017-06-21 14:54 新建文件夹\MyChat\.settings\
文件 597 2017-06-15 15:19 新建文件夹\MyChat\.settings\.jsdtscope
文件 191 2017-06-15 15:19 新建文件夹\MyChat\.settings\org.eclipse.core.resources.prefs
文件 430 2017-06-15 15:19 新建文件夹\MyChat\.settings\org.eclipse.jdt.core.prefs
文件 90 2017-06-15 15:19 新建文件夹\MyChat\.settings\org.eclipse.m2e.core.prefs
文件 662 2017-06-15 15:19 新建文件夹\MyChat\.settings\org.eclipse.wst.common.component
文件 171 2017-06-15 15:29 新建文件夹\MyChat\.settings\org.eclipse.wst.common.project.facet.core.prefs.xm
文件 450 2017-06-15 15:29 新建文件夹\MyChat\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2017-06-15 15:19 新建文件夹\MyChat\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2017-06-15 15:19 新建文件夹\MyChat\.settings\org.eclipse.wst.jsdt.ui.superType.name
文件 5909 2017-06-20 14:02 新建文件夹\MyChat\pom.xm
目录 0 2017-06-21 14:54 新建文件夹\MyChat\src\
目录 0 2017-06-21 14:54 新建文件夹\MyChat\src\main\
目录 0 2017-06-21 14:54 新建文件夹\MyChat\src\main\java\
目录 0 2017-06-21 14:54 新建文件夹\MyChat\src\main\java\com\
目录 0 2017-06-21 14:54 新建文件夹\MyChat\src\main\java\com\tc\
目录 0 2017-06-21 14:54 新建文件夹\MyChat\src\main\java\com\tc\chat\
目录 0 2017-06-21 14:54 新建文件夹\MyChat\src\main\java\com\tc\chat\controller\
文件 3240 2017-06-21 14:38 新建文件夹\MyChat\src\main\java\com\tc\chat\controller\FriendController.java
文件 2366 2017-06-21 13:51 新建文件夹\MyChat\src\main\java\com\tc\chat\controller\MessageController.java
文件 886 2017-06-21 14:56 新建文件夹\MyChat\src\main\java\com\tc\chat\controller\UserController.java
目录 0 2017-06-21 14:54 新建文件夹\MyChat\src\main\java\com\tc\chat\domain\
文件 888 2017-06-20 11:00 新建文件夹\MyChat\src\main\java\com\tc\chat\domain\Friend.java
文件 1471 2017-06-20 12:50 新建文件夹\MyChat\src\main\java\com\tc\chat\domain\Message.java
文件 1365 2017-06-20 11:00 新建文件夹\MyChat\src\main\java\com\tc\chat\domain\User.java
目录 0 2017-06-21 14:54 新建文件夹\MyChat\src\main\java\com\tc\chat\mapper\
文件 562 2017-06-20 11:20 新建文件夹\MyChat\src\main\java\com\tc\chat\mapper\FriendMapper.java
............此处省略235个文件信息
相关资源
- 登录注册界面.zip48872
- Web Api 通过文件流 文件到本地
-
大数据。基于Hba
se的网站日志分析系 - Servlet API中文文档
- 编写简单的RMI程序 多线程web 服务器
- 基于web的毕业设计开题报告
- web班级网站设计代码
- websocket实现一对一聊天
- 3DWebGIS 3DWebGIS
- web js虚拟键盘(中英文切换)
- WinCE中的Web Service调用
- WEB系统界面设计模板(很漂亮)
- web民族旅游网站源码
- 基于Web的高校教务管理系统的设计与
- 通过webservice上传和下载文件
- 基于SSM+CXF构建的RESTFul webservice
- 基于串口设备的嵌入式Web服务器系统
-
UnityWebPla
yer及UnityWebPla yerFull -
UnityWebPla
yerFull - 海康威视 WEB无插件开发包 V3.2
- 学生学籍管理系统web
- web开发舔狗日记 框架bootstrap
- 很好用的网站前端页面爬取工具
- NetApp NetCache助HypoVereinsbank实现安全快
- 最新WebShell管理工具增强版3.0
- IBM日本和东京三菱银行基于Web服务开
- 基于web的图书馆运营系统
- AdminLTE完整版
- 使用delphi+intraweb进行微信开发1~4代码
- springboot+webflux+mongodb+freemarker
评论
共有 条评论