⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 orderstatusserver.java

📁 一个JAVA小程序!功能不小!
💻 JAVA
字号:
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.Socket;import java.net.ServerSocket;import java.sql.*;public class OrderStatusServer {  private int port = 1921;  private ServerSocket serverSocket;  static final String dbURL =    "jdbc:mysql://localhost/j2mebook?" +     "user=j2meapps&password=bigsecret";  public OrderStatusServer() throws ClassNotFoundException {    Class.forName("org.gjt.mm.mysql.Driver");  }  public void acceptConnections() {    try {      serverSocket = new ServerSocket(1921);    }    catch (IOException e) {      System.err.println("ServerSocket instantiation failure");      e.printStackTrace();      System.exit(0);    }    while (true) {      try {        Socket newConnection = serverSocket.accept();        System.out.println("accepted connection");        ServerThread st = new ServerThread(newConnection);        new Thread(st).start();      }      catch (IOException ioe) {        System.err.println("server accept failed");      }    }  }      public static void main(String args[]) {    OrderStatusServer server = null;    try {      server = new OrderStatusServer();    }    catch (ClassNotFoundException e) {      System.out.println("unable to load JDBC driver");      e.printStackTrace();      System.exit(1);    }    server.acceptConnections();  }  class ServerThread implements Runnable {    private Socket socket;    private DataInputStream datain;    private DataOutputStream dataout;    public ServerThread(Socket socket) {      this.socket = socket;    }    public void run() {      try {        datain = new DataInputStream(new BufferedInputStream          (socket.getInputStream()));        dataout = new DataOutputStream(new BufferedOutputStream          (socket.getOutputStream()));      }      catch (IOException e) {        return;      }      byte[] ba = new byte[6];      boolean conversationActive = true;      while(conversationActive) {        String orderNumber = null;        try {          datain.read(ba,0,6);          orderNumber = new String(ba);          if (orderNumber.toUpperCase().charAt(0) == 'Q') {            conversationActive = false;          }          else {            System.out.println("order number = " + orderNumber);            String status = getStatus(orderNumber);            System.out.println("status: " + status);            dataout.write(status.getBytes(),0,status.length());            dataout.write("\n".getBytes(),0,1);            dataout.flush();          }        }        catch (IOException ioe) {          conversationActive = false;        }      }      try {        System.out.println("closing socket");        datain.close();        dataout.close();        socket.close();      }      catch (IOException e) {      }    }    private String getStatus(String orderNumber) {      String status = "Not on file";      Connection conn = null;      try {        conn = DriverManager.getConnection(dbURL);        Statement stmt = conn.createStatement();        String query = "SELECT status FROM orders " +                        "WHERE ordernumber = " + orderNumber;        ResultSet rs = stmt.executeQuery(query);        if (rs.next()) {          status = rs.getString(1);        }      }      catch (SQLException e) {        status = "server error";      }      finally {        if (conn != null) {          try {            conn.close();          }          catch (SQLException e) {          }        }      }      return status;    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -