下载资源后端资源详情
onLineChat.zip
大小:6.8MB
价格:48积分
下载量:0
评分:
5.0
上传者:ae86jaychou
更新日期:2025-09-22

基于Websocket的在线聊天源码

资源文件列表(大概)

文件名
大小
onLineChat/
-
onLineChat/.classpath
2.93KB
onLineChat/.myhibernatedata
353B
onLineChat/.project
1.3KB
onLineChat/.settings/
-
onLineChat/.settings/.jsdtscope
522B
onLineChat/.settings/com.genuitec.eclipse.core.prefs
104B
onLineChat/.settings/com.genuitec.runtime.libraries.xml
357B
onLineChat/.settings/org.eclipse.core.resources.prefs
102B
onLineChat/.settings/org.eclipse.jdt.core.prefs
598B
onLineChat/.settings/org.eclipse.wst.common.component
489B
onLineChat/.settings/org.eclipse.wst.common.project.facet.core.xml
515B
onLineChat/.settings/org.eclipse.wst.jsdt.ui.superType.container
49B
onLineChat/.settings/org.eclipse.wst.jsdt.ui.superType.name
6B
onLineChat/src/
-
onLineChat/src/com/
-
onLineChat/src/com/chat/
-
onLineChat/src/com/chat/common/
-
onLineChat/src/com/chat/common/HTMLFilter.java
2.11KB
onLineChat/src/com/chat/common/JsonUtil.java
6.4KB
onLineChat/src/com/chat/common/MyHibernateSessionFactory.java
1.13KB
onLineChat/src/com/chat/controller/
-
onLineChat/src/com/chat/controller/UserDAO.java
1.36KB
onLineChat/src/com/chat/controller/UserDAOImpl.java
15.82KB
onLineChat/src/com/chat/entity/
-
onLineChat/src/com/chat/entity/chatrecord.hbm.xml
898B
onLineChat/src/com/chat/entity/ChatRecord.java
1.11KB
onLineChat/src/com/chat/entity/evaluate.hbm.xml
794B
onLineChat/src/com/chat/entity/Evaluate.java
984B
onLineChat/src/com/chat/entity/relation.hbm.xml
871B
onLineChat/src/com/chat/entity/Relation.java
1.19KB
onLineChat/src/com/chat/entity/user.hbm.xml
868B
onLineChat/src/com/chat/entity/User.java
1.15KB
onLineChat/src/com/chat/service/
-
onLineChat/src/com/chat/service/DownloadAction.java
320B
onLineChat/src/com/chat/service/SuperAction.java
1.13KB
onLineChat/src/com/chat/service/UserAction.java
5.93KB
onLineChat/src/com/chat/servlet/
-
onLineChat/src/com/chat/servlet/DownloadChatRecords.java
2.12KB
onLineChat/src/com/chat/servlet/MySessionListener.java
1.37KB
onLineChat/src/hibernate.cfg.xml
1.27KB
onLineChat/src/struts.xml
2.16KB
onLineChat/src/websocket/
-
onLineChat/src/websocket/chat/
-
onLineChat/src/websocket/chat/ChatAnnotation.java
4.43KB
onLineChat/src/websocket/chat/GetHttpSessionConfigurator.java
629B
onLineChat/WebRoot/
-
onLineChat/WebRoot/css/
-
onLineChat/WebRoot/css/bootstrap.min.css
97.22KB
onLineChat/WebRoot/css/index_style.css
7.31KB
onLineChat/WebRoot/css/style.css
39.03KB
onLineChat/WebRoot/images/
-
onLineChat/WebRoot/images/bg.jpg
19.28KB
onLineChat/WebRoot/images/city.jpg
159.6KB
onLineChat/WebRoot/images/class.jpg
31.15KB
onLineChat/WebRoot/images/contact-no.png
2.87KB
onLineChat/WebRoot/images/contact.png
2.91KB
onLineChat/WebRoot/images/default.png
75.44KB
onLineChat/WebRoot/images/eclipse.jpg
13.54KB
onLineChat/WebRoot/images/file.png
2.91KB
onLineChat/WebRoot/images/head-img.png
11.24KB
onLineChat/WebRoot/images/jay.png
171.25KB
onLineChat/WebRoot/images/laughter.png
3.26KB
onLineChat/WebRoot/images/man-no.png
3.09KB
onLineChat/WebRoot/images/man.png
3.11KB
onLineChat/WebRoot/images/ourjay.png
3.27KB
onLineChat/WebRoot/images/screen.png
3.27KB
onLineChat/WebRoot/images/search.png
3.07KB
onLineChat/WebRoot/images/weixin-no.png
3.15KB
onLineChat/WebRoot/images/weixin.png
3.11KB
onLineChat/WebRoot/index.jsp
20.8KB
onLineChat/WebRoot/js/
-
onLineChat/WebRoot/js/jquery-1.12.0.min.js
95.08KB
onLineChat/WebRoot/login.jsp
2.15KB
onLineChat/WebRoot/META-INF/
-
onLineChat/WebRoot/META-INF/MANIFEST.MF
39B
onLineChat/WebRoot/records/
-
onLineChat/WebRoot/register.jsp
2.13KB
onLineChat/WebRoot/WEB-INF/
-
onLineChat/WebRoot/WEB-INF/classes/
-
onLineChat/WebRoot/WEB-INF/classes/com/
-
onLineChat/WebRoot/WEB-INF/classes/com/chat/
-
onLineChat/WebRoot/WEB-INF/classes/com/chat/common/
-
onLineChat/WebRoot/WEB-INF/classes/com/chat/common/HTMLFilter.class
1.07KB
onLineChat/WebRoot/WEB-INF/classes/com/chat/common/JsonUtil.class
5.33KB
onLineChat/WebRoot/WEB-INF/classes/com/chat/common/MyHibernateSessionFactory.class
1.52KB
onLineChat/WebRoot/WEB-INF/classes/com/chat/controller/
-
onLineChat/WebRoot/WEB-INF/classes/com/chat/controller/UserDAO.class
982B
onLineChat/WebRoot/WEB-INF/classes/com/chat/controller/UserDAOImpl.class
13.14KB
onLineChat/WebRoot/WEB-INF/classes/com/chat/entity/
-
onLineChat/WebRoot/WEB-INF/classes/com/chat/entity/ChatRecord.class
1.59KB
onLineChat/WebRoot/WEB-INF/classes/com/chat/entity/chatrecord.hbm.xml
898B
onLineChat/WebRoot/WEB-INF/classes/com/chat/entity/Evaluate.class
1.32KB
onLineChat/WebRoot/WEB-INF/classes/com/chat/entity/evaluate.hbm.xml
794B
onLineChat/WebRoot/WEB-INF/classes/com/chat/entity/Relation.class
1.99KB
onLineChat/WebRoot/WEB-INF/classes/com/chat/entity/relation.hbm.xml
871B
onLineChat/WebRoot/WEB-INF/classes/com/chat/entity/User.class
1.87KB
onLineChat/WebRoot/WEB-INF/classes/com/chat/entity/user.hbm.xml
868B
onLineChat/WebRoot/WEB-INF/classes/com/chat/service/
-
onLineChat/WebRoot/WEB-INF/classes/com/chat/service/DownloadAction.class
578B
onLineChat/WebRoot/WEB-INF/classes/com/chat/service/SuperAction.class
1.27KB
onLineChat/WebRoot/WEB-INF/classes/com/chat/service/UserAction.class
6.35KB
onLineChat/WebRoot/WEB-INF/classes/com/chat/servlet/
-
onLineChat/WebRoot/WEB-INF/classes/com/chat/servlet/DownloadChatRecords.class
3.39KB
onLineChat/WebRoot/WEB-INF/classes/com/chat/servlet/MySessionListener.class
1.86KB
onLineChat/WebRoot/WEB-INF/classes/hibernate.cfg.xml
1.27KB
onLineChat/WebRoot/WEB-INF/classes/struts.xml
2.16KB
onLineChat/WebRoot/WEB-INF/classes/websocket/
-
onLineChat/WebRoot/WEB-INF/classes/websocket/chat/
-
onLineChat/WebRoot/WEB-INF/classes/websocket/chat/ChatAnnotation.class
5.09KB
onLineChat/WebRoot/WEB-INF/classes/websocket/chat/GetHttpSessionConfigurator.class
1.26KB
onLineChat/WebRoot/WEB-INF/lib/
-
onLineChat/WebRoot/WEB-INF/lib/asm-5.1.jar
52.21KB
onLineChat/WebRoot/WEB-INF/lib/asm-commons-5.1.jar
46.09KB
onLineChat/WebRoot/WEB-INF/lib/asm-tree-5.1.jar
28.45KB
onLineChat/WebRoot/WEB-INF/lib/commons-beanutils-1.7.0.jar
184.25KB
onLineChat/WebRoot/WEB-INF/lib/commons-collections-3.2.1.jar
561.9KB
onLineChat/WebRoot/WEB-INF/lib/commons-fileupload-1.3.2.jar
68.63KB
onLineChat/WebRoot/WEB-INF/lib/commons-io-2.4.jar
180.8KB
onLineChat/WebRoot/WEB-INF/lib/commons-lang-2.4.jar
255.67KB
onLineChat/WebRoot/WEB-INF/lib/commons-lang3-3.4.jar
424.49KB
onLineChat/WebRoot/WEB-INF/lib/commons-logging-1.1.3.jar
60.6KB
onLineChat/WebRoot/WEB-INF/lib/ezmorph-1.0.3.jar
76KB
onLineChat/WebRoot/WEB-INF/lib/freemarker-2.3.23.jar
1.29MB
onLineChat/WebRoot/WEB-INF/lib/javassist-3.20.0-GA.jar
732.99KB
onLineChat/WebRoot/WEB-INF/lib/json-lib-2.2.3-jdk15.jar
145.01KB
onLineChat/WebRoot/WEB-INF/lib/log4j-api-2.7.jar
213.87KB
onLineChat/WebRoot/WEB-INF/lib/mysql-connector-java-5.1.7-bin.jar
693.28KB
onLineChat/WebRoot/WEB-INF/lib/ognl-3.1.12.jar
230.13KB
onLineChat/WebRoot/WEB-INF/lib/struts2-core-2.5.10.1.jar
1.52MB
onLineChat/WebRoot/WEB-INF/lib/struts2-json-plugin-2.5.10.1.jar
75.12KB
onLineChat/WebRoot/WEB-INF/lib/tomcat-juli.jar
37.31KB
onLineChat/WebRoot/WEB-INF/lib/websocket-api.jar
35.42KB
onLineChat/WebRoot/WEB-INF/web.xml
1.28KB

