Java简易聊天室YYchat

此为大二《Java程序设计》结课项目考核内容。明明学的专业跟项目内容不符,不知道为什么要学Java Swing,浪费时间?虽说如此,但还是在辣鸡学校的水比老师的示例的基础上作了些更改,完成了Java简易聊天室的项目。项目全部文件(包括素材和源码)已上传到github上:链接,欢迎克隆、交流学习。

JAVA聊天室项目使用简介

一、项目环境

  1. 软件开发工具:Eclipse
  2. JDK:JDK1.8
  3. 数据库:SQL Server 2008 R2(水比老师用的是MySQL,看我写的好,还想叫我把代码改成用跟他同一个数据库的再发他一份,懂的都懂)
  4. 通信协议:TCP协议
  5. 项目结构:客户端/服务端结构
  6. 功能实现:在线离线聊天,消息记录,区别在线离线,注册,记住密码,隐身登录,找回密码,添加删除好友…等等(够你混项目创新展示了)
  7. 项目启动流程:先运行StartServer.java开启服务器,可多次运行ClientLogin.java登录,双击头像即可开启聊天

二、项目代码结构
在这里插入图片描述
在这里插入图片描述

客户端代码结构:

  • com.yychat.model:

     	FriendTreeRender.java//好友列表的渲染模型
     	Message.java//传输中的消息类
     	MessageType.java//消息类型接口
     	User.java//操作用户类
     	UserType.java//用户类型接口
    
  • com.yychat.view

     	AddFriend.java//添加好友的窗体
     	ClientLogin.java//登录界面
     	FriendChat.java//聊天界面
     	FriendList.java//好友列表界面
     	PasswordBack.java//找回密码的窗体
    
  • com.yychatclient.control

      	ClientReceiverThread.java//客户端接收线程类
      	ManageAllChat.java//用于管理所有聊天
      	ManageAllList.java//用于管理所有好友列表
      	ManageAllThreads.java//用于管理所有客户端线程
      	YYchatClientConnection.java//用于初连接服务端
    

服务端代码结构

  • com.yychat.model

     	Message.java
     	MessageType.java
     	User.java
     	UserType.java
    
  • com.yychatserver.control

      	DBUtil.java//用于连接数据库进行数据库操作的工具类
      	ServerReceiverThread.java//服务端线程类
      	ManageAllThreads.java//用于管理所有服务端线程
      	YYchatServer.java//用于被开启服务端和初次连接
    
  • com.yychatserver.view

      	StartServer.java//服务端开启与关闭界面,日志界面
    

三、数据库结构
在这里插入图片描述
用的是sqljdbc.9.4.0.0,我GitHub中也有给,解压后有适用三个版本jdk的jdbc,若你用的不是jdk1.8记得在Eclipse中重新导入正确的适用的jdbc

表:

  • chatmessage:存放聊天信息
  • tempmessage:存放离线临时信息
  • user:存放用户信息
  • userrelation:存放用户间的好友关系

存储过程:

  • Register:注册操作
  • SeekMessage:搜寻历史聊天记录操作
  • SeekOfflineMessage:搜寻离线临时信息记录
  • SendPasswordEmail:通过邮箱找回密码操作
  • tempTomessage:临时信息转历史信息操作

四、项目运行部分截图如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
五、注意事项:

  1. 不确定导出的SQL Server有没有导出了数据库邮件配置在这里插入图片描述
    因此找回密码功能可能实现不了,你可以重新配置数据库邮件配置,再修改我的找回密码存储过程就可以了,很简单。
    导入SQL Server中平常需注意的我就不多说啦。
  2. 代码注释可能没写全,也有概率写错,所以借鉴学习下就好,不要盲目全信。

其实仔细端倪代码还有很多需要优化的地方,不过此文章也就想帮帮要挂科的学生罢了哈哈,懂的人也可以看看提建议互相学习哈。若想糊弄老师,混过去,就不要关心太多啦,直接拷贝项目进去就好啦!以后我也会优化好代码持续放上去

  • 20
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值