Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将会话从一个服务委派给另一个服务_Java_Web Services_Session_Servlets - Fatal编程技术网

Java 如何将会话从一个服务委派给另一个服务

Java 如何将会话从一个服务委派给另一个服务,java,web-services,session,servlets,Java,Web Services,Session,Servlets,我不熟悉服务和java。我将解释我的工作流程 客户端将向服务1调用一个同步服务。服务1执行一些操作,并将会话委托给服务2。然后服务1变为自由,并准备好执行其他一些工作。服务2执行一些操作,并将响应返回给客户端。这是否可能像将工作委托给其他服务并回复给客户机一样。下图使您更清楚 在servlet中,我们可以将响应(response.sendredirect(url))重定向到某个类似url的服务或html页面,但我认为该响应只是重定向到某个不同的url,而不是正确的会话。所以我想知道上述工作流程

我不熟悉服务和java。我将解释我的工作流程

客户端将向服务1调用一个同步服务。服务1执行一些操作,并将会话委托给服务2。然后服务1变为自由,并准备好执行其他一些工作。服务2执行一些操作,并将响应返回给客户端。这是否可能像将工作委托给其他服务并回复给客户机一样。下图使您更清楚


在servlet中,我们可以将响应(response.sendredirect(url))重定向到某个类似url的服务或html页面,但我认为该响应只是重定向到某个不同的url,而不是正确的会话。所以我想知道上述工作流程是否可行?如果可能,请提供一些代码或参考链接

您可以使用RequestDispatcher类将请求转发给服务2;
RequestDispatcher rd=context_object.getRequestDispatcher('url to service 2')

rd.forward(请求、响应)

内部服务2,您可以使用

request_object.getSession()

获取原始会话对象的步骤

很抱歉回复太晚。我们将从何处获取contex_对象。ServletContext_object=request.getServletContext();像这样。我使用的是rest服务而不是servlet。上面的代码给出了null异常。我尝试使用request.getRequestDispatcher(“url2”)。但这也在RequestDispatcher中给出了null异常。你能再给我一些想法吗。。