怎么改这个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

windows下安装apache web server全过程(图文)

安装 Apache 2.0.59 双击 apache_2.0.59-win32-x86-no_ssl.msi 文件开始安装。安装过程很简单,一路Next即可。途中要求输入服务器的域名、服务器名及...
  • seaos
  • seaos
  • 2011年12月07日 16:21
  • 7109

这段程序应该怎么改?

fopen("zaobj.txt","w");     for(int i=1;i++;i     {         y(n)=sin(2*3.1415926/m_zhq*i*10);   ...
  • u012187684
  • u012187684
  • 2014年01月05日 11:39
  • 481

一个简单的webService程序

package webservice; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public ...
  • Elementer
  • Elementer
  • 2016年12月20日 15:37
  • 664

html5脱机web程序实例

html文件         脱机web应用程序实例                
  • baohanqing
  • baohanqing
  • 2013年12月30日 20:42
  • 529

ArcGIS Server 9.2实现基于web浏览器的在线编辑

数据准备Server 9.2开始支持基于web浏览器的数据在线编辑,要实现这样的功能,对数据有特殊的要求,先来看一下文档是怎么描述的:   Geodata...
  • sony0732
  • sony0732
  • 2007年10月16日 18:14
  • 3047

[原创] 推荐介绍几款小巧的Web Server程序

偶然看到几个小巧有趣的Web Server程序,觉得有必要拿来分享一下,让大家除了知道Apache、IIS之外,原来还有更多有趣的选择。主要介绍了:micro_httpd、mini_httpd、tht...
  • heiyeshuwu
  • heiyeshuwu
  • 2007年08月22日 10:38
  • 7360

web server 502错误

最近进行load test,发现在测试环境中当repquest时间长时会出现502错误,提示连接关闭。 测试环境是通过apache作为web服务器转到jboss服务器的,用mod-jk进...
  • stephie
  • stephie
  • 2012年04月24日 10:29
  • 1484

tomcat目录结构、web应用的目录结构及相关应用

tomcat的目录结构—–简单说 /bin:存放启动和关闭tomcat的脚本文件; /conf:存放tomcat的各种配置文件,比如:server.xml /server/lib:存放tomca...
  • limuzi13
  • limuzi13
  • 2015年11月09日 19:24
  • 856

第一个WEB Server程序

因为是第一个, 主要是关于环境搭建的。 1, IIS因为目前我只是使用最简单的ASP程序, 应该是没什么问题的. 但是这次安装IIS后, 访问本机的默认地址后, 总是提示用户密码错. 参考了半天前人的...
  • NyunyuZhao
  • NyunyuZhao
  • 2009年10月23日 16:19
  • 218

如何快速修改web服务的端口号和应用名

快速修改web服务的端口号和应用名一 修改IP端口IP地址对一台电脑来说,一般是固定不变的,或者说一段时间内是不变的!所以我们一般修改的时候只去修改端口和要访问的应用名。我们要访问的服务,于我个人而言...
  • Snooker_
  • Snooker_
  • 2015年09月05日 22:04
  • 2186
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:怎么改这个Web Server程序?
举报原因:
原因补充:

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