Android添加Header请求参数实例,java响应header请求实现demo

1、首先添加AsyncHttpClient.jar包到libs文件夹下

2、初始化请求类以及响应回调类

 

private AsyncHttpClient client;
private AsyncHttpResponseHandler asyncHttpResponseHandler;

3、网络权限

<!-- 网络链接 -->
<uses-permission android:name="android.permission.INTERNET" />

4、实例化响应类

/*** 设置请求响应*/
private void setListener(final Context context) {asyncHttpResponseHandler = new AsyncHttpResponseHandler() {@Overridepublic void onSuccess(int i, Header[] headers, byte[] bytes) {String jsonStr = new String(bytes);Log.i("lgq","sss===="+jsonStr);}@Overridepublic void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {String jsonStr = new String(bytes);Log.i("lgq","sssbbb===="+jsonStr);}};
}

5、开始请求,添加了header请求参数常用请求参数

 

注:如果是HttpURLConnection请求,添加header请求参数方法是:

conn.setRequestProperty("headkey","headervalue");

 

public void httpheader(){client = new AsyncHttpClient();client.addHeader("headkey", "22aa");//添加header请求参数方法RequestParams requestParams = new RequestParams();requestParams.add("password", "123");//添加常用请求参数方法String strUrl = "http://192.168.0.110:8080/servletDemo/testa?method=login&username=xzgkof&";client.post(this, strUrl, requestParams, asyncHttpResponseHandler);//开始请求
}

6、Android 请求结果:

02-22 11:09:19.492 21796-21796/com.tianxin.httpheader I/lgq: sss===={"msg":["登录成功!锤子进来"]}

 

