gpt4 book ai didi

java - 控件如何从 Web 服务器传输到 Servlet 容器

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:55:23 25 4
gpt4 key购买 nike

引用 Java Servlet API 规范:“客户端(例如 Web 浏览器)访问 Web 服务器并发出 HTTP 请求。该请求由 Web 服务器接收并传递给 servlet 容器。”

谁能详细说明这个控件是如何传递的(从 Web 服务器到 Servlet 容器)?它是否使用某种类型的 HTTP 连接器,如 Apache Coyote?

最佳答案

实现细节取决于服务器到服务器。 Http 连接器架构是 Apache Tomcat 内部使用的架构。Web 服务器不过是一个 Java 应用程序,它在一个端口上打开套接字并通过 HTTP 协议(protocol) + 一些其他设施继续监听该端口。这些其他一些设施包括组件生命周期管理等。Web 服务器的基本任务是通过 http 协议(protocol)监听端口号上的请求,然后做出响应。因此,在当今可用的大多数常见服务器中,它们会通过 http 协议(protocol)在端口 80 上进行轮询。当您在端口 80 上向程序正在监听的主机发送一些 http 请求时,程序监听会响应该请求。现在,在收到请求后,服务器程序(这里正在监听端口 80)将从其线程池中获取一个新线程,并在该线程中调用 servlet 的服务方法(如果第一个请求看到 here,将创建一个 servlet 实例了解更多详情)。


补充:

Web 服务器是运行 HTTPD 服务的机器。当您向服务器发送请求时,服务器会拦截该请求。Web 服务器负责接收请求并生成响应。现在服务器在它正在监听的套接字上获取输入流。从这里开始,它通过将输入包装在一个新线程中来将输入委托(delegate)给 servlet 容器(以便异步处理事物,并且当 servlet 在单独的线程中处理先前的请求时,web 服务器可以处理其他 http 请求)。 Servlet 容器是 Web 服务器的一部分。 Servlet 容器是一个单独的模块;它可以作为一个单独的程序在 Web 服务器中运行(tomcat 就是其中一个例子)。现在 servlet 容器实例化一个新的 servlet(如果还没有)并在新的子线程中调用它的服务方法。 Servlet 容器将 http 请求包装在 HTTPRequest 对象中,并将其作为参数之一传递给服务方法。

关于java - 控件如何从 Web 服务器传输到 Servlet 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7752336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com