作者:jiazi--- | 来源:互联网 | 2023-05-24 17:47
这可能是一个简单的问题。但是我正在寻找底层细节,但我找不到明确的答案。
我有一个简单的jsp表单,上面有一个名称字段。我将我的名字发布到表单上,然后servlet返回“ Hello Matt”响应(此处是我在表单上发布的名字)。
现在,我有许多客户端(不同的浏览器和选项卡)发布到Servlet并获取响应。Tomcat(或任何Web服务器)如何知道将响应发送回何处。那就是每个servlet线程如何知道应将响应分派给哪个客户端?Tomcat在哪里维护这些信息?
谢谢
1> kamoor..:
Java内置了服务器套接字java.net.ServerSocket实现,该实现用于接受来自任何客户端的TCP连接。一旦服务器接受来自客户端的连接,它也可以将任何消息发送回客户端。Tomcat实现HTTP协议,并以HTTP协议格式与客户端通信。
该文章谈到了Tomcat的实现细节点点。您还将浏览tomcat源代码以了解工作流程。
几个重要的类/软件包:
org.apache.tomcat.util.net.ServerSocketFactory
org.apache.tomcat.util.net
实际上,您可以使用ServerSocket编写一个简单的HTTP服务器,然后以HTTP RFC格式将消息写入套接字。请参阅此问题以了解基本知识。