資源簡介
此項目有各種聊天效果,實現表情 和字體顏色的選擇,
還有私聊,群聊,離開聊天室都有提示,
另外有顯示在線總人數和賬號的公告欄!
下載解壓導入就能運行,無需加載其他jar包,
絕對是個值得學習的好項目,
開源從分享開始,希望大家多分享自己的代碼。。。。

代碼片段和文件信息
package?com.cheney.chat;
import?java.io.File;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.PrintWriter;
import?java.text.DateFormat;
import?java.text.SimpleDateFormat;
import?java.util.Date;
import?java.util.Iterator;
import?java.util.Random;
import?java.util.Vector;
import?javax.servlet.ServletException;
import?javax.servlet.http.HttpServlet;
import?javax.servlet.http.HttpServletRequest;
import?javax.servlet.http.HttpServletResponse;
import?javax.servlet.http.HttpSession;
import?org.jdom.Document;
import?org.jdom.Element;
import?org.jdom.JDOMException;
import?org.jdom.input.SAXBuilder;
import?org.jdom.output.Format;
import?org.jdom.output.xmlOutputter;
public?class?MessagesAction?extends?HttpServlet?{
/**
?*?Constructor?of?the?object.
?*/
public?MessagesAction()?{
super();
}
/**
?*?Destruction?of?the?servlet.?
?*/
public?void?destroy()?{
super.destroy();?//?Just?puts?“destroy“?string?in?log
//?Put?your?code?here
}
/**
?*?The?doGet?method?of?the?servlet.?
?*
?*?This?method?is?called?when?a?form?has?its?tag?value?method?equals?to?get.
?*?
?*?@param?request?the?request?send?by?the?client?to?the?server
?*?@param?response?the?response?send?by?the?server?to?the?client
?*?@throws?ServletException?if?an?error?occurred
?*?@throws?IOException?if?an?error?occurred
?*/
public?void?doGet(HttpServletRequest?request?HttpServletResponse?response)
throws?ServletException?IOException?{
doPost(request?response);
}
/**
?*?The?doPost?method?of?the?servlet.?
?*
?*?This?method?is?called?when?a?form?has?its?tag?value?method?equals?to?post.
?*?
?*?@param?request?the?request?send?by?the?client?to?the?server
?*?@param?response?the?response?send?by?the?server?to?the?client
?*?@throws?ServletException?if?an?error?occurred
?*?@throws?IOException?if?an?error?occurred
?*/
public?void?doPost(HttpServletRequest?request?HttpServletResponse?response)
throws?ServletException?IOException?{
String?action?=?request.getParameter(“action“);
if?(“getMessages“.equals(action))?{ //從xml文件中讀取聊天信息
this.getMessages(request?response);
}?else?if?(“sendMessage“.equals(action))?{ //發送聊天信息
this.sendMessages(request?response);
}?else?if?(“loginRoom“.equals(action))?{ //登錄時,寫入系統公告
this.loginRoom(request?response);
}
}
//?讀取保存聊天信息的xml文件
public?void?getMessages(HttpServletRequest?requestHttpServletResponse?response)?{
response.setContentType(“text/html;charset=GBK“);
String?fileURL?=?createFile(request?response);?//?當文件不存在時創建該文件
/*******************開始解析保存聊天內容的xml文件**********************/
Document?feedDoc?=null;
try?{
SAXBuilder?builder?=?new?SAXBuilder();
feedDoc?=?builder.build(fileURL);?//得到xml的文件
Element?root?=?feedDoc.getRootElement(); //獲取根節點
Element?channel?=?root.getChild(“messages“); //獲取messages節點?還有一種xpath讀法
Iterator?items?=?channel.getChil
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-01-06?19:28??chat2013\
?????文件?????????951??2013-01-06?15:17??chat2013\.classpath
?????目錄???????????0??2013-01-06?19:28??chat2013\.myeclipse\
?????文件?????????297??2013-01-06?15:09??chat2013\.myme
?????文件????????1414??2013-01-06?16:01??chat2013\.project
?????目錄???????????0??2013-01-06?19:28??chat2013\.settings\
?????文件?????????500??2013-01-06?15:09??chat2013\.settings\.jsdtscope
?????文件?????????330??2013-01-06?15:09??chat2013\.settings\org.eclipse.jdt.core.prefs
?????文件??????????49??2013-01-06?15:09??chat2013\.settings\org.eclipse.wst.jsdt.ui.superType.container
?????文件???????????6??2013-01-06?15:09??chat2013\.settings\org.eclipse.wst.jsdt.ui.superType.name
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\CSS\
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\CSS\.svn\
?????文件?????????178??2013-01-06?15:16??chat2013\WebRoot\CSS\.svn\all-wcprops
?????文件?????????327??2013-01-06?15:16??chat2013\WebRoot\CSS\.svn\entries
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\CSS\.svn\prop-ba
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\CSS\.svn\props\
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\CSS\.svn\text-ba
?????文件????????2176??2013-01-06?15:16??chat2013\WebRoot\CSS\.svn\text-ba
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\CSS\.svn\tmp\
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\CSS\.svn\tmp\prop-ba
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\CSS\.svn\tmp\props\
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\CSS\.svn\tmp\text-ba
?????文件????????2176??2012-10-11?09:14??chat2013\WebRoot\CSS\st
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\JS\
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\JS\.svn\
?????文件?????????186??2013-01-06?15:17??chat2013\WebRoot\JS\.svn\all-wcprops
?????文件?????????331??2013-01-06?15:17??chat2013\WebRoot\JS\.svn\entries
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\JS\.svn\prop-ba
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\JS\.svn\props\
?????目錄???????????0??2013-01-06?19:28??chat2013\WebRoot\JS\.svn\text-ba
............此處省略102個文件信息
- 上一篇:淘寶jsp項目源代碼和頁面
- 下一篇:Android BLE實現對藍牙的讀寫
評論
共有 條評論