0

我有和 sevlet 对话的 android 应用程序。登录是会话的,我能够生成 sessionid 和 sessionname 并将其传递给应用程序。我在登录页面中设置 sessionid 和 sessionname,像这样

session.setAttribute("sessionid",session.getId());
session.setAttribute("sessionname","name");

我正在从应用程序接收这些东西。但是当我做的时候在servlet中

String id = session.getAttribute("sessionid");

它返回null

这是如何引起的,我该如何解决?

更新:

对于后续请求,我将 sessionid 和 sessionname 作为 httppost 中的标头发送。

像这样。

sessionname has the sessionname value received from the server.
and sessionid has the sessionid value received from the server.
httppost.setHeader("Session",sessionname+"="+sessionid);

在服务器端,我得到了这样的东西

String session = request.getHeader("Session");
String sessionname  = session.substring(0,session.indexOf("="));
String sessionid = session.substring(session.indexOf("="));

所以现在我在这些变量中同时获得了 sessionname 和 sessionid,我像这样将它们与会话对象进行检查

if(session.getAttribute("sessionname").equals(sessionname) && session.getAttribute("sessionid").equals(sessionid))

这是我得到空值的地方。不是针对我采用的变量,而是针对会话对象方法, getAttribute("sessionname") and getAttribute("sessionid") 返回 null

4

2 回答 2

1
String cookie = CookieManager.getInstance().getCookie("http://mydomainname.com");

获取此连接的 cookie,并在您的连接中添加此 cookie,这将为它提供您的连接会话。

于 2013-04-03T18:07:33.307 回答
0

尝试在 url 中发送会话 ID,如 ....;jsessionid=xxx

于 2013-04-02T14:43:16.347 回答