title: show page not found on browser request
body: <p>I'm trying to show 404 page not found from server</p>
  
  <pre><code>import java.io.BufferedReader;
  import java.io.DataOutputStream;
  import java.io.IOException;
  import java.io.InputStreamReader;
  import java.net.ServerSocket;
  import java.net.Socket;
  
  public class ex1 {
  
  /**
   * @param args
   */
  public static void main(String[] args) {
      // TODO Auto-generated method stub
      final int BUFFER_SIZE=1000;
      char[] buffer=new char[BUFFER_SIZE];
      ServerSocket serverSocket = null; 
      try {
          serverSocket = new ServerSocket(16000); 
      } catch (IOException e) {
          System.out.println("Could not listen on port: 16000");
          System.exit(-1); 
      }
      while (true) {
          Socket clientSocket = null; 
          try {
              System.out.println("Waiting for Connection"); 
              clientSocket = serverSocket.accept(); 
              System.out.println("Connection Accepted");
              DataOutputStream output =new DataOutputStream(clientSocket.getOutputStream());
              output.writeBytes("HTTP/1.1 404 Not Found \r\n");
              output.writeBytes("Content-Type: text/html \r\n\r\n");
  
  
              output.flush();
          } catch (IOException e) {
              System.out.println("Failed to accept connection");
              System.exit(-1); 
          }
          try {
              BufferedReader in =
              new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
              in.read(buffer);
              System.out.println(buffer);
              in.close();
              clientSocket.close(); 
              System.out.println("Connection terminated");
              serverSocket.close();
          } catch (IOException e) {
              e.printStackTrace();
              System.out.println("Problem in communicating with the client"); }
      }
  }
  }
  </code></pre>
  
  <p>the problem is when i type localhost:16000 into my browser (google chrome) i get "Oops! This link appears to be broken."
  not page 404</p>
  
  <p>output is:</p>
  
  <pre><code>Waiting for Connection
  Connection Accepted
  java.net.SocketException: Connection reset
  Problem in communicating with the client
  Waiting for Connection
  Connection Accepted
  GET / HTTP/1.1
  Host: localhost:16000
  Connection: keep-alive
  Cache-Control: max-age=0
  Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
  
  
  Connection terminated
  Waiting for Connection
  Failed to accept connection
      at java.net.SocketInputStream.read(SocketInputStream.java:189)
      at java.net.SocketInputStream.read(SocketInputStream.java:121)
      at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
      at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
      at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
      at java.io.InputStreamReader.read(InputStreamReader.java:184)
      at java.io.BufferedReader.fill(BufferedReader.java:154)
      at java.io.BufferedReader.read1(BufferedReader.java:205)
      at java.io.BufferedReader.read(BufferedReader.java:279)
      at java.io.Reader.read(Reader.java:140)
      at ex1_Getting_your_hands_dirty.ex1.main(ex1.java:55)
  </code></pre>
  
  <p>how to fix this ?</p>