最近在完成软件体系结构上机实验时,遇到一个有点点小难度的选做题,题目信息如下:
利用套接字技术实现应用程序中对数据库的访问。应用程序只是利用套接字连接向服务器发送一个查询的条件,而服务器负责对数据库的查询,然后服务器再将查询的结果利用建立的套接字返回给客户端,如下图所示。

本来吧,选做题,不太想做的,但是考虑到以后工作的方向和后端相关,那还是做吧。
本次实验需要做一个GUI界面和一个连接查询功能,在论坛上借鉴了其他大佬获取网站内容的部分代码,然后自己做了一个及其简陋的swing界面,算是把这个实验完成了。
本次实验项目结构如下
--socketProject
|--Client.java
|--GUI.java
|--SearchInfo.java
|--Server.java
|--ServerThread.java
Client.java
客户端使用 dis.readUTF() 时,要注意再发送个字符或者空字符,这里发送 end ,表示关闭连接。不然会出现 EOFException 。
package socketProject;
import java.io.*;
import java.net.*;
public class Client {
String studentNum = null;
String result = null;
public void setStudentNum(String num) {
this.studentNum = num;
System.out.println("stu: " + studentNum);
}
public void run() throws IOException {
Socket ss = new Socket("127.0.0.1", 8888);
System.out.println("Socket: " + ss);
try {
DataInputStream dis = new DataInputStream(ss.getInputStream());
DataOutputStream dos = new DataOutputStream(ss.getOutputStream());
// the interaction
dos.writeUTF(studentNum); // 向服务器发送学号
dos.flush();
result = dis.readUTF().toString(); // 获得客户端的json字符串
System.out.println(result);
dos.writeUTF("end"); // 不加这句会报错
dos.flush();
if (dos

本文介绍了一种通过套接字技术实现的应用程序访问数据库的方法。客户端发送查询条件到服务器,服务器执行查询并将结果返回给客户端。文章展示了具体的Java代码实现,包括客户端、服务器端以及GUI界面的设计。
最低0.47元/天 解锁文章
968

被折叠的 条评论
为什么被折叠?



