JAVA简单链接Oracle数据库 注册和登陆功能的实现代码

让我来给您讲解一下“JAVA简单链接Oracle数据库 注册和登陆功能的实现代码”的完整攻略。

1. 需求分析

首先,我们需要明确需求,即实现一个具有注册和登录功能的网站,并且网站需要能够链接Oracle数据库,存储用户信息。

2. 环境搭建

接下来,我们需要搭建Java开发环境和Oracle数据库环境。具体的搭建过程这里不再赘述。需要注意的是,搭建完之后,需要在Java项目中添加Oracle数据库的驱动jar包,否则无法链接数据库。

3. 创建数据库表

在链接Oracle数据库之前,我们需要先创建数据库表。下面是一个简单的用户表结构示例:

CREATE TABLE user_info (
  id NUMBER,
  username VARCHAR2(50),
  password VARCHAR2(50)
);

4. 建立数据库链接

Java中链接Oracle数据库的方式有很多种,这里我们使用JDBC方式,具体代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class OracleJdbcTest {
    public static void main(String[] args) {
        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
        } catch (ClassNotFoundException e) {
            System.out.println("Where is your Oracle JDBC Driver?");
            e.printStackTrace();
            return;
        }

        System.out.println("Oracle JDBC Driver Registered!");

        Connection connection = null;

        try {
            connection = DriverManager.getConnection(
                    "jdbc:oracle:thin:@//localhost:1521/XE", "username",
                    "password");

        } catch (SQLException e) {
            System.out.println("Connection Failed! Check output console");
            e.printStackTrace();
            return;
        }

        if (connection != null) {
            System.out.println("You made it, take control your database now!");
        } else {
            System.out.println("Failed to make connection!");
        }
    }
}

这里我们提供一个简单的示例代码,通过上面的代码,我们可以成功连接到Oracle数据库。

5. 注册和登录功能实现