资源内容介绍

本人不擅长前端,jsp页面可能不适合所有分辨率,但是核心功能都在后台代码上,希望大家可以弄懂源码,写出性能更强的聊天功能!
package com.chat.controller;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.sql.Date;import java.util.ArrayList;import java.util.List;import net.sf.json.JSONArray;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;import com.chat.common.MyHibernateSessionFactory;import com.chat.entity.ChatRecord;import com.chat.entity.Evaluate;import com.chat.entity.Relation;import com.chat.entity.User;public class UserDAOImpl implements UserDAO {//用户登录@Overridepublic List usersLogin(User u) {Transaction transaction = null;Session session = null;try {String hql = "from User where username=? and password=?";session = MyHibernateSessionFactory.getSessionFactory().getCurrentSession();transaction = session.beginTransaction();//开始事务Query query = session.createQuery(hql);query.setParameter(0,u.getUsername());query.setParameter(1, u.getPassword());List list = query.list();transaction.commit();return list;} catch (Exception e) {e.printStackTrace();return null;}finally{MyHibernateSessionFactory.close(session);MyHibernateSessionFactory.close(transaction);}}public boolean changeLoginStatus(String uid,int status){Transaction transaction = null;Session session = null;try {String hql = "update User u set u.status=? where u.id=?"; session = MyHibernateSessionFactory.getSessionFactory().getCurrentSession();transaction = session.beginTransaction();Query query = session.createQuery(hql);query.setParameter(0,status);query.setParameter(1, uid);int i = query.executeUpdate();transaction.commit();if(i==1){return true;}else{return false;}} catch (Exception e) {e.printStackTrace();transaction.rollback();return false;}finally{MyHibernateSessionFactory.close(session);MyHibernateSessionFactory.close(transaction);}}@Overridepublic boolean UsersRegister(User u) {Transaction transaction = null;Session session = null;try {session = MyHibernateSessionFactory.getSessionFactory().getCurrentSession();transaction = session.beginTransaction();//开始事务session.save(u);transaction.commit();return true;} catch (Exception e) {e.printStackTrace();transaction.rollback();return false;}finally{MyHibernateSessionFactory.close(session);MyHibernateSessionFactory.close(transaction);}}@Overridepublic boolean makeImpress(String content, String id) {return false;}/* * (non-Javadoc) * 返回值:1代表添加成功,2代表已经是好友,0代表添加失败 * @see com.chat.controller.UserDAO#addFriend(java.lang.String, java.lang.String) */@Overridepublic int addFriend(String fid,String mid) {Transaction transaction = null;Session session = null;//首先判断是否是好友关系int r = isFriendShip(mid, fid);if(r==1){Relation relation = new Relation();relation.setAdded_id(fid);relation.setAdder_id(mid);relation.setStatus(1);relation.setTime(new Date(System.currentTimeMillis()));try {session = MyHibernateSessionFactory.getSessionFactory().getCurrentSession();transaction = session.beginTransaction();//开始事务session.save(relation);transaction.commit();return 1;//添加成功} catch (Exception e) {e.printStackTrace();transaction.rollback();return 0;//添加失败}finally{MyHibernateSessionFactory.close(session);MyHibernateSessionFactory.close(transaction);}}else if(r==2){//以前是好友关系,中间删除过,表中还有记录,只要修改状态为1即可try {String hql = "update Relation set status=1 where(adder_id=? and added_id=?) or (added_id=? and adder_id=?)"; session = MyHibernateSessionFactory.getSessionFactory().getCurrentSession();transaction = session.beginTransaction();//开始事务Query query = session.createQuery(hql);query.setParameter(0,fid);query.setParameter(1,mid);query.setParameter(2,fid);query.setParameter(3,mid);int i = query.executeUpdate();transaction.commit();return 1;//添加成功} catch (Exception e) {e.printStackTrace();transaction.rollback();return 0;//添加失败}finally{MyHibernateSessionFactory.close(session);MyHibernateSessionFactory.close(transaction);}}else{return 2;//已经是好友关系}}//判断是否是好友关系public int isFriendShip(String mid,String fid){Transaction transaction = null;Session session = null;try {String hql = "from Relation where (adder_id=? and added_id=?) or (added_id=? and adder_id=?)"; session = MyHibernateSessionFactory.getSessionFactory().getCurrentSession();transaction = session.beginTransaction();//开始事务Query query = session.createQuery(hql);query.setParameter(0,mid);query.setParameter(1,fid);query.setParameter(2,mid);query.setParameter(3,fid);Relation relation = (Relation)query.uniqueResult();transaction.commit();if(relation==null){return 1;//不是好友关系}else if(relation.getStatus()==0){return 2;//以前是好友关系,中间删除}else{return 3;//已经是好友关系}} catch (Exception e) {e.printStackTrace();return 0;//抛异常就显示时好友关系,后序添加操作就不会执行}finally{MyHibernateSessionFactory.close(session);MyHibernateSessionFactory.close(transaction);}}@Overridepublic boolean deleteFriend(String mid,String fid,int status) {Transaction transaction = null;Session session = null;String hql= "update Relation set status=? where (adder_id=? and added_id=?) or (added_id=? and adder_id=?)";try {session = MyHibernateSessionFactory.getSessionFactory().getCurrentSession();transaction = session.beginTransaction();Query query = session.createQuery(hql);query.setParameter(0, status);query.setParameter(1,mid);query.setParameter(2, fid);query.setParameter(3,mid);query.setParameter(4, fid);int i = query.executeUpdate();transaction.commit();if(i==1){return true;}else{return false;}} catch (Exception e) {e.printStackTrace();return false;}finally{MyHibernateSessionFactory.close(session);MyHibernateSessionFactory.close(transaction);}}//查找联系人@Overridepublic User searchFriend(String username) {Transaction transaction = null;Session session = null;try {String hql = "from User where username=?";session = MyHibernateSessionFactory.getSessionFactory().getCurrentSession();transaction = session.beginTransaction();//开始事务Query query = session.createQuery(hql);query.setParameter(0,username);User user = (User)query.uniqueResult();transaction.commit();return user;} catch (Exception e) {e.printStackTrace();transaction.rollback();return null;}finally{MyHibernateSessionFactory.close(session);MyHibernateSessionFactory.close(transaction);}}@Overridepublic List selectAllOnLineFriend(String id,int status) {Session session = null;Transaction transaction = null;String sql = null;if(status==1){//查询在线好友sql = "select id,username,password,img,status from user where status=1 and id in("+"select adder_id from relation where added_id="+id+" and status=1"+" union "+"select added_id from relation where adder_id="+id+" and status=1"+ ")";}if(status==0){//查询所有好友(包括离线�

用户评论 (0)

发表评论

captcha