JSP实现简单的用户登录并显示出用户信息的方法

要实现JSP用户登录并显示用户信息,需要以下步骤:

1. 建立用户信息表

首先,需要设计一个用于存储用户信息的数据库表,该表应包含至少以下字段:

  • 用户ID
  • 用户名
  • 密码
  • 姓名
  • 电子邮件
  • 手机号码

创建上述字段的数据库表,并插入一些用户的测试数据。

2. 创建JSP登录页面

创建一个JSP登录页面,该页面应包含一个表单,表单中应包含用户名和密码输入框等元素。登录表单的HTML代码如下:

<form method="post" action="login.jsp">
  <div>
    <label for="username">用户名:</label>
    <input type="text" name="username" id="username" required>
  </div>
  <div>
    <label for="password">密码:</label>
    <input type="password" name="password" id="password" required>
  </div>
  <div>
    <button type="submit">登录</button>
  </div>
</form>

3. 处理登录请求

使用JSP来处理登录请求,代码如下:

<%@ page import="java.sql.*"%>

<%
  String username = request.getParameter("username");
  String password = request.getParameter("password");

  String url = "jdbc:mysql://localhost:3306/mydb";
  String driver = "com.mysql.jdbc.Driver";
  String dbUsername = "root";
  String dbPassword = "password";

  Connection conn = null;
  PreparedStatement pstmt = null;
  ResultSet rs = null;

  try {
    Class.forName(driver);
    conn = DriverManager.getConnection(url, dbUsername, dbPassword);
    pstmt = conn.prepareStatement("SELECT * FROM users WHERE username = ? AND password = ?");
    pstmt.setString(1, username);
    pstmt.setString(2, password);
    rs = pstmt.executeQuery();

    if (rs.next()) {
      String name = rs.getString("name");
      String email = rs.getString("email");
      String phone = rs.getString("phone");

      session.setAttribute("username", username);
      session.setAttribute("name", name);
      session.setAttribute("email", email);
      session.setAttribute("phone", phone);
      response.sendRedirect("userinfo.jsp");
    } else {
      out.println("用户名或密码错误。");
    }
  } catch (ClassNotFoundException e) {
    e.printStackTrace();
  } catch (SQLException e) {
    e.printStackTrace();
  } finally {
    if (rs != null) {
      try {
        rs.close();
      } catch (SQLException e) {}
    }
    if (pstmt != null) {
      try {
        pstmt.close();
      } catch (SQLException e) {}
    }
    if (conn != null) {
      try {
        conn.close();
      } catch (SQLException e) {}
    }
  }
%>

上述代码中,连接数据库是通过JDBC来实现的。当用户提交登录请求时,代码会连接数据库,查询用户名和密码是否正确。如果用户名和密码正确,代码会将用户信息存储在session中,并重定向到另外一个JSP页面来显示该信息;否则,代码会提示用户“用户名或密码错误”。

4. 显示用户信息

当用户登录成功后,需要在新的JSP页面中显示该用户的信息,代码如下:

<%
  String username = (String) session.getAttribute("username");
  String name = (String) session.getAttribute("name");
  String email = (String) session.getAttribute("email");
  String phone = (String) session.getAttribute("phone");

  out.println("<p>欢迎您," + name + "!以下是您的账户信息:</p>");
  out.println("<ul>");
  out.println("<li>用户名:" + username + "</li>");
  out.println("<li>姓名:" + name + "</li>");
  out.println("<li>电子邮件:" + email + "</li>");
  out.println("<li>手机号码:" + phone + "</li>");
  out.println("</ul>");
%>

如果所有的信息都被正确地保存在session中,那么以上代码会在页面上输出该用户的所有信息。如果某些信息缺失,那么输出的相应字段会为空。

示例说明

以下是两个示例说明,分别是用户登录成功和登录失败的情况。假设该示例的登录用户名是“alice”,密码是“123456”。

  1. 用户登录成功

当用户输入正确的用户名和密码并单击“登录”按钮后,JSP会对输入的用户名和密码进行验证。如果输入的用户名和密码正确,JSP会将用户信息存储在session中,并重定向到“userinfo.jsp”页面来显示该用户的信息。以下是该用户在“userinfo.jsp”页面中看到的信息:

欢迎您,Alice!以下是您的账户信息:

- 用户名:alice
- 姓名:Alice Smith
- 电子邮件:alice@example.com
- 手机号码:(123) 456-7890
  1. 用户登录失败

