在不同域中的两个servlet之间共享http会话

时间:2018-06-21 09:17:43

标签: session servlets httpsession

我正在研究一个Java应用程序,该应用程序在具有两个不同域名的服务器上运行:aaa.com和bbb.net。
我有一个在aaa.com/A上运行的servlet(A)和在bbb.net/B上运行的另一个servlet(B)。
在servlet A中,在doGet()函数中:

    add_shortcode('publish_party', 'party_contact_suppliers');

    function party_contact_suppliers(){
        $alerts = new WP_Query (array (
            'post_type'    => 'alert',
            'post_status' => array('publish')
            )
        );
        if ($alerts->have_posts()) {
            echo "<ol>";
            while ($alerts->have_posts()) : $alerts->the_post();
                echo '<li>'.get_the_ID().'<li>';
            endwhile;
            echo "</ol>";
        }
    }

在servlet B中,在doGet()函数中:

HttpSession session = req.getSession(true);
session.setAttribute("test", "hello");
req.sendRedirect("bbb.net/B");

我想在Servlet B中获取Servlet A的测试变量,但似乎该变量丢失了。由于某些原因,我不想使用参数。 我引用了这个站点(https://javarevisited.blogspot.com/2011/09/sendredirect-forward-jsp-servlet.html),有两点使我认为可以从servlet B中的servlet A中检索变量:

  1. 如果将sendRedirect请求转移到不同域或其他服务器的另一资源中,以进行进一步处理。
  2. 但是如果要使用sendRedirect,我们必须将数据存储在会话中或随URL传递。

我在这里明白什么不对吗?

0 个答案:

没有答案