二、附java响应实现代码

    /**
     * json格式化公用方法
     * @param key
     * @param list
     * @return
     */
    public JSONObject formatJsonData(String key,List<?> list){
        JSONObject json = new JSONObject();
        JSONArray  ja = JSONArray.fromObject(list);
         json.element(key, ja);
          return json;
    } 

    /**
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    public void login(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException{
                String usname = request.getParameter("username");//获取常用方法请求参数
                String psword = request.getParameter("password");
                
                System.out.println("hhhhhhhhhhhhhhhhh========"+request.getHeader("headkey"));//获取header请求参数
                HttpSession session = request.getSession();
                List<Object> msgList = new ArrayList<Object>();
                
//                if (session.isNew()) {
//                    msgList.add("isNew==="+session.getId());
//                }else {
//                    msgList.add("==="+session.getId());
//                }
                
                if(usname != null || psword != null){
                    
                    if(session.getAttribute("usname") != null){
                          if(session.getAttribute("usname").equals(usname)
                           &&session.getAttribute("psword").equals(psword)){
                              okreString ="登录成功";
                                msgList.add("登录成功!上面水电费");

                          }else{
                                msgList.add("登录失败!用户名密码不可为空!");
                                okreString ="登录失败了";
                          }
                        
                    }else{
                        if(usname.equals("xzgkof")&& psword.equals("123")){
                                    msgList.add("登录成功!锤子进来");
                                    session.setAttribute("usname", usname);
                                    session.setAttribute("psword", psword);
                                    session.setMaxInactiveInterval(30*60);//设置单位为秒,设置为-1永不过期    
                                    okreString ="登录成功111";
                                }else{
                                    msgList.add("登录失败!用户名或密码错误!");
                                     okreString ="登录失败了1111";
                                    //session.setMaxInactiveInterval(1);
                                    //request.getRequestDispatcher("/login.jsp").forward(request, response);
                                }
                    }     
                }else{
                       msgList.add("用户名,密码不可为空!");
                     
                }
                List<Object> msgList22 = new ArrayList<Object>();
                msgList22.add("你的过第三方");
                response.getWriter().print(formatJsonData("msg",msgList));        
//                response.getWriter().print(createJSONObject());    
    }

java获取header请求参数结果:

 demo下载链接:https://download.csdn.net/download/meixi_android/10970252

 

demo云盘链接:https://pan.baidu.com/s/1wor8EZ7RjSddDK2Pw44C4g

云盘密码:回复QQ——1085220040

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/414733.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果 ios 微信浏览器界面 ajax 提交带 file 的 form 总是走error方法

1. 问题 问题出在微信端&#xff0c;而且是苹果机的微信端(苹果你咋这么矫情&#xff0c;安卓正常).&#xff1b;代码还是之前的代码&#xff0c;貌似是苹果升级系统后部分版本出现的 BUG&#xff0c;后来证明确实跟 ios 版本有关&#xff0c;网上也找过类似的解决措施&#xf…

前端学习(2748):uniapp创建项目和演示

1创建项目 2运行项目 3配置在微信小程序注意 配置路径 4注意开启端口号

HttpServletResponse.getWriter().print乱码,request.getHeader乱码,解决方法

1、添加响应类型即可 //这句话的意思&#xff0c;是让浏览器用utf8来解析返回的数据 response.setHeader("Content-type", "text/html;charsetUTF-8"); 添加前后&#xff1a; 如果是header参数乱码&#xff0c;解决方法如下&#xff1a; HTTP H…

设计图与html 对比

简易打开旧版火狐 网页版火狐添加组件 新版有时也会没有 谷歌是腾讯的转载于:https://www.cnblogs.com/byksj/p/8426291.html

关于Apache Tomcat解决localhost was unable to start within 45 seconds

关于重装myeclipse启动服务超时问题解决方法&#xff1a; 1.打开安装或解压了Tomcat的根目录 &#xff08;1&#xff09;temp&#xff08;项目临时缓存文件&#xff09; 里面的文件全部删除&#xff0c;不要犹豫&#xff0c;这是之前在对项目进行操作的时候&#xff0c;所产生…

[译]SQL SERVER 2016 – Temporal Tables

原文 Temporal Table是SQL Server2016的新特性。能存储你表里面任意时间点的数据信息。 换句话说&#xff0c;如果你针对一张表执行任何更新或者删除操作&#xff0c;老数据会被新数据覆盖&#xff0c;下次查询的时候是查的最新的数据&#xff0c;但如果使用了temporal table你…

MyEclipse2015Stable2.0安装破解

java开发者不可避免需要使用到的开发工具——myeclipse2015。下载安装直接打开使用的话&#xff0c;使用期为30天&#xff0c;之后如果没有注册吗注册&#xff0c;就使用不了了。即使卸载重装还是提示试用期期限超限&#xff0c;无法打开使用。 于是就有了破解myeclipse2015方…

Android 上传图片实例,java上传图片接口

1、完整上传图片代码方法&#xff1a; private static final int TIME_OUT 10*1000; //超时时间 private static final String CHARSET "utf-8"; //设置编码 /*** android上传文件到服务器* param file 需要上传的文件* param RequestURL 请求的rul* return …

2、jeecg 笔记之 t:dictSelect 或 t:dgCol 自定义字典

1、需求 先说一下需求场景吧&#xff0c;我们知道 jeecg 中提供了下拉&#xff0c;其中包含两种使用场景&#xff1b; 一种是直接通过 t:dictSelect 使用&#xff0c;再就是 t:dgCol 用于表头的列表工具条标签&#xff1b; 总之就是这个样子 需求来了&#xff0c;我们想要下拉…

android动态切换logo和label

注&#xff1a;更新版本时。需换为默认的才可以更新apk android:enabled"true"为默认 1、准备资源 &#xff08;1&#xff09;logo和名称资源 <string name"app_name">httpheader</string> <string name"app_name1">第二名&…

3、jeecg 笔记之 模糊查询

1、前言 jeecg 考虑到默认模糊查询的话&#xff0c;会增加系统压力&#xff0c;导致查询慢&#xff0c;本来系统就挺那啥的... 2、方式一之实体赋值 实体重新赋值查询&#xff0c;用 * %% * 实现&#xff0c;我们知道 sql 中通常使用 % 去模糊查询的&#xff0c;jeecg 中 datag…

工作235:splice

const user res.data.user;const dept user.department;console.log(dept.property)const properties dept.property.split(",");console.log(properties) 运行结果

java打印三角形,菱形。任意边长大小

一、等腰三角形 for (int j 0; j < num; j) { if (j > 0) { for (int i 0; i < j; i) { if (i j - 1) { for (int k 0; k < num - j; k) { if (k num - j - 1) { Syst…

工作236:点击直接进入

<div class"container"><!-- <el-radio-group v-model"mode">--><div><!-- <el-radio-button class"login-btn" label"0">营销端</el-radio-button>--><el-button class"login-b…

java spring框架使用实例demo

首先导入spring的jar包 1、创建web项目&#xff0c;创建spring.xml文件 注&#xff1a;base-package即是包名 spring.xml详情&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <!-- 查找最新的schemaLocation 访问 http://www.springfram…

2、Flutter 填坑记录篇

1、前言 之前写了一篇文章关于 flutter 初体验的一篇&#xff0c;https://www.cnblogs.com/niceyoo/p/9240359.html&#xff0c;当时一顿骚操作&#xff0c;然后程序就跑起来了。 隔了好一段时间&#xff0c;换了个电脑&#xff0c;重新装了个AndroidStudio&#xff0c;继续搭建…

工作238:Vue.js中this.$nextTick()的使用

this.$nextTick()将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它&#xff0c;然后等待 DOM 更新。它跟全局方法 Vue.nextTick 一样&#xff0c;不同的是回调的 this 自动绑定到调用它的实例上。 假设我们更改了某个dom元素内部的文本&#xff0c;而这时候我…

拉勾网大数据相关岗位数据爬虫分析

拉勾网大数据相关招聘数据分析 观察对象&#xff1a;大数据相关岗位的招聘数据 观察时间&#xff1a;2016.3.28 数据来源&#xff1a;拉勾网 1、分析目的 眼下&#xff0c;大数据是一个非常热门的话题。受到非常多人的关注和追捧。其创造的相关职业也受到大家的青睐。但大数据相…