Java Web应用小案例:实现用户登录功能

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

零、本节学习目标

  1. 掌握纯JSP方式实现用户登录功能
  2. 掌握JSP+Servlet方式实现用户登录功能
  3. 掌握JSP+Servlet+DB方式实现用户登录功能
  4. 掌握MVC模式实现用户登录功能

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

(一)实现思路

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

(二)实现步骤

1、创建Web项目

  • 创建Java Enterprise项目,添加Web Application功能
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 设置项目名与保存位置
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 单击【Finish】按钮
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 在项目结构窗口里修改Artifact名 - LoginDemo01
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 编辑服务器配置,重新部署项目
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 切换到【Server】选项卡
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

2、创建登录页面

  • 登录页面 - login.jsp
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
<%@ 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
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
<%
    // 获取登录表单数据
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    // 判断登录是否成功
    if (username.equals("无心剑") && password.equals("903213")) {
        // 跳转到登录成功页面,传递用户名
        response.sendRedirect("success.jsp?username=" + username);
    } else {
        // 跳转到登录失败页面,传递用户名
        response.sendRedirect("failure.jsp?username=" + username);
    }
%>

4、创建登录成功页面

  • 登录成功页面 - success.jsp
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
<%@ 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
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
<%@ 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
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
<%@ 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,前端,servlet

  • 单击【跳转到登录页面】超链接
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 输入正确的用户名和密码(无心剑:903213)
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 单击【登录】按钮,跳转到登录成功页面
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 返回登录页面,输入错误的用户名或密码
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 单击【登录】按钮,跳转到登录失败页面
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 操作录屏
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

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

(一)实现思路

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

(二)实现步骤

1、创建Web项目

  • 创建Java Enterprise项目,添加Web Application功能
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 设置项目名与保存位置
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 单击【Finish】按钮
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 在项目结构窗口里修改Artifact名 - LoginDemo02
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 编辑服务器配置,重新部署项目
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 切换到【Server】选项卡
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

2、创建登录页面

  • 登录页面 - login.jsp
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
<%@ 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.huawei.serlvet包,在包里创建LoginServlet
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
package net.huawei.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;

/**
 * 功能:登录处理程序
 * 作者:华卫
 * 日期:2023年05月03日
 */
@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);
    }
}
  • 说明:必须设置请求对象的字符编码为utf-8,否则输入正确用户名和密码也会登录失败。重定向传递用户名参数时,必须采用URLEncoder类的encode方法进行编码,否则程序运行会报错。
  • 对应关系图
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

4、创建登录成功页面

  • 登录成功页面 - success.jsp
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
<%@ 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
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
<%@ 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
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
<%@ 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,前端,servlet

  • 单击【跳转到登录页面】超链接
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 输入正确的用户名和密码(无心剑:903213)
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 单击【登录】按钮,跳转到登录成功页面
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 返回登录页面,输入错误的用户名或密码
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 单击【登录】按钮,跳转到登录失败页面
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 操作录屏
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

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

(一)实现思路

  • 总体上采用MVC架构。登录页面login.jsp,输入用户名和密码后,跳转到登录处理程序LoginServlet进行业务逻辑处理,调用服务层,服务层调用数据访问层(DAO),连接数据库,查询数据库,以此判断是否登录成功。登录成功,跳转到登录成功页面success.jsp,否则跳转到登录失败页面failure.jsp
  • MVC 是 Model、View 和 Controller 的缩写,分别代表 Web 应用程序中的 3 种职责。
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

(二)实现步骤

1、创建数据库

  • 创建数据库 - test
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 单击【确定】按钮
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

