怎么改这个Web Server程序?

原创 2005年04月26日 12:18:00

我这里有一个webserver的程序 功能只能接受一个请求,不能打开图象文件.现在想改了可以接受多个请求,传输多个文件,可以打开图象文件!请各位大吓指点哈!谢谢!

import java.io.*;
import java.net.*;
import java.util.*;
class WebServer{
 public static void main(String argv[]) throws Exception
 {
  String requestMessageLine;
  String fileName;
  ServerSocket listenSocket = new ServerSocket(6789);
  Socket connectionSocket = listenSocket.accept();
  BufferedReader inFromClient=
     new BufferedReader(new InputStreamReader(
          connectionSocket.getInputStream()));
  DataOutputStream outToClient =
    new DataOutputStream(
     connectionSocket.getOutputStream());
  requestMessageLine = inFromClient.readLine();
  StringTokenizer tokenizedLine=
     new StringTokenizer(requestMessageLine);
  if (tokenizedLine.nextToken().equals("GET")){
   fileName = tokenizedLine.nextToken();
   if (fileName.startsWith("/") == true)
      fileName = fileName.substring(1);
   File file = new File(fileName);
   int numOfBytes = (int)file.length();
   FileInputStream  inFile = new FileInputStream(
    fileName);
      byte[] fileInBytes = new byte[numOfBytes];
      inFile.read(fileInBytes);
      outToClient.writeBytes(
       "HTTP/1.0 200 Document Follows/r/n");
      if (fileName.endsWith(".jpg"))
         outToClient.writeBytes("Content-Type:image/jpeg/r/n");
      if (fileName.endsWith(".gif"))
         outToClient.writeBytes("Content_Type:image/gif/r/n");
      outToClient.writeBytes("Content_length:" +
          numOfBytes + "/r/n");
      outToClient.writeBytes("/r/n");
      outToClient.write(fileInBytes,0,numOfBytes);
      connectionSocket.close();
      }
   else System.out.println("Bad request Message");  
     
 }
}

备注:此程序来源与我的学习课本 COMPUTER NETWORKING A Top-Down Approach Featuring the Internet.

作者:James F.Kunrose & Keith W.Ross

failover 故障检测、报警、自动切换 程序 monitor_nginx.sh 用于对web server (Nginx) 监测与故障处理

 前言前几天,群里有人说用shell程序实现failover,所以今天自己写一个shell程序 monitor_nginx.sh failover,fault  detection and  swi...

我的第一个WCF程序——C#创建WEB SERVER

一、先说几句     已经好多年没有使用C#进行应用程序的开发,即使在以前,用C#也只是做些简单的应用程序而尔。但现在,公司突然将C#的重任交给我,而且还要负责架构部分。无奈只好从C#基本...

Web server程序

  • 2013年05月07日 15:37
  • 651KB
  • 下载

shell程序获取互联网公司web server 信息(伪多线程shell程序)

伪多线程shell程序,统计一下各个公司的webserver,玩一下。

简单的Web Server程序

  • 2011年03月25日 13:14
  • 44KB
  • 下载

小测几种python web server的性能

因为换了nginx就不再使用mod_wsgi来跑web.py应用了,现在用的是gevent-wsgi,效果还不错。但还是想试试别的,比如传说中超级猛的meinheld什么的。软硬件环境硬件:一台04年...
  • Raptor
  • Raptor
  • 2012年10月03日 19:53
  • 11752

Tomcat建立多个应用(Web Server),多个主机,多个站点的方法

http://piperzero.iteye.com/blog/1475773 转的一篇博文,格式,内容写的都相当清爽 ----------------------------------...

一起来写web server 04 -- 线程池版本

从这个版本开始,后面的代码差不多是越来越难啦.这个版本,我们主要是要实现一个线程池版本的web server.这个版本的设计出自UNP.思想思想非常简单,那就是父线程首先构建n多子线程,这些子线程全部...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:怎么改这个Web Server程序?
举报原因:
原因补充:

(最多只允许输入30个字)