session - 在不同域中的两个 servlet 之间共享 http 会话
问题描述
我正在开发一个在具有两个不同域名的服务器上运行的 java 应用程序:aaa.com 和 bbb.net。
我有一个 servlet (A) 在 aaa.com/A 上运行,另一个 servlet (B) 在 bbb.net/B 上运行。
在 servlet A 中,在 doGet() 函数中:
HttpSession session = req.getSession(true);
session.setAttribute("test", "hello");
req.sendRedirect("bbb.net/B");
在 servlet B 中,在 doGet() 函数中:
HttpSession session = req.getSession();
// session: null
我想在 servlet B 中获取 servlet A 的测试变量,但似乎该变量丢失了。出于某种原因,我不想使用参数。我引用了这个站点(https://javarevisited.blogspot.com/2011/09/sendredirect-forward-jsp-servlet.html),有两点让我认为可以从 servlet B 中的 servlet A 检索变量:
- 如果 sendRedirect 请求被转移到另一个资源到不同的域或不同的服务器以进行进一步的处理。
- 但是在 sendRedirect 中,如果我们想使用我们必须将数据存储在会话中或与 URL 一起传递。
我在这里理解有什么问题吗?
解决方案
推荐阅读
- python - 选择文件以目录中的某个特定字符串开头
- laravel - 如何创建显示 Laravel API 关系的路由?
- java - 总计数未添加到现有列表中
- .net - 使用 VisualStateManager 根据不同的状态 (UWP) 更改文本框的边框颜色
- python - 根据颜色级别在屏幕上定位具有不同容差的图像
- java - 错误无法实例化接口 org.springframework.context.ApplicationContextInitializer
- react-native - React Native 中的粉笔没有样式
- php - Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 此路由不支持 PUT 方法。支持的方法:GET、HEAD
- c++ - VS2019 C++中#include“CppUnitTest.h”的问题
- python - 如何将 PYQT Qwizard 下一个按钮连接到方法