2、初始化请求类以及响应回调类 private AsyncHttpClient client; private AsyncHttpResponseHandler asyncHttpResponseHandler; 3、网络权限 <!-- 网络链接 --> <uses-permission...

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

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

private AsyncHttpClient client; private AsyncHttpResponseHandler asyncHttpResponseHandler;

3、网络权限

4、实例化响应类

/** * 设置请求响应 */ private void setListener(final Context context) { asyncHttpResponseHandler = new AsyncHttpResponseHandler() { @Override public void onSuccess(int i, Header[] headers, byte[] bytes) { String jsonStr = new String(bytes); Log.i("lgq","sss===="+jsonStr); } @Override public 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,Listlist){
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();
ListmsgList = new ArrayList();
// 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("用户名,密码不可为空!");
}
ListmsgList22 = new ArrayList();
msgList22.add("你的过第三方");
response.getWriter().print(formatJsonData("msg",msgList));
// response.getWriter().print(createJSONObject());
}
java获取header请求参数结果:
云盘密码:回复QQ——1085220040
// 设置接收类型否则返回415错误 //conn.setRequestProperty("accept","*/*")此处为暴力方法设置接受所有类型,以此来防范返回415; conn.setRequestProperty( "accept" , "application/json" ); // 往服务器...
HttpURLconnection使用POST方式提交JSON数据给服务器
最原始的味道,使用HttpURLconnection提交JSON数据给后台服务器。此处留下标记。
将javabean对象转换成Json字符串。