資源簡介
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個文件信息
評論
共有 條評論