tomcat手写流程思路

1.创建一个tomcat类,手写tomcat。并调用其中的start方法。

2.start方法中使用socket连接tcp端口,然后交给线程池处理。

3.socket服务器端主要两个部分,一是serversocket监听端口,二是调用serversocket的accept方法。为了监听多个socket使用死循环写入。

4.使用线程池去处理socket连接。 executorService.execute(new SocketProcessor(socket));这里是在读数据,解析数据的http格式。

5.SocketProcessor类中解析格式,通过输入流读取字节组。根据http格式解析数据。

6.创建一个Request类,将数据封装成request对象。创建一个Response类,将数据封装成response对象。去匹配yxservlet中的service方法。

7.发送响应,调用response.complete();

8.complete方法中有三个方法:sendResponseLine(); sendResponseHeader(); sendResponseBody();

9.sendResponseLine();方法中,将响应行发送给浏览器。

10.sendResponseHeader();方法中,将响应头发送给浏览器。

11.sendResponseBody();方法中,将响应体发送给浏览器。

12.编写ResponseServletOutputStream类,有一个write和两个get方法。

13.在Response和yxServlet类中,调用getOutputStream方法,实现write方法。

14.tomcat怎么部署应用,怎么部署servlet.[匹配servlet]

15.tomcat只关心servlet,关系项目下的servlet。

16.因为tomcat关心项目下的servlet,所以拟创建一个项目,将yxservlet放在项目下。这样之后yxservlet就不应该直接导入了。

就应该在tomcat中去设置部署。

17.因为会产生路径中类找不到的现象,所以自定义一个类加载器。 然后判断继承的类是不是httpservlet。

相关推荐
diudiu96289 分钟前
Maven配置阿里云镜像
java·spring·阿里云·servlet·eclipse·tomcat·maven
魔芋红茶21 分钟前
Netty 简易指南
java·开发语言·netty
大学生资源网40 分钟前
基于springboot的万亩助农网站的设计与实现源代码(源码+文档)
java·spring boot·后端·mysql·毕业设计·源码
小严家42 分钟前
Java基础教程大全完整学习路径
java·开发语言·学习
毕设源码-朱学姐42 分钟前
【开题答辩全过程】以 基于Java的电影推荐系统为例,包含答辩的问题和答案
java·开发语言
sheji34161 小时前
【开题答辩全过程】以 基于SSM的校园新冠疫苗接种信息管理系统为例,包含答辩的问题和答案
java·开发语言
菜鸟233号1 小时前
力扣78 子集 java实现
java·数据结构·算法·leetcode
dddaidai1231 小时前
深入JVM(四):垃圾收集器
java·开发语言·jvm
BBB努力学习程序设计1 小时前
Java方法(函数)完全指南:初学者的第一个"工具箱"
java
爬山算法1 小时前
Netty(19)Netty的性能优化手段有哪些?
java·后端