Java实现登录与注册页面

下面是Java实现登录和注册页面的具体攻略:

1. 准备工作:

  • 下载并安装Java JDK,安装JDK后需要配置一下环境变量,确保能在控制台中使用javac和java命令。
  • 安装Java IDE,如Eclipse、IntelliJ IDEA等。

2. 实现注册页面

(1)创建Java web项目

  • 打开IDE,点击File -> New -> Dynamic Web Project
  • 设置项目名称和保存路径,并选择Target runtime为你的Tomcat版本
  • 点击Finish,生成项目骨架

示例1:

<!-- 配置web.xml -->
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">

  <servlet>
    <servlet-name>RegisterServlet</servlet-name>
    <servlet-class>com.example.web.RegisterServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>RegisterServlet</servlet-name>
    <url-pattern>/register</url-pattern>
  </servlet-mapping>

  <welcome-file-list>
    <welcome-file>register.jsp</welcome-file>
  </welcome-file-list>

</web-app>

<!-- register.jsp -->
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册页面</title>
</head>
<body>
  <form action="${pageContext.request.contextPath}/register" method="post">
    <table>
      <tr>
        <td>用户名</td>
        <td><input type="text" name="username"></td>
      </tr>
      <tr>
        <td>密码</td>
        <td><input type="password" name="password"></td>
      </tr>
      <tr>
        <td colspan="2">
          <input type="submit" value="注册">
          <input type="reset" value="重置">
        </td>
      </tr>
    </table>
  </form>
</body>
</html>

(2)创建Servlet类

  • 在Java项目的src目录下创建一个Servlet类
  • 在doPost()方法中获取request对象的参数,从而得到用户输入的用户名和密码
  • 将用户名和密码插入到数据库中

示例2:

package com.example.web;

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

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;

  private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
  private static final String DB_URL = "jdbc:mysql://localhost:3306/test";
  private static final String USER = "root";
  private static final String PASSWORD = "root";

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

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

    Connection conn = null;
    PreparedStatement pstmt = null;

    try {
      Class.forName(JDBC_DRIVER);
      conn = DriverManager.getConnection(DB_URL, USER, PASSWORD);
      String sql = "INSERT INTO user (username, password) VALUES (?, ?)";
      pstmt = conn.prepareStatement(sql);
      pstmt.setString(1, username);
      pstmt.setString(2, password);
      pstmt.executeUpdate();
    } catch (SQLException se) {
      se.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      try {
        if (pstmt != null)
          pstmt.close();
      } catch (SQLException se2) {
      }
      try {
        if (conn != null)
          conn.close();
      } catch (SQLException se) {
        se.printStackTrace();
      }
    }

    response.sendRedirect("login.jsp");
  }

}

3. 实现登录页面

(1)创建登录页面

(2)创建Servlet类

示例3:

<!-- 配置web.xml -->
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">

  <servlet>
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>com.example.web.LoginServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>/login</url-pattern>
  </servlet-mapping>

  <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
  </welcome-file-list>

</web-app>

<!-- login.jsp -->
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录页面</title>
</head>
<body>
  <form action="${pageContext.request.contextPath}/login" method="post">
    <table>
      <tr>
        <td>用户名</td>
        <td><input type="text" name="username"></td>
      </tr>
      <tr>
        <td>密码</td>
        <td><input type="password" name="password"></td>
      </tr>
      <tr>
        <td colspan="2">
          <input type="submit" value="登录">
          <input type="reset" value="重置">
        </td>
      </tr>
    </table>
  </form>
</body>
</html>

<!-- LoginServlet -->
public class LoginServlet extends HttpServlet {

  private static final long serialVersionUID = 1L;

  private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
  private static final String DB_URL = "jdbc:mysql://localhost:3306/test";
  private static final String USER = "root";
  private static final String PASSWORD = "root";

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

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

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

    try {
      Class.forName(JDBC_DRIVER);
      conn = DriverManager.getConnection(DB_URL, USER, PASSWORD);
      String sql = "SELECT * FROM user WHERE username=? AND password=?";
      pstmt = conn.prepareStatement(sql);
      pstmt.setString(1, username);
      pstmt.setString(2, password);
      rs = pstmt.executeQuery();
      if (rs.next()) {
        request.getSession().setAttribute("username", username);
        response.sendRedirect("home.jsp");
      } else {
        response.sendRedirect("login.jsp");
      }
    } catch (SQLException se) {
      se.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      try {
        if (rs != null)
          rs.close();
      } catch (SQLException se2) {
      }
      try {
        if (pstmt != null)
          pstmt.close();
      } catch (SQLException se2) {
      }
      try {
        if (conn != null)
          conn.close();
      } catch (SQLException se) {
        se.printStackTrace();
      }
    }

  }

}

