移动端访问服务器端时候,每次都是一个不同的会话,那么我们想让它每次访问的是同一个session,该怎么做呢?
在登录成功的返回方法中添加如下获取sessionId的代码:
String sessionId = null;
//登陆成功则设置token令牌和sessionID
if (!"000".equals(content)) {
String cookieValue = conn.getHeaderField("set-cookie");
if (cookieValue != null) {
sessionId = cookieValue.substring(0, cookieValue.indexOf(";"));
}
//访问成功将用户名密码作为token保存到SP中,也将sessionId保存在sp中
SharedPreferences sp = getSharedPreferences("tokenId", Context.MODE_PRIVATE);
sp.edit().putString("mytoken", content).putString("sessionId", sessionId).commit();然后再次访问的时候带上这个sessionId去即可:
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
conn.setRequestProperty("cookie",getSharedPreferences("tokenId", Context.MODE_PRIVATE).getString("sessionId",null));
针对移动端每次请求服务器得到不同session的问题,解决方案是在登录成功后获取sessionId,并在后续请求中携带此sessionId,以确保同一会话。
4007

被折叠的 条评论
为什么被折叠?