当用户输入错误的用户名或密码时,JSP会提示用户“用户名或密码错误”。这条消息会以红色字体在登录页面上显示。例如,如果用户输入了错误的密码“123”,JSP会输出如下的提示消息:

用户名或密码错误。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JSP实现简单的用户登录并显示出用户信息的方法 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Go Java算法之比较版本号方法详解

    Go Java算法之比较版本号方法详解 背景介绍 在开发中,我们常常需要进行版本号的比较,确定版本号的先后顺序,来判断是否需要进行升级等操作。本文将详细介绍如何使用 Go 和 Java 语言进行版本号比较,包括一个简单的版本号比较示例和一个实际应用场景中的版本号比较示例。 版本号比较方法 为了比较两个版本号的大小,我们需要对版本号进行拆分,并将每个部分进行比…

    Java 2023年5月19日
    00
  • Mybatis多表关联查询的实现(DEMO)

    Mybatis多表关联查询的实现(DEMO) 1. 前言 在现实开发中,通常需要查询两个或更多个表的联合结果。这可以通过SQL join操作实现。Mybatis框架也提供了多表关联查询的实现,本文将以实例为根据,详细讲解Mybatis多表关联查询的实现过程。 2. 环境准备 为了实现多表查询,需要先建好需要查询的两个或多个表。此外,还需要安装好Mybatis…

    Java 2023年5月20日
    00
  • SpringBoot自动配置原理分析

    Spring Boot自动配置原理分析 Spring Boot是一个流行的Java框架,可以帮助开发人员快速构建和部署应用程序。其中最重要的特性之一是自动配置,它可以根据应用程序的依赖关系自动配置应用程序。在本文中,我们将详细讲解Spring Boot自动配置的原理和实现方式。 自动配置原理 Spring Boot的自动配置原理基于Spring框架的条件注解…

    Java 2023年5月15日
    00
  • js中几种去掉字串左右空格的方法

    当我们操作字符串时,常常需要将字符串的左右两端空格去掉。在 JavaScript 中,去掉字符串左右空格的方法有多种。下面是几种去掉字符串左右空格的方法的详细攻略: 使用trim()方法 使用 trim() 方法,可以去掉字符串两端的空格,同时该方法还可以去掉字符串两端的所有空白字符(包括空格、制表符、换行符等)。 let str = ‘ hello wor…

    Java 2023年6月15日
    00
  • 基于SpringBoot整合oauth2实现token认证

    下面将为您详细讲解如何基于SpringBoot整合oauth2实现token认证。 一、OAuth 2.0简介 OAuth 2.0 是一个为了Web应用程序授权授权的标准而开发的协议。OAuth 2.0授权框架用于保护API资源,它通过强制使用与资源分开的授权服务器来执行批准流程,并通过对授予的访问令牌进行的认证来验证访问令牌的有效性。 二、OAuth 2.…

    Java 2023年5月20日
    00
  • 详解SpringMVC和MyBatis框架开发环境搭建和简单实用

    详解SpringMVC和MyBatis框架开发环境搭建和简单实用 为了搭建SpringMVC和MyBatis的开发环境,需要准备Java、Maven、Tomcat等软件的安装。下面将张贴详细的步骤和示例代码,帮助您轻松地完成搭建过程。 1. 安装Java环境 在官网上下载合适版本的Java JDK,并进行安装。安装完成后,在环境变量中配置JAVA_HOME路…

    Java 2023年6月15日
    00
  • 一文搞懂Spring Security异常处理机制

    下面我将详细讲解“一文搞懂Spring Security异常处理机制”的完整攻略。 1. 什么是Spring Security异常处理机制 Spring Security异常处理机制是指Spring Security在运行过程中遇到异常时的处理方式,它是构建Spring Security安全体系的重要部分。Spring Security将异常处理机制交给了一…

    Java 2023年6月3日
    00
  • Javac/javap 自带工具简单使用讲解

    Javac和Javap是Java语言中自带的两个工具。Javac能够将Java源代码编译为可执行Java字节代码,而Javap则可以将Java字节码反编译为可读性更高的代码。 使用Javac编译Java源代码 Javac是Java编译器,可将Java源文件编译成字节代码。当然,在使用Javac之前,我们需要先下载并安装Java开发工具包(JDK)。以下是使用…

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