Java swing实现应用程序对数据库的访问

最近在完成软件体系结构上机实验时,遇到一个有点点小难度的选做题,题目信息如下:

利用套接字技术实现应用程序中对数据库的访问。应用程序只是利用套接字连接向服务器发送一个查询的条件,而服务器负责对数据库的查询,然后服务器再将查询的结果利用建立的套接字返回给客户端,如下图所示。

本来吧,选做题,不太想做的,但是考虑到以后工作的方向和后端相关,那还是做吧。

本次实验需要做一个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 != null)
                dos.close();
            if (dis != null)
                dis.close();
        } catch (IOException e) {
   
            e.printStackTrace();
        } finally {
   
            if (ss != null)
                ss.close();
        }
    }
	// gui界面用于获取json结果
    public String getResult(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值