一尘不染

Tomcat如何处理多个请求

tomcat

我知道创建Web应用程序,但是我有一个基本的疑问。

我很抱歉提出非常愚蠢的问题,但想消除我的疑问。

Tomcat容器如何处理请求,我的意思是说,当我发送对 home.jsp 页面的请求时,我得到的响应仅是 home.jsp 页面,而不是
register.jsp 页面,而后者可能是其他人给出的请求从世界其他角落请求的人。

例如:

Client A --------request(a.jsp)----------> Tomcat (check request received for a.jsp and give proper a.jsp response to client A)

Client B --------request(b.jsp)----------> Tomcat (check request received for b.jsp and give proper b.jsp response to client B)

在这种情况下,如何使Tomcat不混淆请求者和对正确请求者的响应。

内部运作方式。

一些链接对此也有帮助。

谢谢。


阅读 447

收藏
2020-06-16

共1个答案

一尘不染

您基本上是在问TCP如何工作。这是一个很大的话题。基本上,可以按原样恢复它:Tomcat侦听给定TCP端口(默认为8080)上的连接。每当某个浏览器打开与Tomcat的连接时,该连接即由远程主机的IP地址标识,并由该主机用于连接至Tomcat的TCP端口标识。

浏览器通过此连接发送HTTP请求,当请求进入Tomcat时,Tomcat从其线程池中分配一个线程来处理该请求。生成并发送响应后,线程将返回池中,准备服务来自任何客户端的另一个请求。

TCP堆栈本身不是由Tomcat实现的,而是由OS实现的。Java运行时提供java.io.Socket和其他相关类,它们使用操作系统提供的基础TCP
IP堆栈。Tomcat依赖于java.net.Socket和其他相关类。

2020-06-16