工業企業のERPモジュールにおける[ワイズ]学校JDBCアプリケーション-6ネットワーク受注

クライアント:

package com.huizhi;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.net.Socket;

public class OrderNewClient extends JFrame{
    private JButton jButton1;
    private JTextField jTextField1,
            jTextField2,jTextField3,
            jTextField4,jTextField5,jTextField6;
    private static String[] stra;
    private static PrintWriter pw;
    private static BufferedReader br;

    public OrderNewClient(Socket socket){
        setUI(socket);
    }

    public static void main(String[] args) throws IOException{
        Socket socket = null;
        socket = new Socket("127.0.0.1",10086);
        pw = new PrintWriter(
                new OutputStreamWriter(
                        socket.getOutputStream()));

        br = new BufferedReader(new InputStreamReader(
                socket.getInputStream()));

        OrderNewClient orderNewClient=new OrderNewClient(socket);

        while (true) {
            if (br.ready()) {
                String a = br.readLine();
                if (a.equals("1")) {
                    JOptionPane.showMessageDialog(null, "success!");
                }
            }
        }
    }

    public static void sendServer(Socket socket) throws IOException{
        for(int i=0;i<stra.length;i++){
            pw.println(stra[i]);
            pw.flush();


        }
    }

    public void setUI(Socket sok)
    {
        setBounds(520,240,400,250);
        setTitle("client");
        setResizable(false);

        JLabel jLabel1=new JLabel("订单编号");
        jTextField1=new JTextField(30);

        JLabel jLabel2=new JLabel("订单日期");
        jTextField2=new JTextField(30);

        JLabel jLabel3=new JLabel("客户名称");
        jTextField3=new JTextField(30);

        JLabel jLabel4=new JLabel("产品名称");
        jTextField4=new JTextField(30);

        JLabel jLabel5=new JLabel("产品数量");
        jTextField5=new JTextField(30);

        JLabel jLabel6=new JLabel("备注内容");
        jTextField6=new JTextField(30);

        jButton1=new JButton("保存");
        JButton jButton2=new JButton("重新填写");

        JPanel jPanel=new JPanel();
        jPanel.add(jLabel1);
        jPanel.add(jTextField1);
        jPanel.add(jLabel2);
        jPanel.add(jTextField2);
        jPanel.add(jLabel3);
        jPanel.add(jTextField3);
        jPanel.add(jLabel4);
        jPanel.add(jTextField4);
        jPanel.add(jLabel5);
        jPanel.add(jTextField5);
        jPanel.add(jLabel6);
        jPanel.add(jTextField6);

        jPanel.add(jButton1);
        jPanel.add(jButton2);

        this.add(jPanel);

        setVisible(true);
        setListen(sok);
    }

    public void setListen(Socket sok){
        jButton1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    System.out.println("--------------------");
                    setStra();//放入数组中
                    sendServer(sok);
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
        });
    }

    //将界面数据放入数组中
    public void setStra(){
        stra=new String[6];
        stra[0]=jTextField1.getText();
        stra[1]=jTextField2.getText();
        stra[2]=jTextField3.getText();
        stra[3]=jTextField4.getText();
        stra[4]=jTextField5.getText();
        stra[5]=jTextField6.getText();

        setEmpty();
    }

    //清空界面内容
    public void setEmpty(){
       //repaint();
        jTextField1.setText("");
        jTextField2.setText("");
        jTextField3.setText("");
        jTextField4.setText("");
        jTextField5.setText("");
        jTextField6.setText("");
    }
}

サーバー側:

package com.huizhi;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class InGoodsServer {
    public InGoodsServer(){
        ServerSocket ss = null;
        try {
            ss = new ServerSocket(10086);
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("服务器正常启动。。。");

        while(true){
            Socket socket = null;
            try {
                socket = ss.accept();
            } catch (IOException e) {
                e.printStackTrace();
            }

            System.out.println("用户接入成功。。。");
            /*
             * 每次连接成功一个客户端,则启动一个线程为其服务
             */
            new ServerThread(socket).start();
        }
    }
}
package com.huizhi;

import java.io.*;
import java.net.Socket;
import java.sql.Date;

public class ServerThread extends Thread {

    private Socket socket;
    public static String[] stra;
    public static int inta;

    public ServerThread(Socket socket) {
        this.socket = socket;
        stra=new String[6];
    }

    @Override
    public void run() {
        BufferedReader br = null;
        PrintWriter pw = null;
        try {
            br = new BufferedReader(new InputStreamReader(
                    socket.getInputStream()));
            pw=new PrintWriter(
                    new OutputStreamWriter(
                            socket.getOutputStream()));
            while (true) {
                if(br.ready()){
                    if(inta<=5){
                        String string1 = br.readLine();
                        stra[inta]=string1;
                        System.out.println("Server read = " + stra[inta]);
                        ++inta;
                        if(inta==6){
                            int a= OrderNew.insertDB(setValue());
                            pw.println(a);
                            pw.flush();
                            inta=0;
                        }
                    }
               }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    //将数组数据放入对象中
    public  static OrderNewModel setValue(){
        OrderNewModel orderNewModel=new OrderNewModel();
        orderNewModel.setOrderId(stra[0]);
        String a=stra[1];
        Date datea=Date.valueOf(a);
        orderNewModel.setOrderDate(datea);
        orderNewModel.setCustomerName(stra[2]);
        orderNewModel.setProductName(stra[3]);
        String b=stra[4];
        Integer inta=Integer.valueOf(b);
        orderNewModel.setProductCount(inta);
        orderNewModel.setRemarks(stra[5]);
        return orderNewModel;
    }
}

最終的には、CS-データベースプログラミングアーキテクチャを実現します。

公開された268元の記事 ウォン称賛47 ビュー30000 +

おすすめ

転載: blog.csdn.net/weixin_39593940/article/details/103730385
おすすめ