Java codeimport 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;
}
}
}
}
------解决方案--------------------
忽悠人用的。Java codepackage 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("");
echo.append("
");echo.append("
hello");echo.append("");
echo.append("
");echo.append("
echo.append("Welcome to my home page.");
echo.append("
echo.append("");
echo.append("");
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 InetSocketAddress("192.168.2.23", port);
ss = new ServerSocket();
ss.bind(address);
while(true){
connect = ss.accept();
do{
readLen = connect.getInputStream().read(buffer);
System.out.println(new String(buffer));
}while(readLen == 512);
connect.getOutputStream().write(echo.toString().getBytes());
connect.close();
}
}catch(Exception ex){
ex.printStackTrace();
}
}
public static void main(String[] args){
start();
}
}