Ejemplo n.º 1
0
  public void handle(Socket socket) {
    InputStream input = null;
    OutputStream output = null;

    try {
      input = socket.getInputStream();
      output = socket.getOutputStream();

      // 创建请求对象
      request = new HttpRequest(input);

      // 创建响应对象
      response = new HttpResponse(output);
      response.setRequest(request);

      // 设置响应头
      response.addHeader("Server", "Bradypod Server Container");
      response.addHeader("Content-Type", "text/html");

      // 解析请求
      request.parse();

      response.sendHeaders(); // 发送响应头

      // 判断是否请求动态资源
      if (request.getRequestURI() == null) {
        response.getWriter().println("404 Not Found!");
      } else if (request.getRequestURI().startsWith("/servlet/")) {
        ServletProcessor processor = new ServletProcessor();
        processor.process(request, response);
      } else {
        ResourceProcessor processor = new ResourceProcessor();
        processor.process(request, response);
      } // --> end if-else

      // 关闭连接
      socket.close();
    } catch (IOException ex) {

    }
  }
Ejemplo n.º 2
0
  public void process(Socket socket) {
    SocketInputStream input = null;
    OutputStream output = null;
    try {
      input = new SocketInputStream(socket.getInputStream(), 2048);
      output = socket.getOutputStream();

      // create HttpRequest object and parse
      request = new HttpRequest(input);

      // create HttpResponse object
      response = new HttpResponse(output);
      response.setRequest(request);

      response.setHeader("Server", "Pyrmont Servlet Container");

      parseRequest(input, output);
      parseHeaders(input);

      // check if this is a request for a servlet or a static resource
      // a request for a servlet begins with "/servlet/"
      if (request.getRequestURI().startsWith("/servlet/")) {
        ServletProcessor processor = new ServletProcessor();
        processor.process(request, response);
      } else {
        StaticResourceProcessor processor = new StaticResourceProcessor();
        processor.process(request, response);
      }

      // Close the socket
      socket.close();
      // no shutdown for this application
    } catch (Exception e) {
      e.printStackTrace();
    }
  }