android移动端与服务端通信保持Session会话

本文介绍如何在移动端应用中处理登录后的Session管理,通过保存并复用Session确保后续请求能维持同一会话状态,适用于Java开发者及移动端开发人员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

🍅 作者简介:敖 广,CSDN2020博客之星亚军🏆、博客专家💪、个人成长专家✌

🍅 多年工作总结:Java学习路线总结,逆袭Java架构师

🍅 技术交流:定期更新Java硬核干货,不定期送书活动、助你实现技术飞跃

🍅 关注公众号【程序技术圈】,回复 面试题 ,获取《108道Java经典面试题总结(附答案)》pdf,复习方便,面试利器!

移动端在向服务器请求登录并且登录成功的时候,服务器的订单接口需要获取当前登录的Session,才能够以当前用户身份下单,与web端不同,移动端的Session不会自动保存到web端,每次请求都认为是一次新的请求。因此在移动端只要获取到当前登录的Session并且记录下来,在之后的请求中将该Session作为请求头就能够在之后的请求中保持同一个会话(好像Session是有时效的)。

public class User{
public static String mysession=null;
}
//定义一个静态变量用来保存Session

 
URL url1 = new URL("接口地址");
// 2.建立与目标资源的Http通信连接
HttpURLConnection urlConnection = (HttpURLConnection) url1.openConnection();
if(User.mysession!=null)
{
urlConnection.setRequestProperty("cookie",User.mysession);
}
//主要代码,判断Session是否为空,不为空则把Session作为请求头

 
urlConnection.setRequestMethod("POST");
urlConnection.setDoInput(true);
urlConnection.setDoOutput(true);

 
String cookieValue = urlConnection.getHeaderField("set-cookie");
if(cookieValue!=null)
{
Bean.mysession = cookieValue.substring(0,cookieValue.indexOf(";"));
}
//主要代码,获取本次请求的Session,存入mysession

 
// 5.发起请求得到响应的数据
InputStream is = urlConnection.getInputStream() ;
// 6.封装成字符流读取最终请求回来的数据
BufferedReader br = new BufferedReader(new InputStreamReader(is));
// 一行一行的读取信息
String line = null ;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine())!=null){
sb.append(line);
}
//关闭连接
urlConnection.disconnect();
//返回数据
return sb.toString();

保存Session后,在之后的请求中除非更新Session,否则都在同一个Session会话中(Session可用来标识当前的操作对象)。

🍅 作者简介:敖 广,CSDN2020博客之星亚军🏆、博客专家💪、个人成长专家✌

🍅 多年工作总结:Java学习路线总结,逆袭Java架构师

🍅 技术交流:定期更新Java硬核干货,不定期送书活动、助你实现技术飞跃

🍅 关注公众号【程序技术圈】,回复 面试题 ,获取《108道Java经典面试题总结(附答案)》pdf,复习方便,面试利器!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值