版本一:无区分静态资源(如demo.html)

一、需求描述

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

动手实现Tomcat 随笔 第1张

二、整体示意图

动手实现Tomcat 随笔 第2张

三、代码实现

项目工程:服务端的工作都在TestServer类中完成

动手实现Tomcat 随笔 第3张

 

1. 服务端的准备工作

  (1)静态变量WEB_ROOT,用于存放WebContent目录的绝对路径

  (2)定义静态变量url,存放本次请求服务端的静态资源的名称

动手实现Tomcat 随笔 第4张

2. 实现启动服务端的代码

 动手实现Tomcat 随笔 第5张

3. 通过socket获取输入流对象和输出流对象

动手实现Tomcat 随笔 第6张

4. 通过获取输入流,服务端解析http请求数据

动手实现Tomcat 随笔 第7张

动手实现Tomcat 随笔 第8张

注:客户端的http请求

动手实现Tomcat 随笔 第9张

动手实现Tomcat 随笔 第10张

5. 通过输出流,服务端响应静态资源

 动手实现Tomcat 随笔 第11张

动手实现Tomcat 随笔 第12张

6. 释放资源(输入流、输出流、socket,注意serverSocket不可以释放)

动手实现Tomcat 随笔 第13张

四、代码实现

动手实现Tomcat 随笔 第14张

动手实现Tomcat 随笔 第15张

动手实现Tomcat 随笔 第16张

动手实现Tomcat 随笔 第17张

 动手实现Tomcat 随笔 第18张

动手实现Tomcat 随笔 第19张

动手实现Tomcat 随笔 第20张

 

版本二:有区分动态资源(如aa)

一、需求描述

动手实现Tomcat 随笔 第21张

二、整体示意图

动手实现Tomcat 随笔 第22张

 

、代码实现

项目工程:

动手实现Tomcat 随笔 第23张

 

1. 服务端的准备工作

(1)定义一个接口Servlet

动手实现Tomcat 随笔 第24张

(2)创建类AAServlet、BBServlet,实现Servlet接口

动手实现Tomcat 随笔 第25张动手实现Tomcat 随笔 第26张

(3)WebContent下新建一个配置文件conf.properties

        (File,utf-8编码形式 )

动手实现Tomcat 随笔 第27张

2. 服务器启动时读取配置参数

 动手实现Tomcat 随笔 第28张

                 }

          } 

服务器启动时,map中就会获取到servlet的配置参数:

动手实现Tomcat 随笔 第29张

3. 向客户端发送动态资源

动手实现Tomcat 随笔 第30张

 

*判断请求的是静态资源还是动态资源:

动手实现Tomcat 随笔 第31张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