两个不同服务器之间的会话。

时间:2011-04-26 06:42:37

标签: jsp session web-applications servlets

朋友们,我正在开发一个电子商务应用程序,我正在整合paypal沙盒。

在Paypal交易后,我的会话在返回我自己的网站时被销毁。如何在JSP servlet中维护该会话?

2 个答案:

答案 0 :(得分:2)

  • 检查会话超时是否配置得太低(在web.xml中)
  • 确保客户端使用cookie,并且服务器未配置为不使用cookie。
  • 验证协议。如果您要在http中创建用户会话,但PayPal正在返回https,则可能会出现问题。

如果超时,Cookie和协议都很好,访问者返回您的网站时应该会收到相同的会话。

答案 1 :(得分:0)

我最近一直使用Paypal而且只使用PHP,但据我记得你必须向Paypal提供一个“返回URL”作为参数,Paypal应该使用该请求将请求重定向回处理完付款后您的网站。为了使会话保持活动状态,您需要将jsessionid属性附加到URL,并将当前会话ID作为值。

String returnURL = "http://example.com/completed.jsp;jsessionid=" + session.getId();
String paypalURL = "http://paypal.com/process?returnURL=" + URLEncoder.encode(returnURL, "UTF-8"));

另一种方法是在弹出窗口中处理此问题,并在Paypal返回时让窗口关闭。将保留父窗口中的会话。