📄 webserver.java
字号:
import java.io.*;
import java.net.*;
import java.util.*;
public class WebServer {
public static void main(String[] args) throws Exception{
String requestMessageLine;
String fileName;
ServerSocket listenSocket=new ServerSocket(8080);
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-Lenth:"+numOfBytes+"\r\n");
outToClient.writeBytes("\r\n");
outToClient.write(fileInBytes,0,numOfBytes);
connectionSocket.close();
}
else System.out.println("Bad Request Message");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -