android关于登录问题

大海啊它都是水 2012-04-11 08:21:53
我参照android应用开发详解中的方法建了一个HttpUtil专门用来处理连接
可是连接不上 有个HttpUtil.queryStringForPost(url)老是执行报错
我试过了 有句HttpUtil.getHttpResponse(request)执行不了 不知道是怎么回事啊?
求高手来解决哈 呵呵
附上httputil代码

package com.hubu.Util;

import java.io.IOException;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

public class HttpUtil {

public static final String BASE_URL = "http://122.204.216.38:8080/People_Servers/";

public static HttpGet getHttpGet(String url) {
HttpGet request = new HttpGet(url);
return request;
}

public static HttpPost getHttpPost(String url) {
HttpPost request = new HttpPost(url);
return request;
}

public static HttpResponse getHttpResponse(HttpGet request)
throws ClientProtocolException, IOException {
HttpResponse response = new DefaultHttpClient().execute(request);
return response;
}

public static HttpResponse getHttpResponse(HttpPost request)
throws ClientProtocolException, IOException {
HttpResponse response = new DefaultHttpClient().execute(request);
return response;
}

// 通过URL发送post请求 并返回请求结果
public static String queryStringForPost(String url) {
HttpPost request = HttpUtil.getHttpPost(url);
String result = null;
try {

System.out.println("dahaia doushi shui");
System.out.println(HttpUtil.getHttpResponse(request));
System.out.println("dahaia doushi shui"
+ HttpUtil.getHttpResponse(request));

HttpResponse response = HttpUtil.getHttpResponse(request);
if (response.getStatusLine().getStatusCode() == 200) {
result = EntityUtils.toString(response.getEntity());
return result;
}
} catch (ClientProtocolException e) {
e.printStackTrace();
result = "网络异常!";
return result;
} catch (IOException e) {
e.printStackTrace();
result = "网络异常!";
return result;
}
return null;
}

public static String queryStringForPost(HttpPost request) {
String result = null;
try {
HttpResponse response = HttpUtil.getHttpResponse(request);

if (response.getStatusLine().getStatusCode() == 200) {
result = EntityUtils.toString(response.getEntity());
return result;
}
} catch (ClientProtocolException e) {
e.printStackTrace();
result = "网络异常!";
return result;
} catch (IOException e) {
e.printStackTrace();
result = "网络异常!";
return result;
}
return null;
}

public static String queryStringForGet(String url) {
HttpGet request = HttpUtil.getHttpGet(url);
String result = null;
try {
HttpResponse response = HttpUtil.getHttpResponse(request);
if (response.getStatusLine().getStatusCode() == 200) {
result = EntityUtils.toString(response.getEntity());
return result;
}
} catch (ClientProtocolException e) {
e.printStackTrace();
result = "网络异常!";
return result;
} catch (IOException e) {
e.printStackTrace();
result = "网络异常!";
return result;
}
return null;
}
}




还有一个是LoginActivity

private boolean login(){
String username = userEditText.getText().toString();
String pwd = pwdEditText.getText().toString();
String result=query(username,pwd);
if(result!=null&&result.equals("1")){
return true;
}else{
return false;
}
}

private String query(String username,String password){
String queryString = "username="+username+"&password="+password;
String url = HttpUtil.BASE_URL+"servlet/LoginServlet?"+queryString;
return HttpUtil.queryStringForPost(url);
}


servlet 的doget方法

protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html");
PrintWriter out = response.getWriter();
LoginDAO dao = new LoginDAOimpl();
// 获得客户端请求参数
String username = request.getParameter("username");
String password = request.getParameter("password");
System.out.println(username + " " + password);

User u = dao.login(username, password);
System.out.println(u);
if (u != null) {
// 响应客户端内容,登录成功
out.print("1");
} else {
// 响应客户端内容,登录失败
out.print("0");
}
out.flush();
out.close();
}




另外 有的时候能在页面打印出 1 有的时候又是 0 超级郁闷 呵呵
...全文
860 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyq1739511871 2012-12-17
  • 打赏
  • 举报
回复
出现同样的问题。有没有人教我下怎么弄啊
leo9032 2012-09-21
  • 打赏
  • 举报
回复
大哥,你这不是那个点餐系统的源码吗,肯定能登录,是你配置出问题了,你不要再把这个代码贴出来了,把错误贴出来,人家代码肯定没有错!

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