Java Web实现用户登录功能

这篇具有很好参考价值的文章主要介绍了Java Web实现用户登录功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、纯JSP方式实现用户登录功能

(一)实现思路

登录页面login.jsp,输入用户名和密码后,跳转到登录处理页面doLogin.jsp进行业务逻辑处理,登录成功,跳转到登录成功页面success.jsp,否则跳转到登录失败页面failure.jsp。
(二)实现步骤

1、创建Web项目

  • 创建Java Enterprise项目,添加Web Application功能
    Java Web实现用户登录功能
    Java Web实现用户登录功能

  • 设置项目名与保存位置
    Java Web实现用户登录功能

  • 单击【Finish】按钮

  • 在项目结构窗口里修改Artifact名 - LoginDemo01
    Java Web实现用户登录功能

  • 编辑服务器配置,重新部署项目
    Java Web实现用户登录功能

2、创建登录页面

  • 登录页面 - login.jsp
    原代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>用户登录</title>
</head>
<body>
<h3 style="text-align: center">用户登录</h3>
<form action="doLogin.jsp" method="post">
    <table border="1" cellpadding="10" style="margin: 0px auto">
        <tr>
            <td align="center">账号</td>
            <td><input type="text" name="username"/></td>
        </tr>
        <tr>
            <td align="center">密码</td>
            <td><input type="password" name="password"/></td>
        </tr>
        <tr align="center">
            <td colspan="2">
                <input type="submit" value="登录"/>
                <input type="reset" value="重置"/>
            </td>
        </tr>
    </table>
</form>
</body>
</html>

3、创建登录处理页面

  • 登录处理页面 - doLogin.jsp
    原代码
<%
    // 获取登录表单数据
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    // 判断登录是否成功
    if (username.equals("易烊千玺") && password.equals("123456")) {
        // 跳转到登录成功页面,传递用户名
        response.sendRedirect("success.jsp?username=" + username);
    } else {
        // 跳转到登录失败页面,传递用户名
        response.sendRedirect("failure.jsp?username=" + username);
    }
%>

4、创建登录成功页面

  • 登录成功页面 - success.jsp
    原代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录成功</title>
</head>
<body>
<h3 style="text-align: center">恭喜,<%=request.getParameter("username")%>,登录成功!</h3>
</body>
</html>

5、创建登录失败页面

  • 登录失败页面 - failure.jsp
    原代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录失败</title>
</head>
<body>
<h3 style="text-align: center">遗憾,<%=request.getParameter("username")%>,登录失败!</h3>
</body>
</html>

6、编辑项目首页

  • 项目首页 - index.jsp
    原代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>首页</title>
  </head>
  <body>
    <h1 style="color: red; text-align: center">纯JSP方式实现用户登录成功能</h1>
    <h3 style="text-align: center"><a href="login.jsp">跳转到登录页面</a></h3>
  </body>
</html>

(三)测试结果

  • 启动服务器,显示首页
    Java Web实现用户登录功能

  • 单击【跳转到登录页面】超链接
    Java Web实现用户登录功能

  • 输入正确的用户名和密码(易烊千玺:123456)
    Java Web实现用户登录功能

  • 单击【登录】按钮,跳转到登录成功页面
    Java Web实现用户登录功能

  • 返回登录页面,输入错误的用户名或密码
    Java Web实现用户登录功能

  • 单击【登录】按钮,跳转到登录失败页面
    Java Web实现用户登录功能

二、JSP+Servlet方式实现用户登录功能

(一)实现思路

  • 登录页面login.jsp,输入用户名和密码后,跳转到登录处理程序LoginServlet进行业务逻辑处理,登录成功,跳转到登录成功页面success.jsp,否则跳转到登录失败页面failure.jsp。

(二)实现步骤

