从servlet到另一个服务器

时间:2018-03-10 07:12:29

标签: java servlets

我在TOMCAT服务器上创建并托管了一个servlet。 我知道每次发出请求时,线程都会处理请求并由servlet实例处理。 该请求将具有调用用户代理详细信息,以及它将如何知道将响应发回的位置。

让我们说servlet需要调用另一台服务器来获取一些信息

所以这就是我的想法

更多浏览器同时向第一个服务器发出请求调用。 第一台服务器上的servlet必须向第二台服务器发出请求,以获取来自浏览器的每个传入请求的信息。

第一台服务器上的servlet如何区分从第二台服务器收到的响应,因为每个响应都与浏览器发出的请求相关联。

谢谢, 维奈

1 个答案:

答案 0 :(得分:0)

  

请求将具有调用用户代理详细信息,以及它将如何知道将响应发送回去。

用户代理详细信息不是服务器发回响应的方式。一旦浏览器向服务器发出请求(到tomcat服务器端口),就会在浏览器m / c和服务器机器之间创建TCP / IP套接字。由于tomcat正在侦听该端口操作系统,因此tomcat会生成一个线程来读取请求并通过HttpServletResponse.getWriter()对象发回响应。

当运行一个tomcat服务器的servlet(例如Tomcat1)连接到另一台机器上的另一个tomcat(例如Tomcat2)时,同样的逻辑也适用。

  

第一台服务器上的servlet如何区分从第二台服务器收到的响应,因为每个响应都与浏览器发出的请求相关联。

你可能在Tomcat1上使用一些http库,普通的HttpURLConnection等向Tomcat2发送请求,允许你读取响应。一旦您在Tomcat1上读取响应,就可以通过Tomcat1服务器上的HttpServletResponse.getWriter()对象将响应发送回浏览器。