资源简介
1.0版本实现了如下功能:
功能人性化,好友上线、下线时消息提示;
用户收到私人消息时,会收到提示,且页面中Tab的标题会以闪烁的形式提醒用户;
实用高效,该系统具有传统聊天软件的基本功能,可以良好的运行;
用户操作界面美观简洁;
系统只允许一个用户在同一时间内只能有一个登录,重复登录时,会把原来在线的用户强制下线。
可以完美的处理用户所有非正常退出时的情况,如用户直接关闭浏览器,或是按快捷键关闭浏览器以及用户网络断开等情况。
很好的实现了离线消息,用户在登录时,之前的离线消息会弹出来,提醒用户查看。
实现了聊天记录,用户可以查看所有和自己聊过天的人的聊天记录。">1.0版本实现了如下功能:
功能人性化,好友上线、下线时消息提示;
用户收到私人消息时,会收到提示,且页面中Tab的标题会以闪烁的形式提醒用户;
实用高效,该系统具有传统聊天软件的基本功能,可以良好的运行;
用? [更多]
代码片段和文件信息
package com.yunfei.action;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.linkedList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.directwebremoting.scriptBuffer;
import org.directwebremoting.scriptSession;
import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;
import com.yunfei.pojo.Message;
import com.yunfei.pojo.scriptSessionMap;
import com.yunfei.pojo.User;
import com.yunfei.pojo.UserList;
import com.yunfei.service.MessageService;
public class PrivateChat {
private MessageService messageService;
public void setMessageService(MessageService messageService) {
this.messageService = messageService;
}
/**
* 根据sessionid获得指定用户的页面脚本session
*
* @param sessionid
* @return
*/
@SuppressWarnings(“unchecked“)
public scriptSession getscriptSessionByID(String sessionid) {
scriptSessionMap ssm = scriptSessionMap.getInstance();
return ssm.getMap().get(sessionid);
}
public String formatDate(Date d) {
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss“);
String time = sdf.format(d);
return time;
}
/**
* 发送私人聊天消息
*
* @return
*/
public synchronized String sendPrivateMessages(String fromUserName
String toUserName String message String fromUserSessionid
String toUserSessionid String onlineFlag
HttpServletRequest request) {
linkedList privateMsg = null;
// Date d = new Date();
// SimpleDateFormat sdf = new SimpleDateFormat(“HH:mm:ss“);
Date d = messageService.getCurrentTimeFromDB();
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss“);
String time = sdf.format(d);
Message m = new Message();
m.setFromUserName(fromUserName);
m.setToUserName(toUserName);
m.setMessage(message);
m.setSendTime(d);
if (onlineFlag.equals(“online“)) {
m.setFlag(1);
} else {
m.setFlag(0);
}
int msgid = messageService.insertNewMsg(m);
System.out.println(“新插入的消息id是:“ + msgid);
m.setSendDate(time);
HttpSession session = request.getSession();
privateMsg = (linkedList) session.getAttribute(fromUserName
+ “ChatWith“ + toUserName);
if (privateMsg == null) {
privateMsg = new linkedList();
}
privateMsg.addFirst(m);
while (privateMsg.size() > 50) {
privateMsg.removeLast();
}
session
.setAttribute(fromUserName + “ChatWith“ + toUserName
privateMsg);
scriptSession fromUserscriptSession = this
.getscriptSessionByID(fromUserSessionid);
scriptBuffer script = new scriptBuffer();
script.appendscript(“receivePrivateMessages(“).appendData(fromUserName)
.appendscript(““).appendData(toUserName).appendscript(““)
.appendData(fromUserSessionid).appendscript(““).appendData(
privateMsg).appendscript(“);“);
if (onlineFlag.equals(“online“)) {
scriptSess
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2810 2009-05-12 16:56 graduationPrj\.classpath
文件 312 2009-05-12 16:56 graduationPrj\.myme
文件 1231 2009-05-12 16:56 graduationPrj\.project
文件 102 2009-05-12 16:56 graduationPrj\.settings\org.eclipse.core.resources.prefs
文件 1211 2009-05-12 16:56 graduationPrj\src\applicationContext-actions.xm
文件 1462 2009-05-12 16:56 graduationPrj\src\applicationContext-common.xm
文件 903 2009-05-12 16:56 graduationPrj\src\applicationContext-daos.xm
文件 1161 2009-05-12 16:56 graduationPrj\src\applicationContext-services.xm
文件 7390 2009-05-12 16:56 graduationPrj\src\com\yunfei\action\PrivateChat.java
文件 7343 2009-05-12 16:56 graduationPrj\src\com\yunfei\action\PublicChat.java
文件 1707 2009-05-12 16:56 graduationPrj\src\com\yunfei\action\TreeProAction.java
文件 3997 2009-05-12 16:56 graduationPrj\src\com\yunfei\action\UpdateUserTask.java
文件 6870 2009-05-12 16:56 graduationPrj\src\com\yunfei\action\UserAction.java
文件 1856 2009-05-12 16:56 graduationPrj\src\com\yunfei\core\ba
文件 734 2009-05-12 16:56 graduationPrj\src\com\yunfei\core\ConnectionUtil.java
文件 9314 2009-05-12 16:56 graduationPrj\src\com\yunfei\core\MyUtils.java
文件 988 2009-05-12 16:56 graduationPrj\src\com\yunfei\dao\impl\UserDaoImpl.java
文件 649 2009-05-12 16:56 graduationPrj\src\com\yunfei\dao\UserDao.java
文件 2254 2009-05-12 16:56 graduationPrj\src\com\yunfei\filter\DisableUrlSessionFilter.java
文件 1010 2009-05-12 16:56 graduationPrj\src\com\yunfei\filter\EncodingFilter.java
文件 2763 2009-05-12 16:56 graduationPrj\src\com\yunfei\filter\PathFilter.java
文件 2157 2009-05-12 16:56 graduationPrj\src\com\yunfei\filter\UserSessionFilter.java
文件 971 2009-05-12 16:56 graduationPrj\src\com\yunfei\listener\TaskManager.java
文件 2906 2009-05-12 16:56 graduationPrj\src\com\yunfei\pojo\Message.java
文件 850 2009-05-12 16:56 graduationPrj\src\com\yunfei\pojo\PublicChatLog.java
文件 925 2009-05-12 16:56 graduationPrj\src\com\yunfei\pojo\sc
文件 2587 2009-05-12 16:56 graduationPrj\src\com\yunfei\pojo\TreeNode.java
文件 1664 2009-05-12 16:56 graduationPrj\src\com\yunfei\pojo\User.java
文件 5068 2009-05-12 16:56 graduationPrj\src\com\yunfei\pojo\UserBean.java
文件 770 2009-05-12 16:56 graduationPrj\src\com\yunfei\pojo\UserList.java
............此处省略582个文件信息
相关资源
- 图形学经典试验代码1.三维变换2.实时
- 解决RecyclerView item上包含三个或三个以
- ArcGIS Server中Image extension的高级使用
- 机器学习教程、自己动手做聊天机器
- TexturePacker-2.4.5 带破解证书
- EXTJS4.2学习入门教程
- 安卓手机后台监控地理位置,并实时
- 使用Qt实现客户端服务端聊天和传输文
- 多人聊天小程序
- webrtcDemo150521
- 数控机床误差实时补偿技术
- 实时监控数据库变化
- 基于嵌入式实时操作系统的程序设计
- Git GitExtensions KDiff3
- extjs-4.1.1官方免费版
- TX Text Control.NET 14 破解
- [嵌入式实时操作系统μCOS-II原理及应
- QT tcp 聊天室
- 摄像头实时监控与报警系统Opencv
- Sublime Text Build 3126 setup &x64 Setup
- D3D三层Texture纹理经像素着色器实现渲
- Ext JS6 by Example中文版(含源码).rar
- TextMeshPro中文字体
- Vega实时三维视景仿真技术
- TexturePacker3.1.2破解版
- Qt 局域网实时语音通话
- SpringMVC注解整合Mybatis和ExtJs5.0
- 百度地图实时轨迹Demo
- DirectX实时渲染技术详解第二部分含源
- Texture Adjustments 2020.2.unitypackage
评论
共有 条评论