tomcat配置url跳转_手写tomcat服务器(一)

一 Tomcat运行流程

客户浏览器发出要求访问特定的Servlet的请求

1) Tomcat服务器接收dao客户请求并解析

2)Tomcat服务器创建一个ServletRequest对象,在ServletRequest对象中包含了

客户请求信息即其他关于客户的信息,如请求头请求正文,以及客户端的IP地址等

3) Tomcat服务器创建一个ServletResopnse对象

4) Tomcat服务器调用客户端所请求的Servlet的service'服务方法,并且把

ServletRequest对象和Servletresponse对象作为参数传给该服务方法

5) Servlet从ServletRequest对象中可获取客户的请求信息

6) Servlet利用ServletRepomse对象来生成响应结果

7) Tomcat 服务器把 Servlet 生成的响应结果发送给客户。

e61f569c801c45cf7fd8f2b764e7d914.png

二 手写tomcat服务器

1 整体架构和接口

1.1 整体架构和接口

95089fd310a118e48d2fb617349b2261.png

1.2 编写XML文档

4d3c2edfb4fd5e776ea7c507a1ebca95.png

1.3 编写IOCloseUtil类

97a4ca86eac1512e7d0c3910a00f6b51.png

2 DOM4J解析配置文件

2.1 Entity实体类的编写

14e2bcc3974d12bcf7f1992f849ac30f.png

2.2 Mapping实体类的编写

d69307b668651b47339ba071a14f25a4.png

2.3 解析XML文件

ce443b1b4a0f1669e033e4d855026560.png

462d29d03c6ec05ff28657670a3804d5.png

0086356b52646259bb556ff56ca47384.png

8cb4b08bca13fd6d7e9a3ec7cbbcadc9.png

3 反射创建servlet

3.1 编写servletContext对象

解析xml的目的就是为了创建servlet对象,利用从request中请求的url,获取

servlet-name,再用servlet-name获取类的权限顶类名,从而创建servlet对象,而

mapping和Request 两个类中使用的是list集合,将其转化为map集合,存储映射

关系,就有了servletContext类。

3.2 servlet上下文,就是一个容器,用来存储映射关系(定义集合)

aa85b2c1078e7e4d170cc71229cb29cb.png

3.3 编写WebApp类

调用DOM4返回解析后的集合,遍历集合,转换为map 根据url创建servlet

f5cc03c0c64203381065dbba536f3637.png

c037bf00d5539fccce2d9ecf4c59c6d3.png

4 封装Request_metho_surl

4.1 编写server (启动服务 关闭服务)

1beba8409e6b02460e152bf0f44e9ec9.png

4.2 编写HTML

61deabd4e9c771efc234703882aa581d.png

4.3 封装Request_method_url

c14dfeed8415836ff494a49816b158f8.png

5116025a079f7aa895fe336974705eec.png

fc4c4dfbd914d71a3af91cb61ca4366d.png

5 类之间的关系

86fa25747921e91e283e0c31f86e9028.png

cb0c4b5a865d6318bad282ac463445e4.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值