资源简介

此项目有各种聊天效果,实现表情 和字体颜色的选择, 还有私聊,群聊,离开聊天室都有提示, 另外有显示在线总人数和账号的公告栏! 下载解压导入就能运行,无需加载其他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\.mymetadata
     文件        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-base\
     目录           0  2013-01-06 19:28  chat2013\WebRoot\CSS\.svn\props\
     目录           0  2013-01-06 19:28  chat2013\WebRoot\CSS\.svn\text-base\
     文件        2176  2013-01-06 15:16  chat2013\WebRoot\CSS\.svn\text-base\style.css.svn-base
     目录           0  2013-01-06 19:28  chat2013\WebRoot\CSS\.svn\tmp\
     目录           0  2013-01-06 19:28  chat2013\WebRoot\CSS\.svn\tmp\prop-base\
     目录           0  2013-01-06 19:28  chat2013\WebRoot\CSS\.svn\tmp\props\
     目录           0  2013-01-06 19:28  chat2013\WebRoot\CSS\.svn\tmp\text-base\
     文件        2176  2012-10-11 09:14  chat2013\WebRoot\CSS\style.css
     目录           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-base\
     目录           0  2013-01-06 19:28  chat2013\WebRoot\JS\.svn\props\
     目录           0  2013-01-06 19:28  chat2013\WebRoot\JS\.svn\text-base\
............此处省略102个文件信息

评论

共有 条评论