两个servlet,分别负责登录和注册,调用模型层的函数,连接数据库登录判断,返回result:public class AndroidLogin extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); //设置客户端的解码方式为utf-8 response.setContentType("text/html;charset=utf-8"); // response.setCharacterEncoding("UTF-8"); boolean b=false; userlogin MyPOJO=new userlogin();//新建MyPOJO类的对象myPOJO //根据标示名获取JSP文件中表单所包含的参数 String id=request.getParameter("id"); String password=request.getParameter("password"); String result = ""; b=MyPOJO.isuserlogin(id,password);//使用模型对账号和密码进行验证,返回一个boolean类型的对象 PrintWriter out = response.getWriter();//回应请求 if(b){ //如果验证结果为真,跳转至登录成功页面 result = "success"; } else { //如果验证结果为假,跳转至登录失败页面 result = "fail"; } out.write(result); out.flush(); out.close(); System.out.println(result); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }}数据库模型层函数,存在返回true,不存在返回false:import java.sql.*;public class userlogin { String drv = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/login"; String usr = "root"; String pwd = "***"; public boolean isuserlogin(String id,String password){ boolean isValid = false; String sql="select * from ulogin where uname='"+id+"' and password='"+password+"'"; try{ Class.forName(drv).newInstance(); Connection conn = DriverManager.getConnection(url,usr,pwd); Statement stm = conn.createStatement(); ResultSet rs = stm.executeQuery(sql); if(rs.next()){ isValid = true; } rs.close(); stm.close(); conn.close(); }catch (Exception e) { e.printStackTrace(); System.out.println(e); } if(isValid){//判断用户名以及密码是否与设定相符 return true; } else return false; }}注册,返回servlet:public class androidregister extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); //设置客户端的解码方式为utf-8 response.setContentType("text/html;charset=utf-8"); // response.setCharacterEncoding("UTF-8"); boolean b = false; register myPOJO=new register(); String id=request.getParameter("id"); String password=request.getParameter("password"); String email = request.getParameter("email"); String result = ""; b=myPOJO.userregister(id,password,email);//连接数据库,插入该用户信息 PrintWriter out = response.getWriter();//回应请求 if(b){ result = "success"; } else{ result = "fail"; } out.write(result); out.flush(); out.close(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }}数据库模型层,插入数据public class register { String drv = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/login"; String usr = "root"; String pwd = "***"; public boolean userregister(String id,String password,String email){ boolean b = false; String sql = "select * from ulogin where uname='"+id+"'"; try{ Class.forName(drv).newInstance(); Connection conn = DriverManager.getConnection(url,usr,pwd); Statement stm = conn.createStatement(); ResultSet rs = stm.executeQuery(sql); if(!rs.next()){ sql = "insert into ulogin(uname,password,email) values('"+id+"','"+password+"','"+email+"')"; stm.execute(sql); b = true; } rs.close(); stm.close(); conn.close(); }catch (Exception e) { e.printStackTrace(); System.out.println(e); } if(b) { return true; } else return false; }}web.xml配置<servlet> <servlet-name>AndroidLogin</servlet-name> <servlet-class>service.AndroidLogin</servlet-class> </servlet> <servlet-mapping> <servlet-name>AndroidLogin</servlet-name> <url-pattern>/androidlogin.do</url-pattern> </servlet-mapping> <servlet> <servlet-name>AndroidRegister</servlet-name> <servlet-class>service.androidregister</servlet-class> </servlet> <servlet-mapping> <servlet-name>AndroidRegister</servlet-name> <url-pattern>/androidregister.do</url-pattern> </servlet-mapping>安卓客户端在MainActivity里实现登录,耗时操作放到线程中去页面