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。

相关推荐
Lam Tang1 小时前
APS 系列文章 08
java·代理模式
萧瑟余晖2 小时前
Java深入解析篇三十三之消息队列
java·开发语言
码匠许师傅2 小时前
【C++ 面试真题】聊聊 C++ 的序列容器
java·c++·面试
IT爱学堂2 小时前
尚硅谷Java+AI大模型应用开发革新版本 2025年3月
java·开发语言·人工智能
不爱编程的小九九3 小时前
小九源码-springboot004-springboot智能阅读推荐系统
java·spring boot·后端
SCandL1523 小时前
Docker的实战应用
java·docker·容器
AC赳赳老秦4 小时前
OpenClaw 多源采集公开行业数据:从原始信息到研究报告初稿的自动化实践
java·c语言·c++·python·php·deepseek·openclaw
Java成神之路-4 小时前
深入理解三大高频队列:ArrayDeque、LinkedList、PriorityQueue 方法、特性与场景选择
java
roman_日积跬步-终至千里4 小时前
【资源控制】自助查询的智能路由
java·大数据·数据库
步行cgn5 小时前
MyBatis Error evaluating expression ‘ids‘. Return value (3) was not iterable 错误详
java·后端