Web Server

[code]gente gostaria de ajuda nesse codigo, pois to quebrando a cabeçã pra ver esse codigo e nao consigo.

package Projeto;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;

public final class WebServer {
private static InputStream comandos;
private static OutputStream dados;

public static void main(String arvg[]) throws Exception {
	// Ajustar o número da porta.
	int port = 80;

	// Estabelecer o socket de escuta.
	ServerSocket escuta = new ServerSocket(port);
    while(true) {
		Socket cliente = escuta.accept(); 
		setComandos(cliente.getInputStream());
		setDados(cliente.getOutputStream());
		
		cliente.close();
		}
}

@SuppressWarnings("unused")
private static void Thread() {
	// TODO Auto-generated method stub
	
}

public static void setDados(OutputStream dados) {
	WebServer.dados = dados;
}

public static OutputStream getDados() {
	return dados;
}

public static void setComandos(InputStream comandos) {
	WebServer.comandos = comandos;
}

public static InputStream getComandos() {
	return comandos;
}

}

final class HttpRequest implements Runnable {
final static String CRLF = “\r\n”;
int socket;
private InputStream dados;
private OutputStream comandos;
private String ip;
private String nome;
// Construtor
public HttpRequest(int port) throws Exception {
this.socket = port;
}

// Implementar o método run() da interface Runnable.
public void run()
{
	try {
		processRequest();
	} 
	catch (Exception e) {
		System.out.println(e);
	}
}

private void processRequest() throws Exception {
	// Obter uma referência para os trechos de entrada e saída do socket.
	InetAddress end = InetAddress.getByName("info.acme.com");
	Socket con = new Socket(end, socket);

	setDados(con.getInputStream());
	setComandos(con.getOutputStream());

	// Ajustar os filtros do trecho de entrada.
	
	BufferedReader br = new BufferedReader(null, socket);

	
	// Obter a linha de requisição da mensagem de requisição HTTP.
	String requestLine = "";
	InetAddress address = InetAddress.getLocalHost();
	setIp(address.getHostAddress());
	setNome(address.getHostName());

	// Exibir a linha de requisição.
	System.out.println();
	System.out.println(requestLine);
	
	// Obter e exibir as linhas de cabeçalho.
	String headerLine = null;
	while ((headerLine = br.readLine()).length() != 0) {
		System.out.println(headerLine);
	}
	
	// Feche as cadeias e socket.
	con.close();
	br.close();
	


}

public void setDados(InputStream dados) {
	this.dados = dados;
}

public InputStream getDados() {
	return dados;
}

public void setComandos(OutputStream comandos) {
	this.comandos = comandos;
}

public OutputStream getComandos() {
	return comandos;
}

public void setIp(String ip) {
	this.ip = ip;
}

public String getIp() {
	return ip;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getNome() {
	return nome;
}

}