1 Star 0 Fork 3

Jayon / mytomcat

forked from 小飞侠424 / mytomcat 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

mytomcat

项目简介

自己实现的简易的Tomcat

实现说明

考虑自己实现一个Tomcat,都有哪些关键的要点呢?

第一,提供 Socket 服务

Tomcat 的启动,必然是 Socket 服务,只不过它支持 HTTP 协议而已!

这里其实可以扩展思考下,Tomcat 既然是基于 Socket,那么是基于BIO or NIO or AIO 呢?

第二,进行请求的分发

要知道一个 Tomcat 可以为多个 Web 应用提供服务,那么很显然,Tomcat 可以把 URL 下发到不同的Web应用。

第三,需要把请求和响应封装成`request / response

我们在 Web 应用这一层,可从来没有封装过 request/response 的,我们都是直接使用的,这就是因为 Tomcat 替我们做好了这一步。

代码实现

工程目录结构:

工程目录结构

必要设置

  1. 工程设置

  2. 启动设置

测试

  1. 浏览器输入localhost:8080/girl并回车

测试1

  1. 浏览器输入localhost:8080/world并回车

测试2

  1. 控制台显示内容:
MyTomcat is Starting...
MyRequest{url='/girl', method='GET'}
MyRequest{url='/world', method='GET'}

TODO

  1. 使用解析web.xml的配置文件的方式替换硬编码。
  2. 使用NIO替换BIO。

参考资料:

  1. 从 0 开始手写一个Tomcat,7 步搞定!

空文件

简介

自己实现的简易的Tomcat 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/long2717/mytomcat.git
git@gitee.com:long2717/mytomcat.git
long2717
mytomcat
mytomcat
dev

搜索帮助

344bd9b3 5694891 D2dac590 5694891