1、创建Web项目

  • 创建Java Enterprise项目,添加Web Application功能
    Java Web实现用户登录功能

  • 设置项目名与保存位置
    Java Web实现用户登录功能

  • 单击【Finish】按钮

  • 在项目结构窗口里修改Artifact名 - LoginDemo02
    Java Web实现用户登录功能

  • 编辑服务器配置,重新部署项目
    Java Web实现用户登录功能

  • 切换到【Server】选项卡
    Java Web实现用户登录功能

2、创建登录页面

  • 登录页面 - login.jsp
  • 原代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>用户登录</title>
    </head>
    <body>
        <h3 style="text-align: center">用户登录</h3>
        <form action="login" method="post">
            <table border="1" cellpadding="10" style="margin: 0px auto">
                <tr>
                    <td align="center">账号</td>
                    <td><input type="text" name="username"/></td>
                </tr>
                <tr>
                    <td align="center">密码</td>
                    <td><input type="password" name="password"/></td>
                </tr>
                <tr align="center">
                    <td colspan="2">
                        <input type="submit" value="登录"/>
                        <input type="reset" value="重置"/>
                    </td>
                </tr>
            </table>
        </form>
    </body>
</html>

3、创建登录处理程序

创建net.xyx.serlvet包,在包里创建LoginServlet

package net.xyx.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;

@WebServlet(name = "LoginServlet", urlPatterns = "/login")
public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 设置请求对象字符编码格式
        request.setCharacterEncoding("utf-8");
        // 获取登录表单数据
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        // 判断登录是否成功
        if (username.equals("无心剑") && password.equals("903213")) {
            // 采用重定向,跳转到登录成功页面
            response.sendRedirect("success.jsp?username=" + URLEncoder.encode(username, "utf-8"));
        } else {
            // 采用重定向,跳转到登录失败页面
            response.sendRedirect("failure.jsp?username=" + URLEncoder.encode(username, "utf-8"));
        }
    }

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

4、创建登录成功页面

  • 登录成功页面 - success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>登录成功</title>
    </head>
    <body>
        <h3 style="text-align: center">恭喜,<%=request.getParameter("username")%>,登录成功!</h3>
    </body>
</html>

5、创建登录失败页面

  • 登录失败页面 - failure.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>登录失败</title>
    </head>
    <body>
        <h3 style="text-align: center">遗憾,<%=request.getParameter("username")%>,登录失败!</h3>
    </body>
</html>

6、编辑项目首页

  • 项目首页 - index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>首页</title>
    </head>
    <body>
        <h1 style="color: red; text-align: center">JSP+Servlet方式实现用户登录功能</h1>
        <h3 style="text-align: center"><a href="login.jsp">跳转到登录页面</a></h3>
    </body>
</html>

(三)测试结果

  • 启动服务器,显示首页
    Java Web实现用户登录功能

  • 单击【跳转到登录页面】超链接
    Java Web实现用户登录功能

  • 输入正确的用户名和密码(易烊千玺:001128)

  • 单击【登录】按钮,跳转到登录成功页面
    Java Web实现用户登录功能

  • 返回登录页面,输入错误的用户名或密码

  • 单击【登录】按钮,跳转到登录失败页面
    Java Web实现用户登录功能

三、JSP+Servlet+DB方式实现用户登录功能

(一)实现思路

总体上采用MVC架构。登录页面login.jsp,输入用户名和密码后,跳转到登录处理程序LoginServlet进行业务逻辑处理,调用服务层,服务层调用数据访问层(DAO),连接数据库,查询数据库,以此判断是否登录成功。登录成功,跳转到登录成功页面success.jsp,否则跳转到登录失败页面failure.jsp。
MVC 是 Model、View 和 Controller 的缩写,分别代表 Web 应用程序中的 3 种职责。

(二)实现步骤

1、创建数据库

创建数据库 - test
Java Web实现用户登录功能

  • 单击【确定】按钮

2、创建用户表

创建用户表结构 - t_user
Java Web实现用户登录功能

