小程序 网站建设 app 开发,不是网站建设必须经历的过程,公司设计资质,网站开发与app开发仿写tomcat 简介tomcat简介流程分析tomcat是怎么和访问者交互的#xff1f;流程图 简介
作者前不久刚仿写了一个简易的tomcat#xff0c;在此分享给各位#xff0c;此篇为对tomcat的简介和流程分析#xff0c;具体仿写内容后续会贴在这里
扫描java文件#xff0c;获取带… 仿写tomcat 简介tomcat简介流程分析tomcat是怎么和访问者交互的流程图 简介
作者前不久刚仿写了一个简易的tomcat在此分享给各位此篇为对tomcat的简介和流程分析具体仿写内容后续会贴在这里
扫描java文件获取带有WebServlet注解的类
tomcat简介
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器属于轻量级应用服务器在中小型系统和并发访问用户不是很多的场合下被普遍使用是开发和调试JSP 程序的首选。对于一个初学者来说可以这样认为当在一台机器上配置好Apache 服务器可利用它响应HTML页面的访问请求。实际上Tomcat是Apache 服务器的扩展但运行时它是独立运行的所以当你运行tomcat 时它实际上作为一个与Apache 独立的进程单独运行的。
流程分析
首先我们要对tomcat的工作流程有一个大概的认识写过servlet项目的朋友都知道在servlet项目中是没有main方法的都是依托于tomcat运行的。
而一个程序想启动没有main方法是不可能的所以tomcat中必然是存在一个主方法的而且为了保持运行状态还要有一个死循环。
同时我们在写servlet的时候并没有在哪里调用这些方法显然这些都是tomcat来代理完成的。
那tomcat又是如何知道我们有哪些servlet文件呢没错就是通过注解。
那么分析到这里就明确了 首先tomcat在启动的时候要扫描java文件 并且通过反射获取他的注解信息判断是否有对应的注解 随后放到一个地方去存储后续再通过代理的方式调用这些类里的方法 tomcat中要有一个死循环保持运行状态。
这些都不是什么太大的问题我们在仿写spring中已经做过这些内容了其实大家也都知道springboot是内置tomcat的这些工作本来就是tomcat来做的只不过通过了spring的一层处理而已。
tomcat是怎么和访问者交互的
其实tomcat使用的是socket连接监听本机的端口当这个端口被访问的时候socket连接就能够感知并且可以通过输入输出流的形式做出对应的请求与响应也就是我们常说的request和response。而这一点也就是我们仿写过程中的主要工作。
流程图