我们需要从发出 post 请求的外部应用程序调用 servlet。
servlet 查看请求,执行一些处理并在请求或会话上设置属性并重定向到 JSF 页面,该页面需要检索在请求或会话上设置的属性并执行其他操作。
对于这两种情况,我都无法从托管 bean 检索会话或请求上设置的属性/参数,并且在进一步调试后,它显示 servlet 和托管 bean 中的会话 ID 不同。
由于这是来自外部应用程序的请求,因此 servlet 中没有会话,因此 request.getSession(true); 这是在 servlet 中创建一个新会话。
我的理解是,由于它们是同一应用程序的一部分,并且使用相同的上下文,因此它们将具有相同的会话。我的理解不正确吗?这个问题有更好的解决方案吗?(我确实考虑过创建一个过滤器,但认为会话可能有同样的问题)
任何有助于更好地理解或解决此问题的帮助将不胜感激。