简单的纯java语言登录和注册功能

本系统是由纯java代码编写的登录和注册功能
工具有:eclipse,mysql
用到的mysql加载驱动在此免费下载:http://download.csdn.net/detail/su1573/9884583
下面是代码部分

**Main.java**
package com.su.main;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
            new Menu();
    }

}
**Menu.java**
package com.su.main;

import java.util.Scanner;

public class Menu {
    Operate operate = new Operate();
    public Menu(){
        while (true){
            this.show();
        }
    }
    public void show(){
        System.out.println("欢迎进入阿辉信息管理系统");
        System.out.println("***1-登录***");
        System.out.println("***2-注册***");
        System.out.println("***0-系统退出***");
        Scanner input = new Scanner(System.in);
        System.out.println("请选择:");
        int i = input.nextInt();
        switch(i){

            case 1 : {
                operate.login();
                break;
            }
            case 2 : {
                operate.register();
                break;
            }

            case 0 : {
                System.exit(1);
                break;
            }
            default: {
                System.out.println("请选择正确的操作!");
            }
        }
    }
}
**Operate.java**
package com.su.main;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;
public class Operate {
    private Connection conn = null;
    private PreparedStatement ps = null;
    private ResultSet rs = null;
    public  void login(){
        Scanner scan = new Scanner(System.in);
        int i = 3;
        String username = null;
        String password = null;
        while(i != -1){              //循环进行
                System.out.print("请输入总系统用户名:");
            username = scan.next();         //输入用户名

            while(username == null){    //判断用户名是否为空
                System.out.print("请输入总系统用户名:");
                username = scan.next();
            }

            System.out.println("请输入总系统密码:");
            password = scan.next();        //输入密码

            while(password == null){      //判断密码是否为空
                System.out.println("请输入总系统密码:");
                password = scan.next();   
            }
//          String str1 = "su";         //定义初始用户名
//          String str2 = "su";
//              //定义初始密码
            if(checkUserLogin(username,password)){    //比较输入的用户名、密码是否和初始值相同
                System.out.println("欢迎"+username+",您已成功登录");
                new Menu();
            }
            else{
                if(i == 0){      //三次登陆都错,退出系统
                    System.out.println("对不起,您三次都输入错误,系统将退出!!!");
                    System.exit(1);
                }
                System.out.println("对不起您输入的用户名或密码有误,请重新输入("+ i-- +"次机会)!!!");
            }



        }
        scan.close();


      }

    public  void register(){
        User user = new User();
        Scanner input = new Scanner(System.in);
        System.out.println("请输入您的姓名:");
        String username = input.next();
        user.setUsername(username);
        System.out.println("请输入您的密码:");
        String userpassword = input.next();
        user.setUserpassword(userpassword);

        try {
            if(doAdd(user)){
                System.out.println("注册成功!");
            }else{
                System.out.println("注册失败!");
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    public  boolean checkUserLogin(String userName,String userPwd){
        boolean flag = false;
        User user = null;
        try{
            conn = DBConn.createDBConn();
            String sql = "select * from user where username=? and userpassword=?";
            ps = conn.prepareStatement(sql);
            ps.setString(1, userName);
            ps.setString(2, userPwd);
            rs = ps.executeQuery();
            while(rs.next()){
                user = new User();
                user.setUsername(rs.getString("username"));
                user.setUserpassword(rs.getString("userpassword"));
            }
            flag = true;
        }catch(Exception ex){
            ex.printStackTrace();
        }finally{
            DBConn.closeConn(conn);
        }
        return flag;
    }

    public boolean doAdd(User user) throws Exception{
        boolean flag = false;
        PreparedStatement pstmt = null;
        String sql = "INSERT INTO user(username,userpassword)" + "VALUES(?,?)";
        try{
            conn = DBConn.createDBConn();
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, user.getUsername()); 
            pstmt.setString(2, user.getUserpassword());

            if (pstmt.executeUpdate() > 0) {
                flag = true;
            }
        } catch (Exception e) {
            throw e;
        } finally { 
            if (pstmt != null) {
                try {
                    pstmt.close();
                } catch (Exception e1) {

                }
            }
        }
        return flag;
    }

}
**DBConn,java**
package com.su.main;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class DBConn {

//  public static void main(String[] args)throws Exception {
//      createDBConn();
//      
//      System.out.println("成功");
//      Statement state = createDBConn().createStatement();
//      System.out.println(state);
//  }
    public static Connection createDBConn(){
        //得到数据连接
        try{
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/userdb","root","su1573");
            return conn;
        }catch(Exception e){
            e.printStackTrace();
            return null;
        }
    }
    public static void closeConn(Connection conn){
            try{
                conn.close();
            }catch(Exception e){
                e.printStackTrace();
            }
        }

}


运行结果如图:
这里写图片描述


数据库数据如图:
这里写图片描述

  • 5
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ssy03092919

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值