• 大小: 12.38MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-26
  • 语言: 其他
  • 标签: ext  聊天  实时  

资源简介

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\.mymetadata

     文件       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.xml

     文件       1462  2009-05-12 16:56  graduationPrj\src\applicationContext-common.xml

     文件        903  2009-05-12 16:56  graduationPrj\src\applicationContext-daos.xml

     文件       1161  2009-05-12 16:56  graduationPrj\src\applicationContext-services.xml

     文件       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\baseAction.java

     文件        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\scriptSessionMap.java

     文件       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个文件信息

评论

共有 条评论