我有和 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