Java实现C/S架构访问MySQL数据库实验

需积分: 0 0 下载量 169 浏览量 更新于2024-08-04 收藏 622KB DOCX 举报
"E21714067_石月_实验二1 - C/S实验,Java访问MySQL数据库,客户机-服务器通信" 在这个实验中,学生石月通过实践深入理解了客户机-服务器(C/S)架构,掌握了如何使用Java语言与MySQL数据库进行交互以及客户端和服务器之间的通信机制。实验主要分为两个部分:客户端和服务器端。 1. 客户端: 客户端采用Swing构建了一个登录界面,用户需要输入用户名和密码。当用户点击登录按钮时,客户端会使用`DataOutputStream`的`writeUTF()`方法将输入的用户名和密码编码成UTF格式并发送给服务器。接着,客户端通过`DataInputStream`的`readUTF()`方法接收服务器的响应。如果服务器返回"error",客户端会显示一个警告对话框,提示用户名或密码错误。反之,如果登录成功,客户端会展示一个JFrame窗口,动态从服务器接收并显示学生成绩列表。这个过程中,数据被逐行接收,并添加到表格模型中展示。 2. 服务器端: 服务器端包含两个模块:数据库连接管理和服务器服务。数据库连接管理模块负责建立与MySQL数据库的连接,配置包括数据库驱动(这里是MySQL8.0.19),数据库名,端口,主机名和数据库认证的用户名及密码。服务器服务模块接收客户端通过`DataInputStream`发送的用户名和密码,与数据库中的记录进行匹配。匹配成功后,它执行SQL查询获取学生成绩信息,然后使用`DataOutputStream`的`writeUTF()`方法按特定格式将查询结果发送回客户端。如果验证失败,服务器则发送"error"信号给客户端。 3. 实验代码: 服务器端的代码包括`DbConnectionManager.java`(数据库连接管理)和`Server.java`(服务器服务)。客户端的代码主要是`SubmitFrame.java`,它包含了登录界面和数据接收处理逻辑。 4. 实验结果: 输入正确的用户名和密码后,客户端能够成功显示学生成绩的表格。输入错误时,会显示错误信息。 5. 小结与体会: 通过这次实验,学生不仅理解了C/S架构的基本工作原理,还学会了如何使用Java的网络编程API进行数据传输,以及如何利用Java访问MySQL数据库并读取数据。此外,实验还强化了对客户端与服务器间通信流程的认识。 这个实验是一个综合性的实践,涵盖了Java GUI编程、网络通信和数据库操作等多个重要知识点,对于提升学生的实际编程能力和理论理解都有很大的帮助。