java+mysql实现最基本的用户登录注册功能

mysql驱动包:https://download.csdn.net/download/qq_37400312/9904439

java代码如下


import java.sql.*;
import java.util.*;

public class Login {

    /**
     * 用以实现用户的注册和登录
     */
    private static String username;//用户登录注册的姓名
    private static String password;//用户密码
    private static String url = "jdbc:mysql://localhost:3306/user_info";
    private static String user = "root";//mysql登录名
    private static String pass = "123456";//mysql登录密码(写自己之前设置的)
    private static Connection con;//
    static Scanner input = new Scanner(System.in);

    public static void main() throws Exception {
        //加载数据库连接驱动并连接
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection(url, user, pass);

        System.out.println("********用户界面********");
        System.out.println("请选择:\n 1:用户登录\n 2:用户注册");
        System.out.println("**********************");

        int i = input.nextInt();
        switch (i) {
            case 1:
                denglu();
                break;
            case 2:
                zhuce();
                break;
            default:
                System.out.println("输入有误!");
                System.exit(0);
        }

    }

    //用户注册
    public static void zhuce() throws SQLException {
        System.out.println("请输入你的姓名:");
        username = input.next();
        System.out.println("请输入你的登录密码:");
        String p1 = input.next();
        System.out.println("请再次输入你的确认密码:");
        String p2 = input.next();
        if (p1.equals(p2)) {
            //两次输入的密码相同才可以注册
            password = p1;
            String sql = "insert into user_info (username,password) values(?,?)";
            PreparedStatement ptmt = con.prepareStatement(sql);
            ptmt.setString(1, username);
            ptmt.setString(2, password);
            ptmt.execute();
            System.out.println("注册成功!\n请登录:");
            denglu();
        } else {
            System.out.println("你输入的密码与确认密码不相符,请重新注册:");
            zhuce();
        }

    }

    //用户登录
    public static void denglu() throws SQLException {
        System.out.println("请输入你的姓名:");
        username = input.next();
        System.out.println("请输入你的密码:");
        password = input.next();

        String sql = "select username,password from user_info where username=? and password=?";
        PreparedStatement ptmt = con.prepareStatement(sql);
        ptmt.setString(1, username);
        ptmt.setString(2, password);
        ResultSet rs = ptmt.executeQuery();
        //从登录用户给出的账号密码来检测查询在数据库表中是否存在相同的账号密码
        if (rs.next()) {
            System.out.println("登录成功!");
        } else {
            System.out.println("姓名或密码错误!\n请重新登录:");
            denglu();
        }

    }
}

SQL建表代码如下:

DROP TABLE IF EXISTS `user_info`;
CREATE TABLE `user_info` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(20) NOT NULL,
  `password` varchar(20) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

运行效果

  • 21
    点赞
  • 190
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
以下是一个简单的示例,展示如何使用JSP、JDBC和MySQL实现用户登录、注册和留言功能。 1. 创建数据库 首先,创建一个名为“mydatabase”的数据库,并创建以下两个表: - user_table:用于存储用户信息,包括用户名和密码。 - message_table:用于存储留言信息,包括留言id、留言者id、留言内容和留言时间。 2. 创建JSP页面 创建一个名为“login.jsp”的JSP页面,用于用户登录。在页面上,添加一个表单,用户可以输入用户名和密码。当用户点击“登录”按钮时,将会提交表单,并调用一个名为“login_process.jsp”的JSP页面来处理登录请求。 创建一个名为“register.jsp”的JSP页面,用于用户注册。在页面上,添加一个表单,用户可以输入用户名和密码。当用户点击“注册”按钮时,将会提交表单,并调用一个名为“register_process.jsp”的JSP页面来处理注册请求。 创建一个名为“message.jsp”的JSP页面,用于展示留言列表和添加新留言。在页面上,添加一个表单,用户可以输入留言内容。当用户点击“提交”按钮时,将会提交表单,并调用一个名为“message_process.jsp”的JSP页面来处理添加留言请求。同时,页面还需要展示已有的留言列表。 3. 创建Java类 创建一个名为“User”的Java类,用于处理用户登录和注册请求。该类需要实现以下功能: - 验证用户登录信息是否正确。 - 将新用户的信息添加到数据库中。 创建一个名为“Message”的Java类,用于处理留言相关请求。该类需要实现以下功能: - 获取所有留言列表。 - 将新留言添加到数据库中。 4. 创建JDBC连接 创建一个名为“DBConnection”的Java类,用于连接MySQL数据库。该类需要实现以下功能: - 加载MySQL驱动。 - 建立数据库连接。 - 关闭数据库连接。 5. 实现JSP页面和Java类之间的交互 在JSP页面中,需要使用Java代码来调用Java类中的方法,以实现功能。以下是一些示例代码: - 登录:在“login_process.jsp”页面中,使用以下代码获取用户输入的用户名和密码,并调用“User”类中的“validateUser”方法来验证用户信息是否正确。 String username = request.getParameter("username"); String password = request.getParameter("password"); User user = new User(); boolean isValidUser = user.validateUser(username, password); - 注册:在“register_process.jsp”页面中,使用以下代码获取用户输入的用户名和密码,并调用“User”类中的“addUser”方法来将新用户信息添加到数据库中。 String username = request.getParameter("username"); String password = request.getParameter("password"); User user = new User(); boolean isAdded = user.addUser(username, password); - 留言:在“message_process.jsp”页面中,使用以下代码获取用户输入的留言内容,并调用“Message”类中的“addMessage”方法来将新留言添加到数据库中。 String text = request.getParameter("text"); Message message = new Message(); boolean isAdded = message.addMessage(text); 在JSP页面中,还需要使用Java代码来获取数据库中的数据,并将其展示在页面上。以下是一些示例代码: - 获取所有留言列表:在“message.jsp”页面中,使用以下代码获取数据库中的所有留言,并将其展示在页面上。 Message message = new Message(); List<MessageEntity> messageList = message.getAllMessages(); for (MessageEntity entity : messageList) { out.println(entity.getId() + ": " + entity.getText()); } 以上是一个简单的示例,展示了如何使用JSP、JDBC和MySQL实现用户登录、注册和留言功能。实际应用中,需要根据具体需求进行修改和完善。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

print_Hyon

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

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

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

打赏作者

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

抵扣说明:

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

余额充值