我知道创建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不混淆请求者和对正确请求者的响应。
内部运作方式。
一些链接对此也有帮助。
谢谢。
您基本上是在问TCP如何工作。这是一个很大的话题。基本上,可以按原样恢复它:Tomcat侦听给定TCP端口(默认为8080)上的连接。每当某个浏览器打开与Tomcat的连接时,该连接即由远程主机的IP地址标识,并由该主机用于连接至Tomcat的TCP端口标识。
浏览器通过此连接发送HTTP请求,当请求进入Tomcat时,Tomcat从其线程池中分配一个线程来处理该请求。生成并发送响应后,线程将返回池中,准备服务来自任何客户端的另一个请求。
TCP堆栈本身不是由Tomcat实现的,而是由OS实现的。Java运行时提供java.io.Socket和其他相关类,它们使用操作系统提供的基础TCP IP堆栈。Tomcat依赖于java.net.Socket和其他相关类。