android 做登陆与mysql数据库交互

tomcat服务器端:
public class LoginOrRegServlet extends HttpServlet {  //登录和注册服务器
	private static final long serialVersionUID = 1L;
	private static final String Driver = "com.mysql.jdbc.Driver";  //mysql驱动
	private static final String ConnectUrl = "jdbc:MySQL://localhost:3306/itosystem";//连接数据库的URL
	private String User = "root";            //登录数据库的用户名和密码
	private String Password = "num12369";
	@Override
	protected void service(HttpServletRequest request,HttpServletResponse response) {		String connUserName;   //取得请求中的用户名和密码
		String connPassword;
		String Action;         //判断请求中是登录还是注册
		boolean isNull = false;   //根据用户名查询数据库是否查到
		Connection conn = null;      
		DataOutputStream dos = null;
		Statement statement = null;
		ResultSet rs = null;
		connUserName = request.getParameter("userName");//取得请求中的各种值
		connPassword = request.getParameter("password");
		Action = request.getParameter("action");
		System.out.println(connUserName + "-" + connPassword+"-"+Action);
		try {                    //设置驱动和连接数据库
			Class.forName(Driver);    
			conn = DriverManager.getConnection(ConnectUrl, User,        Password);
		} catch (Exception e1) {
			e1.printStackTrace();
		}
		if(Action.equals("reg")){            //if请求为注册
			try {
				if (conn != null) {  //if数据库连接成功
				
					statement = conn.createStatement();   //取得对数据库的操作对象
					rs = statement.executeQuery("select password from user where name='"
	+ connUserName + "'");      //根据请求中的用户名使用mysql语句对数据库的查询操作
dos = new DataOutputStream(response.getOutputStream());   //对请求做出回应的对象
	if(!rs.next()){                        //如果没有查到记录,表明用户名可以使用
statement.executeUpdate("insert into user values('"+connUserName+"','"+connPassword+"')");
                 //执行插入操作
dos.writeInt(5);       //回应给客户端的值(值可以随意),5表示成功		
		}else{
		 dos.writeInt(10);             //10表示用户已存在
			}
			dos.flush();      //关闭各种对象
			dos.close();
			rs.close();
			statement.close();
			conn.close();
				}else{
					System.out.println("数据库连接失败");
				}
			} catch (Exception e) {		
				System.out.println("产生异常");
				e.printStackTrace();
			}
			//注册结束
		}else if(Action.equals("login")){//if请求为登录
			try {
	                                     if (conn != null) {
				statement = conn.createStatement();
				rs = statement.executeQuery("select password from   user where name='"+ connUserName + "'");     //查询数据库
		dos = new DataOutputStream(response.getOutputStream());
		while(rs.next()){//if查询到有这个用户名的记录
			String backPassword;
			backPassword = rs.getString("password");   //从数据库获得这个用户名的密码
if (backPassword.equals(connPassword)) {   //用数据库返回的密码和连接请求中的密码对比
		dos.writeInt(10);         //如果相等,返回值,登录成功	
			}else{
			dos.writeInt(0);               //否则登录失败	
			}	
			isNull = true;     //查到有记录,将其赋值为true
			}
			if(!isNull){    //if没查到记录
			dos.writeInt(5);          //返回5,表示用户不存在
		         }
			dos.flush();        //关闭各种对象
			dos.close();
			rs.close();
		                statement.close();
			conn.close();				
			} else {
			System.out.println("数据库连接失败");
				}
			} catch (Exception e) {
				e.printStackTrace();
				
			}
		}
	}//登录操作结束
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值