现要做一个基础的WEB服务器,多线程的,用HTTP1.0做,急求。
小弟刚入门不久,求各为高手大哥帮忙。
小弟刚入门不久,求各为高手大哥帮忙。
解决方案 »
- java实现RSA算法
- 如何用键盘事件来控制JPANE的位置?我写了一段代码 实现不了~
- [闭月羞花猫]这两天怎么这么忙?
- 关于JAVA基础问题String s1 = "xxx"; String s2 = "xxx"; String s3 = s2; String s4 = new String("xxx")的理解,大家帮我看看对不对!
- 几道面试道,请教大家。
- JAVA发包数据包问题?
- 请问在JAVA里有像在C里的MakeFile吗?
- 关于用jbuilder5开发bean管理实体bean的问题,请大家帮帮忙!!!!
- (哪有IBM Visual Age for Java v4.0(3.5)【Enterprise】的下载!!)
- 大家帮忙看一下
- 哪位大侠知道怎么让swt的一个Composite变成透明的?急!
- 关于包?
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");
}
}即把这个改成多线程的,请问怎么改啊????
Socket connectionSocket = listenSocket.accept();
new Thread( public void run(){
//单个请求操作放这里
};).start();
}