JAVA实现简单系统登陆注册模块

下面我将为你详细讲解如何实现一个JAVA语言的简单系统登陆注册模块。

准备工作

在开始实现登陆注册模块前,我们需要进行一些准备工作:

  1. 安装Java开发环境(JDK);
  2. 确定使用的开发工具,例如Eclipse、IntelliJ IDEA等;
  3. 创建Java项目;
  4. 下载并引入需要使用的第三方库,例如JDBC驱动,用于连接数据库。

数据库设计

在实现登陆注册模块前,我们需要设计数据库表结构,常见的用户表结构如下:

用户表(user)

字段名 数据类型 长度 说明
id INT 11 主键ID
username VARCHAR 50 用户名
password VARCHAR 50 用户密码
email VARCHAR 50 用户邮箱
phone VARCHAR 20 用户手机号
create_time DATETIME 用户创建时间
update_time DATETIME 用户更新时间

注册模块实现

注册页面

使用HTML和JavaScript实现PHP的注册页面,前端页面设计要求符合UI界面设计规范。

示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>注册</title>
</head>
<body>
<form action="register.php" method="post">
    <input type="text" name="username" placeholder="用户名"><br>
    <input type="password" name="password" placeholder="密码"><br>
    <input type="password" name="repassword" placeholder="确认密码"><br>
    <input type="text" name="email" placeholder="邮箱"><br>
    <input type="text" name="phone" placeholder="手机号码"><br>
    <input type="submit" value="注册">
</form>
</body>
</html>

注册处理页面

使用Java来处理用户注册请求,将用户输入的信息插入到用户表中,并反馈注册结果给用户。

示例代码如下:

package com.example.servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class RegisterServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public RegisterServlet() {
        super();
    }

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    public void destroy() {
        super.destroy();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String email = request.getParameter("email");
        String phone = request.getParameter("phone");

        Connection conn = null;
        PreparedStatement pstmt = null;
        try {
            // 加载 JDBC 驱动程序
            Class.forName("com.mysql.jdbc.Driver");
            // 数据库连接参数
            String HOST = "localhost:3306";
            String DATABASE = "test";
            String USER_NAME = "root";
            String PASSWORD = "root";
            String URL = "jdbc:mysql://" + HOST + "/" + DATABASE + "?user=" + USER_NAME + "&password=" + PASSWORD + "&characterEncoding=utf-8&autoReconnect=true";
            // 创建数据库连接
            conn = DriverManager.getConnection(URL);
            if (conn != null) {
                pstmt = conn.prepareStatement("insert into user(username, password, email, phone, create_time, update_time) values(?,?,?,?,now(), now())");
                pstmt.setString(1, username);
                pstmt.setString(2, password);
                pstmt.setString(3, email);
                pstmt.setString(4, phone);
                int rows = pstmt.executeUpdate();
                if (rows > 0) {
                    response.getWriter().write("注册成功");
                } else {
                    response.getWriter().write("注册失败");
                }
            } else {
                response.getWriter().write("服务器连接数据库失败");
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            response.getWriter().write("服务器异常,请稍后再试!");
        } catch (SQLException e) {
            e.printStackTrace();
            response.getWriter().write("服务器异常,请稍后再试!");
        } finally {
            // 释放资源
            if (pstmt != null) {
                try {
                    pstmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

登录模块实现

登录页面

使用HTML和JavaScript实现Java的登录页面,前端页面设计要求符合UI界面设计规范。

示例代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>登录</title>
</head>
<body>
<form action="login.php" method="post">
    <input type="text" name="username" placeholder="用户名"><br>
    <input type="password" name="password" placeholder="密码"><br>
    <input type="submit" value="登录">
</form>
</body>
</html>

登录处理页面

使用Java来处理用户登录请求,查询用户表中是否存在对应的用户名和密码,若存在,则登录成功,否则登录失败。

示例代码如下:

package com.example.servlet;

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

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class LoginServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public LoginServlet() {
        super();
    }

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    public void destroy() {
        super.destroy();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try {
            // 加载 JDBC 驱动程序
            Class.forName("com.mysql.jdbc.Driver");
            // 数据库连接参数
            String HOST = "localhost:3306";
            String DATABASE = "test";
            String USER_NAME = "root";
            String PASSWORD = "root";
            String URL = "jdbc:mysql://" + HOST + "/" + DATABASE + "?user=" + USER_NAME + "&password=" + PASSWORD + "&characterEncoding=utf-8&autoReconnect=true";
            // 创建数据库连接
            conn = DriverManager.getConnection(URL);
            if (conn != null) {
                pstmt = conn.prepareStatement("select * from user where username=? and password=?");
                pstmt.setString(1, username);
                pstmt.setString(2, password);
                rs = pstmt.executeQuery();
                if (rs.next()) {
                    response.getWriter().write("登录成功");
                } else {
                    response.getWriter().write("用户名或密码错误,请重新登录");
                }
            } else {
                response.getWriter().write("服务器连接数据库失败");
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            response.getWriter().write("服务器异常,请稍后再试!");
        } catch (SQLException e) {
            e.printStackTrace();
            response.getWriter().write("服务器异常,请稍后再试!");
        } finally {
            // 释放资源
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (pstmt != null) {
                try {
                    pstmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

到这里,我们就实现了一个Java语言的简单系统登陆注册模块,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA实现简单系统登陆注册模块 - Python技术站

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

相关文章

  • 聊聊maven的pom.xml中的exclusions标签的作用

    当我们在使用Maven构建项目时,pom.xml文件中的exclusions标签可以帮助我们管理依赖项,控制Maven的传递依赖范围,以便我们更加灵活地管理项目的依赖。在此,我将详细讲解exclusions标签的作用,并提供两个示例。 1. exclusions标签作用 exclusions标签作用是用于在依赖关系中排除某些项目。在Maven的依赖关系中存在…

    Java 2023年5月19日
    00
  • JAVA JNI原理详细介绍及简单实例代码

    先来介绍一下什么是JNI。 JNI,全称为Java Native Interface,即Java本地接口,是一个开发工具包,提供了一种使Java代码和本地代码(C、C++等)交互的机制。 开发者可以使用JNI将本地的代码嵌入到Java应用程序中,从而充分发挥本地代码的性能,是Java与本地代码的桥梁。 下面我来分步骤详细讲解“JAVA JNI原理详细介绍及简…

    Java 2023年5月23日
    00
  • spring boot之使用spring data jpa的自定义sql方式

    下面是使用Spring Data JPA的自定义SQL方式的完整攻略。 1. 添加依赖 首先需要在项目中添加Spring Data JPA的依赖。可以在项目的Maven或Gradle配置中添加以下依赖项: <dependency> <groupId>org.springframework.boot</groupId> &l…

    Java 2023年5月20日
    00
  • jetty运行时无法保存文件的解决方法

    问题描述: 在使用Jetty web服务器时,有可能会出现无法保存文件的问题。这主要是由于jetty用户没有足够的权限保存文件。那么如何解决这个问题呢? 解决方法: 以下是“jetty运行时无法保存文件的解决方法”的完整攻略: 为Jetty用户授权。 通常情况下,Jetty运行时使用的是与服务器系统中的其他用户不同的用户账号,这个用户可能没有权限保存文件。因…

    Java 2023年6月16日
    00
  • spring注解@Service注解的使用解析

    现在我就为你详细讲解使用Spring中的@Service注解的完整攻略。 什么是@Service注解 在Spring中,@Service注解用来标注业务层(Service层)组件,将业务逻辑封装在Service层,通过@Service注解告诉Spring容器需要将这个类识别为Service层的组件,从而进行自动注入和管理。与@Controller注解和@Re…

    Java 2023年5月31日
    00
  • spring框架_Applicationcontext功能

    Applicationcontext的功能拓展主要来自于不属于beanfactory的接口,主要包括四个接口 Messagesource :国际化 ResourcePatternResolver :获取资源 ApplicationEventPublisher:发布事件 EnvironmentCapable:获取环境变量 感觉发布事件这个功能有点像消息队列,发…

    Java 2023年5月9日
    00
  • SpringBoot SpringSecurity JWT实现系统安全策略详解

    SpringBoot SpringSecurity JWT实现系统安全策略详解 系统安全策略概述 在今天的互联网时代,安全性已经成为一个至关重要的问题,尤其是对于Web应用程序而言。SpringSecurity是Spring框架下的一个强大的安全框架,可以实现基于Web的安全保护。JWT是一种轻量级的身份认证和授权方案,可以帮助我们实现在分布式应用程序中的安…

    Java 2023年5月20日
    00
  • 云服务器部署 Web 项目的实现步骤

    云服务器部署 Web 项目的实现步骤可分为以下几个步骤: 购买云服务器首先需要选择一个云服务器提供商,比如阿里云、腾讯云等,根据需求选择一款适合自己的云服务器型号和配置,并进行购买。 配置服务器环境在服务器上安装部署相关的环境和软件,如 Nginx、MySQL、PHP 等,以保证 Web 项目可以正常运行。可以通过 SSH 工具连接到服务器进行安装和配置。 …

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