前言
本文开始将借助IDEA开发工具详细阐述Tomcat的底层实现原理
源码:https://github.com/jiangyangsong
一、创建Maven项目
关于Maven项目的创建在之前的文章中有详细介绍,这里就不再过多赘述
二、创建WebServer主类
我们可以通过创建的WebServer主类测试与浏览器的连接,并且读取后续浏览器发送过来的请求
在WebServer主类中我们需要一个无参构造,一个start方法,一个main方法
代码如下:
public class WebServer {
private ServerSocket server;
public WebServer() {
try {
System.out.println("正在启动服务端...");
server = new ServerSocket(8088);
System.out.println("启动服务端完毕!");
} catch (IOException e) {
e.printStackTrace();
}
}
public void start() {
try {
System.out.println("等待客户端连接...");
Socket socket = server.accept();
System.out.println("一个客户端连接了!");
/*
测试读取客户端发送过来的HTTP请求内容并输出到控制台
http://localhost:8088/index.html
注意,如果下面读取客户端发送过来的请求内容并输出到控制台上
的内容是乱码,检查浏览器地址栏上输入的协议是不是https,换成
http。
*/
InputStream is = socket.getInputStream();
int d;
while ((d = is.read())!=-1) {
System.out.print((char)d);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
WebServer server = new WebServer();
server.start();
}
}
第一个版本到此结束,下一个版本我们将开始完成解析的工作