一、实现目标
在解析Java网络编程基础:理解tomcat的原理 中,简单分析了socket通信的实现,分析完后,有提到结合浏览器的请求响应信息格式,欢迎大家动手实现一个类似tomcat的web服务。
“基于这样的原理,结合浏览器的请求,响应格式(如下图所示),相信你一定可以轻松手写一个简单的tomcat来接收浏览器发送的请求,并进行响应,欢迎动手实战”
实现类似Tomcat的功能涉及到创建一个简单的Web服务器,用于接收HTTP请求并返回响应。下面是我基于Java Socket实现类似tomcat的web server的简单例子,实现了简易的Web服务器,能够处理GET请求并返回一个简单的HTML页面。
二、功能实现
简单的web服务器SimpleWebServer实现类如下:
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
// 仿tomcat简单web server,用于接收客户端请求,并给出固定响应
public class SimpleWebServer {
public static void main(String[] args) {
int port = 9000;
// 创建ServerSocket的对象,注册端口
try (ServerSocket serv