2、创建用户表

  • 创建用户表结构 - t_user
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
CREATE TABLE `t_user`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `username` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '用户名',
  `password` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '用户密码',
  `telephone` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '联系电话',
  `register_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '注册时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
  • 插入用户记录
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
INSERT INTO `t_user` VALUES (1, '无心剑', '12345', '15888781123', '2023-01-06 07:20:46');
INSERT INTO `t_user` VALUES (2, '陈燕文', '11111', '13990901140', '2023-02-06 11:40:49');
INSERT INTO `t_user` VALUES (3, '郑素平', '22222', '15845678907', '2023-05-01 08:30:53');

3、创建Web项目

  • 创建Java Enterprise项目,添加Web Application功能
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 设置项目名与保存位置
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 单击【Finish】按钮
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 在项目结构窗口里修改Artifact名 - LoginDemo03
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 编辑服务器配置,重新部署项目
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 切换到【Server】选项卡
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

4、创建用户实体类

  • 创建net.huawei.bean包,然后在包里创建User类,跟用户表(t_user)对应,简称ORM(Object Relation Mapping)
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
package net.huawei.bean;

import java.util.Date;

/**
 * 功能:用户实体类
 * 作者:华卫
 * 日期: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目录,添加数据库驱动程序
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 将数据库驱动程序(jar包)作为库添加到项目
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 单击【Add as Library…】
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 单击【OK】按钮
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

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

  • 创建net.huawei.dbutils包,在包里创建ConnectionManager
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
package net.huawei.dbutils;

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

/**
 * 功能:数据库连接管理类
 * 作者:华卫
 * 日期:2023年05月19日
 */
public class ConnectionManager {
    private static final String DRIVER = "com.mysql.jdbc.Driver"; // 数据库驱动程序
    private static final String URL = "jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf8"; // 数据库统一资源标识符
    private static final String USER = "root"; // 数据库用户
    private static final String PASSWORD = "903213"; // 数据库密码(记住改成自己的数据库密码)

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

    // 获取数据库连接静态方法
    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;
    }

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

    public static void main(String[] args) {
        // 获取数据库连接
        Connection conn = getConnection();
        // 判断数据库连接是否成功
        if (conn != null) {
            System.out.println("恭喜,数据库连接成功~");
        } else {
            System.out.println("遗憾,数据库连接失败~");
        }
        // 关闭数据库连接
        closeConnection(conn);
        System.out.println("数据库连接已经关闭~");
    }
}
  • 运行程序,查看结果
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

7、创建用户数据访问类

  • net.huawei根包里创建dao子包,然后在子包里创建UserDao
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
package net.huawei.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;

/**
 * 功能:用户数据访问类
 * 作者:华卫
 * 日期: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.huawei根包里创建test子包,在子包里创建TestUserDao
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
package net.huawei.test;

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

/**
 * 功能:测试用户数据访问类
 * 作者:华卫
 * 日期: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 + "]登录失败~");
        }
    }
}
  • 运行程序,查看结果
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 修改用户名和密码,再次运行程序,提示登录失败
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

9、创建用户服务类

  • net.huawei根包里创建service子包,在子包里创建UserService
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
package net.huawei.service;

import net.huawei.bean.User;
import net.huawei.dao.UserDao;

/**
 * 功能:用户服务类
 * 作者:华卫
 * 日期:2023年05月26日
 */
public class UserService {
    private UserDao userDao = new UserDao();
    
    public User login(String username, String password) {
        return userDao.login(username, password);
    }
}

10、创建登录处理程序

  • net.huawei根包里创建servlet子包,在子包里创建LoginServlet
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
package net.huawei.servlet;

import net.huawei.bean.User;
import net.huawei.service.UserService;

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;

/**
 * 功能:登录处理程序
 * 作者:华卫
 * 日期:2023年05月26日
 */
@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");
        // 创建用户服务对象
        UserService us = new UserService();
        // 调用登录方法,返回用户对象
        User user = us.login(username, password);
        // 判断登录是否成功
        if (user != null) {
            // 采用重定向,跳转到登录成功页面
            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);
    }
}

11、创建登录页面

  • 登录页面 - login.jsp
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
<%@ 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>

12、创建登录成功页面

  • 登录成功页面 - success.jsp
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
<%@ 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>

13、创建登录失败页面

  • 登录失败页面 - failure.jsp
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
<%@ 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>

14、编辑项目首页

  • 项目首页 - index.jsp
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>首页</title>
    </head>
    <body>
        <h1 style="color: red; text-align: center">JSP+Servlet+DB方式实现用户登录功能</h1>
        <h3 style="text-align: center"><a href="login.jsp">跳转到登录页面</a></h3>
    </body>
</html>

(三)测试结果

  • 启动服务器,显示首页
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 单击【跳转到登录页面】超链接
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 输入正确的用户名和密码(无心剑:12345)
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 单击【登录】按钮,跳转到登录成功页面
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 返回登录页面,输入用户名和密码(陈燕文:12345)
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 单击【登录】按钮,跳转到登录失败页面
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet
  • 登录操作录屏演示
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

四、课后作业

任务1、采用MVC模式实现用户注册功能

  • 创建Web项目 - register
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 首页
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 注册页面
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 注册成功页面
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 注册失败页面
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 注册操作录屏演示
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

  • 在Navicat里查看用户表,看是否添加了新用户记录
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet文章来源地址https://www.toymoban.com/news/detail-766182.html

任务2、在登录成功页面显示用户列表

  • 测试UserDao的findAll()方法
    实现注册账号登录功能,动态网站开发讲课笔记,java,前端,servlet

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

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

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

相关文章

  • 【Java案例】用户登录注册

    案例介绍: 编写程序实现简单的用户登录注册功能。程序包含以下4个功能: (1)登录功能,用户输入正确的账号密码登录成功; (2)注册功能,输入用户名和密码进行注册; (3)查看功能,查看所有的用户名与密码; (4)退出功能,退出系统; 用户可以输入对应的编

    2024年01月16日
    浏览(37)
  • 学会使用Java Web实现:用户登录功能(JSP+Servlet方式)

    登录页面 login.jsp ,输入用户名和密码后,跳转到登录处理程序 LoginServlet 进行业务逻辑处理,登录成功,跳转到登录成功页面 success.jsp ,否则跳转到登录失败页面 failure.jsp 。 创建 Java Enterprise 项目,添加 Web Application 功能 设置项目名与保存位置 单击【Finish】按钮 在项目结

    2024年02月11日
    浏览(64)
  • 网页版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日
    浏览(47)
  • 根据Java Web 使用Servlet +Mysql 实现简易的登录及注册功能以及项目间的分层

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

    2024年02月05日
    浏览(56)
  • 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日
    浏览(57)
  • JavaWeb项目----实现用户登录、注册、对商品信息进行的添加、删除、修改功能

    在idea中创建有关类   web中写jsp页面,index.jsp是首页布局 运行效果如下:  登录页面 运行效果如下:   注册页面  运行效果如下:   登陆正确时跳转到zhuye.jsp主页页面( 使用Java脚本获取集合中对象的元素,放html标签中) 运行效果如下:   在登陆页面,密码或用户名输入

    2024年02月11日
    浏览(37)
  • Java实现登录和注册功能

    本文主要应用的技术有:GUI和IO流 我们要利用Java的图形化界面编程实现一个拥有注册和登录简单功能的案例 设计思路:首先我们要实现注册功能,就要有一个用来储存用户名和密码的对象,这里所采用的对象就是文件,通过IO流操作,将用户名和密码以字符串拼接的方式存入

    2024年02月11日
    浏览(42)
  • JavaWeb--用户登录注册案例

    目标 理解什么是会话跟踪技术 掌握Cookie的使用 掌握Session的使用 完善用户登录注册案例的功能 需求说明: 完成用户登录功能,如果用户勾选“记住用户” ,则下次访问登录页面 自动 填充用户名密码 完成注册功能,并实现 验证码 功能 需求: 用户登录成功后,跳转到列表页

    2024年02月03日
    浏览(42)
  • 案例:用户登录/注册

    前端技术: HTML:用于创建网页结构和内容的标记语言 CSS:用于美化和样式化网页的样式表语言。 JavaScript:用于实现网页的交互和动态效果 后端技术: Java:作为主要的后端编程语言,用于编写服务器端的逻辑代码 Servlet: Java Web 技术,用于处理客户端请求和生成响应。 MyBatis:Java的持

    2024年02月12日
    浏览(37)
  • 安卓studio 个人课设项目:“这个app“——实现注册登录,显示用户信息功能,并跳转对应网页

    目录 目录 功能说明  登录页面 注册页面 登录后界面 点击头像出现侧滑界面,并显示用户信息 点击编辑按钮进入信息编辑页面  保存后返回  用户名已更改 跳转网页 相关代码 布局 登录界面  注册界面  信息显示界面  主界面 实现侧滑布局  信息编辑界面 网页显示界面 

    2023年04月26日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包