クライアント:
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-データベースプログラミングアーキテクチャを実現します。