编程语言
首页 > 编程语言> > java – 控件如何从Web服务器传输到Servlet容器

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

作者:互联网

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

任何人都可以详细说明这个控件是如何传递的(从Web服务器到Servlet容器)?它是否使用像Apache Coyote这样的HTTP连接器?

解决方法:

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

加成:

Web Server是运行HTTPD服务的计算机.当您将请求发送到服务器时,服务器会拦截该服务器.Web服务器负责接收请求并生成响应.现在服务器在它正在侦听的套接字上获取输入流.从这里开始,它通过将输入包装在一个新线程中来将输入委托给servlet容器(这样就可以异步处理事情,并且当servlet在一个单独的线程中提供上一个请求时,Web服务器可以处理其他http请求). Servlet容器是Web服务器的一部分. Servlet容器是一个单独的模块;它可以作为单个独立程序在Web服务器中运行(tomcat就是它的一个例子).现在,servlet容器实例化一个新的servlet(如果尚未存在),并在新的子线程中调用其服务方法. Servlet容器将HTTP请求包装在HTTPRequest对象中,并将其中一个参数传递给service方法.

标签:java,tomcat,web-applications,application-server
来源: https://codeday.me/bug/20190902/1793946.html