“基于Java的聊天室”-作业报告word+源代码
资源文件列表:

基于Java的聊天室word+idea源码+mysql数据库/
基于Java的聊天室word+idea源码+mysql数据库/hss.sql 5.14KB
基于Java的聊天室word+idea源码+mysql数据库/“基于Java的聊天室”.docx 637.3KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/.gitignore 190B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/compiler.xml 254B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/dataSources/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/dataSources/a1af2554-03c2-4e1d-8475-e6f344cd78a7/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/dataSources/a1af2554-03c2-4e1d-8475-e6f344cd78a7/storage_v2/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/dataSources/a1af2554-03c2-4e1d-8475-e6f344cd78a7/storage_v2/_src_/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/dataSources/a1af2554-03c2-4e1d-8475-e6f344cd78a7/storage_v2/_src_/schema/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/dataSources/a1af2554-03c2-4e1d-8475-e6f344cd78a7/storage_v2/_src_/schema/information_schema.FNRwLQ.meta 76B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/dataSources/a1af2554-03c2-4e1d-8475-e6f344cd78a7/storage_v2/_src_/schema/mysql.osA4Bg.meta 63B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/dataSources/a1af2554-03c2-4e1d-8475-e6f344cd78a7/storage_v2/_src_/schema/performance_schema.kIw0nw.meta 76B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/dataSources/a1af2554-03c2-4e1d-8475-e6f344cd78a7/storage_v2/_src_/schema/sys.zb4BAA.meta 61B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/dataSources/a1af2554-03c2-4e1d-8475-e6f344cd78a7.xml 923B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/dataSources.local.xml 1002B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/dataSources.xml 535B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/inspectionProfiles/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/inspectionProfiles/Project_Default.xml 543B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/libraries/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/libraries/lib.xml 509B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/misc.xml 238B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/modules.xml 255B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/sqldialects.xml 174B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/uiDesigner.xml 8.71KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/.idea/workspace.xml 7.5KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/hs-01.iml 852B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/hs02.iml 1.12KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/lib/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/lib/commons-dbcp-1.4.jar 156.76KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/lib/commons-pool-1.6.jar 108.51KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/lib/lombok-1.18.26.jar 1.88MB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/lib/mysql-connector-java-8.0.28.jar 2.36MB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/Client1.class 487B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/Client2.class 487B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/Client3.class 487B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/fun/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/fun/Add.class 1.75KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/fun/Chat.class 1.04KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/fun/Choose.class 1.41KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/fun/Dele.class 1.25KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/fun/Index.class 1.45KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/fun/Login.class 3.66KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/fun/Outlog.class 366B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/fun/pattern.class 3.3KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/jdbc/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/jdbc/JDBCUtil.class 7.26KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/pojo/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/pojo/User.class 2.14KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/socket/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/socket/Client$ClientThread1.class 2.18KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/socket/Client$ClientThread2.class 1.86KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/socket/Client.class 2.73KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/socket/Mid.class 1.6KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/socket/Msg.class 1.27KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/com/ss/socket/Server.class 4.07KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/out/production/hs02/generated/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/resources/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/resources/dbcp.properties 311B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/Client1.java 184B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/Client2.java 180B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/Client3.java 182B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/fun/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/fun/Add.java 1.24KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/fun/Chat.java 436B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/fun/Choose.java 1.5KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/fun/Dele.java 589B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/fun/Index.java 1.29KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/fun/Login.java 3.07KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/fun/Outlog.java 148B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/fun/pattern.java 2.4KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/jdbc/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/jdbc/JDBCUtil.java 8.32KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/pojo/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/pojo/User.java 1.3KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/socket/
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/socket/Client.java 3.35KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/socket/Mid.java 1.18KB
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/socket/Msg.java 933B
基于Java的聊天室word+idea源码+mysql数据库/基于Java的聊天室/src/com/ss/socket/Server.java 2.95KB
资源介绍:
“基于Java的聊天室”-作业报告word+源代码
1
“基于 Java 的聊天室”
——作业报告
目录
一、功能模块 ...............................................................................................................................2
二、所用技术 ...............................................................................................................................4
三、数据库表设计 ......................................................................................................................5
三、运行效果 ...............................................................................................................................7

2
一、功能模块
1、登录
1. 输入数字“1”,进入登录界面,通过用户输入的昵称和密码,在数据库中
查询匹配的记录,若存在匹配则登录成功,否则登录失败,需要重新输
入昵称和密码,直到输入成功。
(特殊情况:
提示用户输入昵称,并将用户输入存储在昵称变量中。
1) 如果用户输入为空,则自动将“冰可乐”赋值给昵称。
2) 如果用户输入为单个空格,则自动将“可可豆”赋值给昵称。
3) 如果用户输入为两个连续空格,则“豆沙糕”赋值给昵称。
提示用户输入密码,并将用户输入存储在密码变量中。
4) 如果用户输入为空,则“abc”赋值给密码。
5) 如果用户输入为单个空格,则“123”赋值给密码。
6) 如果用户输入为两个连续空格,则“1234”赋值给密码。
)
2、添加好友
首先查询数据库 users 表中的所有未添加且不是本身的用户,显示编号(编号
从 1 开始以此递增),学号、昵称,根据用户输入的编号,找出对应的昵称,然
后再查看一次好友表中的是否存在,双重保障,如果不存在,则可最后执行插入
操作将好友关系添加到数据库中。
3、删除好友

3
首先查询数据库中的当前登录用户所有的好友信息(学号、昵称)与编号对应,
根据用户输入的编号,然后找到对应的学号,执行删除操作将好友关系从数据库
中删除。
4、进入聊天室
可以实现许多用户进入聊天室私聊,通过解析消息内容,每次输入信息,传出当
前客户端信息、目标客户端信息和私聊消息内容到客户端,服务器将相应信息传
到目标客户端或者当前客户端,如果客户在线,则私聊消息会传到目标客户端,
如果不在线,会提示当前客户端,目标客户不在线。
二、所用技术
1、JDBC(Java Database Connectivity)
使用 JDBC 与数据库进行交互。通过 JDBC 提供的 API,可以连接数据库、执行 SQL
语句、获取结果集等操作。
2、Socket 通信
Socket 通信涉及两个主要组件:服务器端和客户端。服务器端监听着一个特定的
网络端口,等待客户端发送连接请求。客户端则发起连接请求,并与服务器建立
起连接后进行数据传输。
3、多线程编程
通过创建线程实现客户端的消息接收和发送功能。代码中使用了 Thread 类创建
了一个接收消息的线程。
4. park() 和 unpark()
是 用 于 线 程 同 步 和 线 程 间 通 信 的 方 法 , 它 们 是

4
java.util.concurrent.locks.LockSupport 类的静态方法。
5、Scanner
通过 Scanner 类获取用户在控制台输入的内容,并根据用户的选择执行相应的操
作。
6、HashMap 集合:使用 HashMap 来存储客户端的输出流。将客户端的名称作
为键,输出流(PrintWriter)作为值,方便后续根据客户端名称查找其对应的输出
流。
三、数据库表设计
chatroom 数据库中一共有两个表:users 表,friend 表,login 表。
下面是详细的表格信息:
friend 表设计:
列名
数据类型
说明
id
INT(11)
唯一标识好友关系的 ID
sNo1
INT(11)
学号 1(学生 ID)
sNo2
INT(11)
学号 2(学生 ID)
这个表格表示了一个名为 friend 的表格,其中包含了三列:id、sNo1 和
sNo2。
id 列被指定为主键(PRIMARY KEY),以确保每个好友关系在表中具有唯一的标
识。
users 表设计: