NoHttp请求自动维持Cookie:
   1.支持Session、Cookie、临时Cookie的位置。
   2.支持App重启、关机开机后继续持久化维持。
   3.提供了接口,允许开发者监听Cookie的变化,也可以改变某个Cookie的值。

服务器端:

@WebServlet("/login")
public class LoginServlet extends BaseJsonServlet { private static final long serialVersionUID = 145646L; @Override
protected String onResponse(HttpServletRequest request, HttpServletResponse response) throws Exception {
String userName = request.getParameter("userName");
String userpwd = request.getParameter("userPwd");
if ("yolanda".equals(userName) && "".equals(userpwd)) {
Cookie cookie = new Cookie("userInfo", "yolalasf3153a1");
cookie.setMaxAge( * );
response.addCookie(cookie);
return "登录成功";
} else {
return "登录失败";
}
} }

客户端:

 public class CookieGetActivity extends Activity implements View.OnClickListener {

     private TextView mTvResult;

     @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
findViewById(R.id.btn_login).setOnClickListener(this);
mTvResult = (TextView) findViewById(R.id.tv_result);
} @Override
public void onClick(View v) {
if (v.getId() == R.id.btn_login) {// 登录按钮
Request<JSONObject> request = new FastJsonRequest("http://192.168.1.116/HttpServer/login?userName=yolanda&userPwd=123", RequestMethod.GET);
CallServer.getInstance().add(this, request, callBack, , true, false, true);
}
} private HttpCallBack<JSONObject> callBack = new HttpCallBack<JSONObject>() {
@Override
public void onSucceed(int what, Response<JSONObject> response) {
JSONObject jsonObject = response.get();
String result = "成功了:" + jsonObject.getString("data"); // 成功时拿到头
Headers headers = response.getHeaders();
List<HttpCookie> cookies = headers.getCookies();
for (HttpCookie httpCookie : cookies) {
String cookieName = httpCookie.getName();
if ("userInfo".equals(cookieName)) {
// 这里就拿到了你想那的cookie
result += "\n";
result += httpCookie.getValue();
}
}
mTvResult.setText(result);
} @Override
public void onFailed(int what, String url, Object tag, Exception exception, int responseCode, long networkMillis) {
mTvResult.setText("失败了" + exception.getClass().getName());
}
}; }

文章:https://blog.csdn.net/sinat_31057219/article/details/74217030

NoHttp封装--03 cookie的更多相关文章

  1. NoHttp封装--03 缓存

    1.Default模式,也是没有设置缓存模式时的默认模式 这个模式实现http协议中的内容,比如响应码是304时,当然还会结合E-Tag和LastModify等头. StringRequest req ...

  2. # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结

    095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  3. js 封装设计cookie

    http://www.imooc.com/article/12700<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...

  4. Ajax的封装03

    一.Ajax   1.原理:基于http协议的     内置对象:XMLHttpRequest 发起请求 那会相应     步骤: var xhr=new XMLHttpRequest(); // 请 ...

  5. cookie方法封装及cookie缺点分析

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Consolas; color: #4f5d66 } p.p2 { margin: 0.0px ...

  6. NoHttp封装--07 自定义异步任务框架

    MainActivity: public class MainActivity extends Activity implements View.OnClickListener { .... @Ove ...

  7. NoHttp封装--05 文件下载

    xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:la ...

  8. NoHttp封装--02 自定义请求

    bean实体类请求: 1.bean import java.io.Serializable; import com.alibaba.fastjson.annotation.JSONField; pub ...

  9. NoHttp封装--01

    NoHttpActivity public class NoHttpActivity extends Activity implements View.OnClickListener { privat ...

随机推荐

  1. [Swift]扩展UIImage :获取图片指定像素的颜色值

    对[UIImage]进行扩展 import UIKit extension UIImage{ /** 根据坐标获取图片中的像素颜色值 */ subscript (x: Int, y: Int) -&g ...

  2. Swift5 语言指南(三) 快速之旅

    传统表明,新语言中的第一个程序应在屏幕上打印“Hello,world!”字样.在Swift中,这可以在一行中完成: print("Hello, world!") // Prints ...

  3. Java language

    1.Java开发环境: java编译运行过程: 1. 编译期:.java源文件,经过编译,生成.class字节码文件 2. 运行期:JVM加载.class并运行.class - 特点:跨平台.一次编程 ...

  4. 【PaddlePaddle】自然语言处理:句词预测

    前言 预测词汇的相关性算是自然语言中的HelloWolrd.本文主要根据百度PaddlePaddle示例word2vec,对句子中下一个单词的预测.该示例使用4个词语来预测下一个词. 1. 数据集以及 ...

  5. Django集成Markdown编辑器【附源码】

    专注内容写作的你一定不要错过markdown 简单介绍 markdown是一种标记语言,通过简单的标记语法可以使普通的文本内容具有一定的格式,使用非常简单,学习成本极低 目前各大Blog平台都已支持m ...

  6. Mysql、MongoDB对比和使用场景

    MongoDB: 更高的写入负载 默认情况下,MongoDB更侧重高数据写入性能,而非事务安全,MongoDB很适合业务系统中有大量“低价值”数据的场景.但是应当避免在高事务安全性的系统中使用Mong ...

  7. Docker国内仓库和镜像

    由于网络原因,我们在pull Image 的时候,从Docker Hub上下载会很慢...所以,国内的Docker爱好者们就添加了一些国内的镜像(mirror),方便大家使用. 一.国内Docker仓 ...

  8. Django 学习笔记(四) --- 模型和数据库

    人生苦短 ~ Tips:仅适用于 Python 3+(反正差别不大,py2 改改也能用).因为据 Python 之父 Guido van Rossum 说会在 2020 年停止对 Python 2 的 ...

  9. [javaEE] HTTP协议总结

    OSI网络7层协议 物理层 ==> 数据链路层 ==> 网络层ip ==> 传输层 TCP UDP ==>会话层 ==>表示层 ==> 应用层 HTTP FTP S ...

  10. CentOS7 config aliyun yum repository

    https://www.cnblogs.com/lpbottle/p/7875400.html 1. 备份原来的yum源 mv /etc/yum.repos.d/CentOS-Base.repo /e ...