手写迷你Tomcat升级版(含解题思路及完整代码)

本文档详细介绍了手写MiniTomcat V4.0的过程,旨在模拟webapps部署,允许磁盘上的webapps目录下存在多个项目,每个项目包含servlet。通过解析`server.xml`和各项目中的`web.xml`配置文件,构建Mapper组件体系,包括Mapper、Host、Context、Wrapper和Servlet对象。在请求时,通过URL和Host信息在Mapper中查找匹配的servlet并执行。
摘要由CSDN通过智能技术生成

一. 题目要求

开发Minicat V4.0,在已有Minicat基础上进一步扩展,模拟出webapps部署效果 磁盘上放置一个webapps目录,webapps中可以有多个项目,例如demo1、demo2、demo3... 每个项目中含有servlet,可以根据请求url定位对应servlet进一步处理。具体的项⽬⽐如demo1中有serlvet(也即为:servlet是属于具体某⼀个项⽬的servlet),这样的话在Minicat初始化配置加载,以及根据请求url查找对应serlvet时都需要进⼀步处理

二.解题思路

(一)封装Mapper组件体系(简单封装即可)

Mapper类—>Host对象->Context对象->Wrapper对象->Servlet(HttpServlet)

该体系结构⽤于存储初始化加载到的Servlet信息

(二)加载server.xml 配置文件中Host的appBase属性采取绝对路径以读取磁盘中相应路径下的webapps目录

(三) 加载webapps目录下的web.xml配置文件

(四) 从两个配置文件中获取Mapper对象、Host对象-、Context对象-、Wrapper对象所要分别封装的信息,详情封装信息如下:

  1. Mapper对象封装URL,例如:/demo1/demo/lagou,以及对应的Host对象

  2. Host对象封装服务器地址及端口号,例如:localhost:8080,以及对应的Context对象

  3. Context对象封装应用名称,例

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

enterpc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值