总结:

以上是Java实现登录与注册页面的完整攻略,需要注意的是,这些示例只是展示了如何在Java中实现登录和注册页面,并不包含完善的表单验证和数据类型校验等内容,需要在实际开发中根据需求进行相应的扩展。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实现登录与注册页面 - Python技术站

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

相关文章

  • Java实现操作JSON的便捷工具类完整实例【重写Google的Gson】

    Java实现操作JSON的便捷工具类完整实例【重写Google的Gson】 什么是JSON JSON(JavaScript Object Notation),一种轻量级的数据交换格式。以键值对(key-value pairs)的形式表示信息,易于人阅读和编写,同时也易于机器解析和生成。 为什么需要JSON 如今,网络数据交互已经成为了不可避免的事实。在这个过…

    Java 2023年5月26日
    00
  • 简单了解Java编程中抛出异常的方法

    当Java程序中遇到错误或异常时,通常会在程序中使用一些特定的方法来抛出异常并处理异常。本文将详细讲解如何在Java编程中抛出异常的方法。 什么是异常 在了解Java编程中抛出异常的方法之前,我们需要先对“异常”这个概念有一个基本了解。Java编程中抛出的异常代表了一种错误或者问题,例如某个操作出现了意外的输入或输出、某个文件不存在等等。当程序出现异常时,它…

    Java 2023年5月27日
    00
  • Java中lambda表达式的基本运用

    下面是详细讲解Java中lambda表达式的基本运用的完整攻略。 什么是Lambda表达式? Lambda表达式是Java 8引入的一个新特性,它简化了匿名内部类的写法,使得编写方法更为简洁,代码更为清晰。 Lambda表达式中包含两部分信息:参数列表和代码实现,分别对应于匿名内部类中的参数列表和方法体。 Lambda表达式的语法 Lambda表达式的语法非…

    Java 2023年5月26日
    00
  • java判断是否空最简单的方法

    当我们在Java程序中需要对一个对象是否为空进行判断时,有很多种方法,但其中最常用、最简单的判断方法是使用null关键字来判断对象是否为空。下面是Java判断一个对象是否为空的最简单方法的详细攻略: 步骤一:使用“== null”关键字进行对象是否为空的判断。这种方式的判断条件非常简单,直接判断对象是否为null。如果对象为null,则返回true,否则返回…

    Java 2023年5月26日
    00
  • Java简单计算圆周率完整示例

    针对Java简单计算圆周率完整示例,我将给您讲解完整攻略。具体的步骤和说明如下: 1. 确定计算圆周率的算法 计算圆周率的算法有很多种,比较常用的是蒙特卡罗算法。该算法的本质是通过随机模拟得到的样本数量来近似地计算圆的面积和正方形面积的比值,从而估算圆周率。 2. 编写Java程序 根据蒙特卡罗算法的思路,我们可以考虑如下的Java代码实现: import …

    Java 2023年5月26日
    00
  • 使用Java实现大小写转换实例代码

    使用Java实现大小写转换可以通过常用的String类提供的方法来实现,下面是实现的完整攻略: 1. 使用toUpperCase和toLowerCase方法 Java中String类提供了两个方法来实现大小写转换,分别是toUpperCase方法和toLowerCase方法。 toUpperCase方法:将字符串中的所有字符转换为大写字母; toLowerC…

    Java 2023年5月23日
    00
  • 启用springboot security后登录web页面需要用户名和密码的解决方法

    下面是启用Spring Boot Security后登录Web页面需要用户名和密码的解决方法的完整攻略,包括以下步骤: 1. 添加Spring Boot Security依赖 在pom.xml文件中添加Spring Boot Security依赖: <dependency> <groupId>org.springframework.b…

    Java 2023年6月3日
    00
  • springboot如何关掉tomcat容器

    要关闭 Spring Boot 内嵌的 Tomcat 容器,我们可以通过修改 application.properties 或者 application.yml 文件来配置。下面是具体的步骤: 在 application.properties 文件中添加以下配置: server.shutdown=graceful 或在 application.yml 文件中…

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