服务端程序: package myftp.ftp; import java.net.*; import java.io.*; public class Server{ private int port = 80; private boolean flag = false; public Server(int port){ this.port = port; } public static void main(String[] args){ Server server = new Server(2000); server.start(); } public void start(){ try{ ServerSocket ss = new ServerSocket(port); while(!flag){ Socket s = ss.accept(); ReceiveHander rec = new ReceiveHander(s); Thread t = new Thread(rec); t.start(); } }catch(IOException e){ e.printStackTrace(); } } } 服务端接收器类: package myweb; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.net.Socket; import java.util.Scanner; public class ReceiveHandler extends Thread { private Socket socket; public ReceiveHandler(Socket socket) { this.socket = socket; } @Override public void run() { try { InputStream in = socket.getInputStream(); OutputStream out = socket.getOutputStream(); Scanner sc = new Scanner(in); PrintWriter pw = new PrintWriter(out); String message = ""; String uri = ""; while (null != (message = sc.nextLine())) { System.out.println(message); if (message.length() == 0) { break; } if (message.startsWith("GET")) { uri = message.split(" ")[1]; } } File file = new File("webapp" + uri); if (file.exists()) { pw.println("HTTP/1.1 200 OK/n" + "Last-Modified: " + new java.util.Date(file.lastModified()) + "/n" + "Date: " + new java.util.Date() + "/n" + "Status: 200/n" + "Content-Type: text/html/n" + "Servlet-Engine: My Web Server/0.1/n" + "Content-Length: " + file.length() + "/n" + "/n"); pw.flush(); InputStream fin = new BufferedInputStream(new FileInputStream( file)); byte[] buffer = new byte[1024]; int i = 0; while (-1 != (i = fin.read(buffer))) { out.write(buffer, 0, i); } out.flush(); fin.close(); } else { pw.println("File not found"); pw.flush(); } socket.close(); } catch (IOException e) { e.printStackTrace(); } } } 第一次发的,因为自己正在学习Java,属菜鸟