急求一个WEB服务器!

jtacm 2006-03-23 08:24:29
现要做一个基础的WEB服务器,多线程的,用HTTP1.0做,急求。
小弟刚入门不久,求各为高手大哥帮忙。
...全文
102 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jtacm 2006-03-23
  • 打赏
  • 举报
回复
import j ava.io.*;
import j ava.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.get!nputStream()));
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/I.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");
}
}

即把这个改成多线程的,请问怎么改啊??
livepdm 2006-03-23
  • 打赏
  • 举报
回复
ServerSocket listenSocket = new ServerSocket(6789);
while(true){
Socket connectionSocket = listenSocket.accept();
aConnSocketThread.start();
...
}

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