资源简介
该项目实现了显示在线好友,支持离线消息,等用户上线后进行推送,用户退出也进行推送消息。
代码片段和文件信息
/**
*
*/
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个文件信息
相关资源
- web开发js架构
- HTTP使用WEBLOGIC修改为HTTPS协议
- 软件测试WEB测试论文
- WebCrack4路由密码破解工具
- WebGIS前端开发demo
- 2020年湖南省职业院校技能大赛Web应用
- webview下拉刷新
- web框架PPT——Struts 2+Hibernate+MyBatis+S
- 个人理财管理系统
- Flask web Develop 英文原版
- 基于struts和hibernate的学生信息管理系
- 海康威视web3.0开发包
- 大华webdemo
- selenium webdriver_第三版
- WebEssentials2013
- Webserver Stress Tool 8.0.0.1010 Setup (Free
- web课程设计197005
- 基于web的公交查询系统
- 精通WebSphere Message Broker
- fiddler抓包教程
- NXP LPC1768 Rtthread/裸机+lwip WEB服务器
- 问卷调查系统
- 软件工程课程设计 WEB的网上书店系统
- WebRTC零基础开发者教程(纯净版)
- webos开源教程(适合新手)
- 基于web的电子海图综述
- Web课程设计
- 基于web投票系统(20131112
- web--文档管理系统
- web 汽车零件销售网源码
评论
共有 条评论