3、创建Web项目

  • 创建Java Enterprise项目,添加Web Application功能
    Java Web实现用户登录功能

  • 设置项目名与保存位置
    Java Web实现用户登录功能

  • 单击【Finish】按钮

  • 在项目结构窗口里修改Artifact名 - LoginDemo03
    Java Web实现用户登录功能

  • 编辑服务器配置,重新部署项目
    Java Web实现用户登录功能

  • 切换到【Server】选项卡

Java Web实现用户登录功能

4、创建用户实体类

  • 创建net.xyx.bean包,然后在包里创建User类,跟用户表(t_user)对应,简称ORM
    Java Web实现用户登录功能
package net.xyx.bean;

import java.util.Date;

/**
 * 功能:用户实体类
 * 作者:xyx
 * 日期:2023年05月19日
 */
public class User {
    private int id;
    private String username;
    private String password;
    private String telephone;
    private Date registerTime;

    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;
    }

    public String getTelephone() {
        return telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    public Date getRegisterTime() {
        return registerTime;
    }

    public void setRegisterTime(Date registerTime) {
        this.registerTime = registerTime;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", telephone='" + telephone + '\'' +
                ", registerTime=" + registerTime +
                '}';
    }
}

5、添加数据库驱动程序

  • 在WEB-INF目录下创建lib目录,添加数据库驱动程序
  • 将数据库驱动程序(jar包)作为库添加到项目

Java Web实现用户登录功能

Java Web实现用户登录功能

6、创建数据库连接管理工具类

  • 创建net.xyx.dbutils包,在包里创建ConnectionManager
    Java Web实现用户登录功能
package net.xyx.dbutils;

import javax.swing.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * 功能:数据库连接管理类
 * 作者:xyx
 * 日期:2020年06月05日
 */
public class ConnectionManager {
    private static final String DRIVER = "com.mysql.jdbc.Driver"; // 数据库驱动程序
    private static final String URL = "jdbc:mysql://localhost:3306/student/test?useSSL=false"; // 数据库统一资源标识符
    private static final String USER = "root"; // 数据库用户
    private static final String PASSWORD = "1"; // 数据库密码

    //私有化构造方法,拒绝实例化
    private ConnectionManager() {
    }