下面是一个简单的Java代码实现,实现了注册和登录功能:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class UserDAO {
    private static final String url = "jdbc:oracle:thin:@//localhost:1521/XE";
    private static final String user = "username";
    private static final String password = "password";
    private static final String jdbcDriver = "oracle.jdbc.driver.OracleDriver";
    private Connection conn;

    public UserDAO(){
        try {
            Class.forName(jdbcDriver);
            this.conn = DriverManager.getConnection(url, user, password);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void register(User user){
        String sqlStr = "insert into user_info (id, username, password) values(?,?,?)";

        PreparedStatement psmt;
        try {
            psmt = this.conn.prepareStatement(sqlStr);
            psmt.setInt(1, user.getId());
            psmt.setString(2, user.getUsername());
            psmt.setString(3, user.getPassword());

            psmt.execute();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public boolean authenticate(String username, String password){
        String sqlStr = "select username, password from user_info where username = ? and password = ?";

        PreparedStatement psmt;
        try {
            psmt = this.conn.prepareStatement(sqlStr);
            psmt.setString(1, username);
            psmt.setString(2, password);

            ResultSet rs = psmt.executeQuery();
            if(rs.next()){
                return true;
            }else{
                return false;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return false;
    }

    public static void main(String[] args) {
        UserDAO dao = new UserDAO();

        User user = new User();
        user.setId(1);
        user.setUsername("user1");
        user.setPassword("password1");

        dao.register(user);

        boolean success = dao.authenticate("user1", "password1");
        if(success){
            System.out.println("Login success.");
        }else{
            System.out.println("Login failed.");
        }
    }
}

class User{
    private int id;
    private String username;
    private String password;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}

在上面的代码中,我们首先实例化了一个UserDAO对象,然后调用UserDAO对象的register方法来注册一个新用户。接下来,我们使用authenticate方法验证该用户是否能够登录成功。

6. 示例

下面是一个示例,演示如何在网页中实现注册和登录功能:

<!DOCTYPE html>
<html>
<head>
    <title>Register & Login</title>
</head>
<body>
    <h1>Register Form</h1>
    <form action="register.jsp" method="post">
        <label for="username">Username:</label><br>
        <input type="text" id="username" name="username"><br>
        <label for="password">Password:</label><br>
        <input type="password" id="password" name="password"><br><br>
        <input type="submit" value="Submit">
    </form>

    <hr>

    <h1>Login Form</h1>
    <form action="login.jsp" method="post">
        <label for="username">Username:</label><br>
        <input type="text" id="username" name="username"><br>
        <label for="password">Password:</label><br>
        <input type="password" id="password" name="password"><br><br>
        <input type="submit" value="Login">
    </form>
</body>
</html>

在上面的页面中,我们使用了两个表单,一个用于用户注册,一个用于用户登录。

7. 总结

通过本文的介绍,我们详细讲解了如何使用Java语言链接Oracle数据库,并且成功实现了注册和登录功能。需要注意的是,这只是一个简单的示例,真实世界中的应用可能会更加复杂。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA简单链接Oracle数据库 注册和登陆功能的实现代码 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 在IntelliJ IDEA 搭建springmvc项目配置debug的教程详解

    下面是关于在IntelliJ IDEA搭建SpringMVC项目配置Debug的教程详解,包含两个示例说明。 在IntelliJ IDEA搭建SpringMVC项目配置Debug IntelliJ IDEA是一款功能强大的Java集成开发环境,可以帮助我们快速搭建SpringMVC项目并进行调试。在本文中,我们将介绍如何在IntelliJ IDEA中搭建Sp…

    Java 2023年5月17日
    00
  • 基于logback 实现springboot超级详细的日志配置

    基于logback实现Spring Boot超级详细的日志配置 在Spring Boot应用程序中,日志是非常重要的。它可以帮助我们快速定位问题,提高应用程序的可维护性和可用性。本文将详细讲解如何基于logback实现Spring Boot超级详细的日志配置,并提供两个示例。 1. 添加依赖 在pom.xml文件中添加以下依赖: <dependency…

    Java 2023年5月15日
    00
  • java多线程编程之捕获子线程异常示例

    首先让我们来分析一下“java多线程编程之捕获子线程异常示例”的内容意义: 在Java多线程编程中,子线程中抛出未处理的异常会导致整个程序崩溃。在生产环境中,这种意外崩溃的情况会给用户带来极差的体验。因此,如果我们能够有效地捕获子线程中的异常,并对其进行处理,是非常有必要的。 接下来,我将通过两个具体的示例,向大家详细讲解如何捕获子线程异常以及如何对其进行处…

    Java 2023年5月19日
    00
  • JAVA 多线程编程之CountDownLatch使用详解

    JAVA 多线程编程之CountDownLatch使用详解 什么是CountDownLatch CountDownLatch是Java中一个同步工具类,可以用于控制线程的等待,它可以让某一个线程等待直到倒计时结束,再开始执行。 CountDownLatch的构造方法 public CountDownLatch(int count) { } count表示倒计…

    Java 2023年5月26日
    00
  • Java Security Manager的作用是什么?

    Java Security Manager是Java平台提供的一种安全策略机制,用于限制正在运行的Java应用程序对系统资源的访问。Java Security Manager具体的作用包括但不限于以下几个方面: 控制Java应用程序的访问权限:Java Security Manager可以控制Java应用程序所需要的权限,包括文件读写、网络连接、执行操作等等…

    Java 2023年5月11日
    00
  • springboot处理异常的5种方式

    下面我会为您详细讲解Spring Boot处理异常的五种方式,过程中会包含两条示例。 1. 使用@ControllerAdvice @ControllerAdvice可以用来捕获Controller抛出的异常,然后做出相应的处理。需要在类上加上注解@ControllerAdvice来表示这是一个异常处理类,然后再配合上@ExceptionHandler注解来…

    Java 2023年5月27日
    00
  • java 中Map详解及实例代码

    下面是完整的“java 中Map详解及实例代码”攻略。 什么是Map? Map是一种用来存储键-值对数据的数据结构,常用于数据缓存、数据筛选等场景。 Map是一种抽象的数据类型,Java中通过接口Map来定义Map类型。Map接口的实现类有:HashMap、TreeMap、LinkedHashMap 等。 HashMap 什么是HashMap HashMap…

    Java 2023年5月23日
    00
  • Linux环境搭建之安装/配置Tomcat的方法

    关于“Linux环境搭建之安装/配置Tomcat的方法”的攻略,我给您提供以下步骤及示例。 安装Java Tomcat依赖Java运行环境,所以首先需要安装Java: # 添加yum源 sudo yum install -y java-1.8.0-openjdk-devel # 设置Java环境变量 export JAVA_HOME=/usr/lib/jvm…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部