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
總結
以上是生活随笔為你收集整理的Android添加Header请求参数实例,java响应header请求实现demo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU3183 A Magic Lamp
- 下一篇: oracle安装,未找到文件 F:\ap