    /**
     * 获取数据库连接静态方法
     *
     * @return 数据库连接对象
     */
    public static Connection getConnection() {
        // 定义数据库连接
        Connection conn = null;

        try {
            // 安装数据库驱动程序
            Class.forName(DRIVER);
            // 获取数据库连接
            conn = DriverManager.getConnection(URL, USER, PASSWORD);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        // 返回数据库连接
        return conn;
    }

    /**
     * 关闭数据连接静态方法
     *
     * @param conn
     */
    public static void closeConnection(Connection conn) {
        // 判断数据库连接是否非空
        if (conn != null) {
            try {
                // 判断连接是否未关闭
                if (!conn.isClosed()) {
                    // 关闭数据库连接
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

    /**
     * 主方法:测试两个静态方法
     *
     * @param args
     */
    public static void main(String[] args) {
        // 获取数据库连接
        Connection conn = getConnection();
        // 判断数据库连接是否成功
        if (conn != null) {
            JOptionPane.showMessageDialog(null, "恭喜,数据库连接成功!");
        } else {
            JOptionPane.showMessageDialog(null, "遗憾,数据库连接失败!");
        }
        // 关闭数据库连接
        closeConnection(conn);
    }
}

7、创建用户数据访问类

  • 在net.xyx根包里创建dao子包,然后在子包里创建UserDao
package net.xyx.dao;

import net.huawei.bean.User;
import net.huawei.dbutils.ConnectionManager;

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

/**
 * 功能:用户数据访问类
 * 作者:xyx
 * 日期:2023年05月19日
 */
public class UserDao {
    /**
     * 用户登录方法
     * @param username
     * @param password
     * @return 用户对象(非空:登录成功,否则登录失败)
     */
    public User login(String username, String password) {
        // 声明用户对象
        User user = null;

        // 获取数据库连接
        Connection conn = ConnectionManager.getConnection();
        try {
            // 定义SQL字符串
            String strSQL = "SELECT * FROM t_user WHERE username = ? AND password = ?";
            // 创建预备语句对象
            PreparedStatement pstmt = conn.prepareStatement(strSQL);
            // 设置占位符
            pstmt.setString(1, username);
            pstmt.setString(2, password);
            // 执行查询,返回结果集
            ResultSet rs = pstmt.executeQuery();
            // 判断结果集是否为空
            if (rs.next()) {
                // 创建用户对象
                user = new User();
                // 利用当前记录字段值来设置用户对象属性
                user.setId(rs.getInt("id"));
                user.setUsername(rs.getString("username"));
                user.setPassword(rs.getString("password"));
                user.setTelephone(rs.getString("telephone"));
                user.setRegisterTime(rs.getTimestamp("register_time"));
            }
        } catch (SQLException e) {
            System.err.println(e.getMessage());
        } finally {
            // 关闭数据库连接
            ConnectionManager.closeConnection(conn);
        }

        // 返回用户对象
        return user;
    }
}

8、测试用户数据访问类

  • 在net.xyx根包里创建test子类,在子包里创建TestUser
package net.xyx.test;

import net.xyx.bean.User;
import net.xyx.dao.UserDao;
import org.junit.Test;

/**
 * 功能:测试用户数据访问类
 * 作者:xyx
 * 日期:2023年05月19日
 */
public class TestUserDao {
    @Test
    public void testLogin() {
        String username = "无心剑";
        String password = "12345";

        // 创建用户数据访问对象
        UserDao userDao = new UserDao();
        // 调用登录方法,返回用户对象
        User user = userDao.login(username, password);
        // 判断用户登录是否成功
        if (user != null) { // 成功
            System.out.println("恭喜,用户[" + username + "]登录成功~");
        } else { // 失败
            System.out.println("遗憾,用户[" + username + "]登录失败~");
        }
    }
}

  • 修改用户名和密码,再次运行程序,提示登录失败

四、采用MVC模式实现用户注册功能

1、创建Web项目

  • 创建Java Enterprise项目,添加Web Application功能

Java Web实现用户登录功能

  • 设置项目名与保存位置
    Java Web实现用户登录功能
  • 在项目结构窗口里修改Artifact名 - register
    Java Web实现用户登录功能
  • 编辑服务器配置,重新部署项目
    Java Web实现用户登录功能

2、创建内容

Java Web实现用户登录功能文章来源地址https://www.toymoban.com/news/detail-479162.html

  • 首页
    Java Web实现用户登录功能
  • 注册界面
    Java Web实现用户登录功能
  • 随后注册成功和失败都会弹出相应的界面

到了这里,关于Java Web实现用户登录功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 纯JSP方式实现用户登录功能

    (一)实现思路 登录页面login.jsp,输入用户名和密码后,跳转到登录处理页面doLogin.jsp进行业务逻辑处理,登录成功,跳转到登录成功页面success.jsp,否则跳转到登录失败页面failure.jsp。 (二)实现步骤 1、创建Web项目 开始先创建 Java Enterprise 项目,添加 Web Application 功能 设置

    2024年02月08日
    浏览(32)
  • Java开发:实现用户注册登录的功能

    一、前言 在Java开发过程中,实现用户的注册功能是最基本的,用户通过手机号或者邮箱作为注册账号也是非常常见的操作方式,不管是通过手机号注册或者邮箱注册,原理都差不多,那么本文就来分享一下在Java开发过程中的用户注册账号的功能实现。 二、准备工作 1、通过

    2023年04月09日
    浏览(35)
  • 用Java代码实现学生管理系统(可实现用户登录注册功能)

    简单实现学生系统的登录和注册,以及学生信息添加、删除,修改、查询功能。根据需求,创建一个学生类和和用户类以及学生系统类,在登录管理系统之前需要先注册用户,只有输入正确的用户名和密码才可以登录,忘记密码后可以根据用户信息进行修改,用容器存储学生

    2024年02月05日
    浏览(34)
  • 网页版Java(Spring/Spring Boot/Spring MVC)五子棋项目(二)前后端实现用户的登录和注册功能【用户模块】

    1. 用户id 2. 用户名 3. 密码 4. 天梯积分 5. 总场数 6. 获胜场数 和数据库的数据一一对应 1. 连接数据库(application.yml连接数据库) 这个可以直接赋值代码 2. 创建UserMapper的Java接口(interface UserMapper) 创建接口,在UserMapper.xml实现 在model中创建 需要实现@Mapper注释 3. 创建UserMappe

    2024年02月13日
    浏览(37)
  • 根据Java Web 使用Servlet +Mysql 实现简易的登录及注册功能以及项目间的分层

    1、概述         一个好的层次划分不仅可以能使代码结构更加清楚,还可以使项目分工更加明确,可读性大大提升,跟回家有利于后期的维护和升级。从另一个角度来看,好的代码分层架构,应该使可以很好的匹配上单一职责原则的。这样就可以降低层与层之间的依赖,

    2024年02月05日
    浏览(41)
  • Java后台实现网站微信扫码登录功能,获取用户openid,及微信用户信息(小程序码方案),关联微信小程序(个人主体小程序也可以)

    目录 前言 下面展示操作流程 注册微信小程序 通过后台获取小程序码 前端处理 时序图理解 方案实现步骤 前言 很多业务场景之下我们需要实现  微信扫码登录  的需求,如: 同步网站与小程序的用户数据 。 需要获取用户微信相关基本信息,如头像、id等 实例:小程序上的

    2024年02月02日
    浏览(44)
  • 9. 实现业务功能--用户登录

    目录 1. 顺序图  2. 参数要求 3. 创建 Service 接口 4. 实现 Service 接口 5. 单体测试 6. 实现 Controller  7. 实现前端 在用户登录部分特别注意的是需要进行密码校验: 1. MD5(MD5(用户提交的原密码)+数据库查出来的用户的盐)= 密码的密文 2. 用上面的生成的密码的密文和数据库中用户

    2024年02月12日
    浏览(32)
  • 使用SSM框架实现用户登录功能

    客户端有非空校验 登录成功,跳转到主页面 登录失败,再次跳转到登录页面 1、创建数据库 执行命令: CREATE DATABASE ssmdb CHARSET=\\\'utf8mb4\\\'; 查看新建的数据库 2、创建用户表   执行SQL命令生成新的用户表 t_user  3、添加多条用户记录表 运行SQL命令,添加4条记录   (二)创建

    2024年02月06日
    浏览(39)
  • XML配置方式整合SSM框架实现用户登录

    数据库simonshop,采用utf8mb4编码 单击【确定】按钮 创建用户表t_user 执行命令: 插入4条记录 执行命令: 创建Maven项目 - SSMLogin 单击【Create】按钮 在pom.xml文件里添加相关依赖 刷新项目Maven依赖 刷新之后 日志属性文件 - log4j.properties 添加如下: 数据库属性文件 - jdbc.properties 添

    2024年02月05日
    浏览(36)
  • MVC框架实现用户登录注册功能(连接数据库)

    一、简单理解MVC框架 二、项目结构 三、项目源码 3.1 User 3.2 UserDao 3.3 RegisterDao 3.4 servletControll 3.5 servletControllRegister 3.6 web.xml 3.7 login.jsp 3.8 register.jsp 3.9 success.jsp 3.10 failure.jsp  四、实现效果 总结 本篇文章主要介绍利用MVC框架去实现一个简单的用户登录注册功能,内容主

    2024年02月06日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包