日期:2014-05-17 浏览次数:20699 次
import java.net.Socket; import java.net.ServerSocket; import java.net.InetAddress; import java.io.InputStream; import java.io.OutputStream; import java.io.IOException; import java.io.File; public class HttpServer { /** * WEB_ROOT is the directory where our HTML and other files reside. For * this package, WEB_ROOT is the "webroot" directory under the working * directory. The working directory is the location in the file system * from where the java command was invoked. */ public static final String WEB_ROOT = System.getProperty("user.dir")+File.separator+"webroot"; // shutdown command private static final String SHUTDOWN_COMMAND = "/SHUTDOWN"; // the shutdown command received private boolean shutdown = false; public static void main(String[] args) { HttpServer server = new HttpServer(); server.await(); } public void await() { ServerSocket serverSocket = null; int port = 8080; try { serverSocket = new ServerSocket(port, 1, InetAddress.getByName("127.0.0.1")); } catch (IOException e) { e.printStackTrace(); System.exit(1); } // Loop waiting for a request while (!shutdown) { Socket socket = null; InputStream input = null; OutputStream output = null; try { socket = serverSocket.accept(); input = socket.getInputStream(); output = socket.getOutputStream(); // create Request object and parse Request request = new Request(input); request.parse(); // create Response object Response response = new Response(output); response.setRequest(request); response.sendStaticResource(); // Close the socket socket.close(); // check if the previous URI is a shutdown // command shutdown = request.getUri().equals(SHUTDOWN_COMMAND); } catch (Exception e) { e.printStackTrace(); continue; } } } }
------解决方案--------------------
忽悠人用的。
package org.sl.test; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketAddress; /** * 忽悠人的http 服务器 * @author shanl * */ public class HttpServer { static public void start(){ StringBuilder echo = new StringBuilder(); echo.append("<html>"); echo.append("<head>"); echo.append("<title>hello</title>"); echo.append("</head>"); echo.append("<body>"); echo.append("<center>"); echo.append("<b1>Welcome to my home page.</b1>"); echo.append("</center>"); echo.append("</body>"); echo.append("</html>"); ServerSocket ss = null; int port = 8010; SocketAddress address = null; Socket connect = null; byte[] buffer = new byte[512]; int readLen = 0; try{ System.out.println("开始监听:" + port); address = new InetSocketAddres