Tomcat7中一次请求处理的前世今生Socket连接转换成内部请求对象
发布网友
发布时间:2023-08-08 04:29
我来回答
共1个回答
热心网友
时间:2023-09-20 10:22
首先呢,这个问题其实不底层,如果题主学过“计算机网络”方面的课程,你就明白http其实就是tcp/ip的一种,通过套接字也就是socket通信,那么HTTP请求呢也就是通过它去连接。那么关于“Tomcat服务器通过什么来接受这些字节序列”这个问题很好回答,就是socket编程。
其次,在java中很容易实现socket编程,jdk中已经提供了好了网络编程相应的包。所以题主要写一个类似Servlet的东西,其实你想表达的意思是Servlet容器。Servlet是一种标准,Request也是Servlet标准中的一种,题主不可能自己去写,也没用必要,因为其本身都是接口,并不负责网络连接和接收请求,“Servlet将HTTP请求封装成Request对象”这种说法并不成立,而是Servlet容器负责把http request封装成Servlet中的Request对象。
所以关系可以简单概括,Tomcat是Servlet容器,封装好了Socket,负责通信(包括请求和响应);Servlet是一套标准,由很多java接口和抽象类组成,包括Request、Response、Session接口及其他标准接口。