本文和大家一起了解了一下android客户端与服务端是怎样交互的,具体内容如下
1.后台使用简单的servlet,支持GET或POST。这个servlet最终返回给前台一个字符串flag,值是true或false,表示登录是否成功。
servlet使用之前需要配置,主义servlet的servlet-name要和servlet-mapping的servlet-name一致,否则找不到路径
我是在myEclipse上创建的一个web service 项目,然后部署到tomcat服务器上以便android客户端访问
helloWorld
com.zhongzhong.wap.action.HelloServlet
helloWorld
/queryOrder
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.zhongzhong.wap.bean.UserBean;
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType(text/html);
PrintWriter out = resp.getWriter();
Boolean flag = false;
String userName = req.getParameter(un);
String password = req.getParameter(pw);
if(userName.equals(htp)&&password.equals(123))
{
flag = true;
}
else flag = false;
System.out.println(userName:+userName+ password:+password);
out.print(flag);
out.flush();
out.close();
}
}
2.然后我是在安卓的ADT上创建一个安卓项目,建立两个Activity,分别作为登录界面和登录成功界面。
3.HTTP的访问公共类,用于处理GET和POST请求。
package com.example.logindemo;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
im