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日

相关文章

  • Spring Boot 与 kotlin 使用Thymeleaf模板引擎渲染web视图的方法

    首先,在使用Thymeleaf模板引擎前,我们需要在Spring Boot应用程序中添加Thymeleaf依赖,可以在pom.xml文件中添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boo…

    Java 2023年6月15日
    00
  • java 输出九九乘法表口诀的代码

    Java 输出九九乘法表口诀是 Java 入门学习必备的程序之一,下面我将为大家详细讲述 Java 输出九九乘法表口诀的完整攻略,让大家在学习 Java 时可以更加轻松自如地完成这个任务。 程序思路 Java 输出九九乘法表口诀是一个典型的嵌套循环程序,具体实现过程如下: 外层循环控制行数,内层循环控制列数。 每一行输出多个数值,用空格隔开,可以使用 Sys…

    Java 2023年5月23日
    00
  • SpringBoot可视化接口开发工具magic-api的简单使用教程

    SpringBoot可视化接口开发工具magic-api的简单使用教程 介绍 magic-api是一款SpringBoot可视化接口开发工具,可以让开发人员在图形化界面上快速构建RESTful API接口。其特点是通过简单的配置即可生成接口代码,支持对接口文档的在线管理和修改。 安装 首先,你需要在项目的pom.xml文件中添加magic-api的依赖: &…

    Java 2023年5月26日
    00
  • 全面分析Java文件上传

    全面分析Java文件上传完整攻略 什么是文件上传 文件上传是指在Web应用程序中将本地文件发送到远程服务器的过程,用户可以通过上传文件的方式在Web上共享内容。在Java Web开发中,文件上传是一项基本的功能之一。 文件上传的实现方式 Java文件上传至少有两种实现方式,分别是表单上传和Ajax上传。 表单上传 表单上传是指通过form表单提交数据的方式上…

    Java 2023年5月20日
    00
  • Java使用黑盒方式模拟实现内网穿透

    Java使用黑盒方式模拟实现内网穿透攻略 什么是内网穿透? 内网穿透是一种技术,可以将内部网络中的服务通过外部的网络进行访问,在开发或实际运维中,内网穿透被广泛应用。 黑盒方式模拟内网穿透 黑盒方式模拟内网穿透的实现,即通过模拟一个中间站点来实现服务的穿透,让外部网络能够访问内部网络中的服务。可以使用Java语言实现。 实现步骤 从外部网络连接模拟中间站点。…

    Java 2023年5月24日
    00
  • Java基于正则实现的日期校验功能示例

    下面我给出一份详细的Java基于正则实现的日期校验功能示例的攻略。 1. 确定校验的日期格式 在进行日期校验前,需要先确定待校验的日期格式。例如,我们可以使用yyyy-MM-dd作为日期的格式,它表示年份、月份、日期之间以“-”符号隔开。 2. 正则表达式的构建 构建日期校验的正则表达式时,需要考虑以下几点: 年份必须为4位数字,可以使用\d{4}表示。 月…

    Java 2023年5月20日
    00
  • Logger.error打印错误异常的详细堆栈信息

    Logger是一种Java日志框架,用于在Java应用程序中记录和输出各种事件的消息。Logger.error()方法是Logger框架中的一个方法,通常用于记录和输出错误和异常的详细信息。 要打印错误异常的详细堆栈信息,可以使用Logger.error()方法并将异常作为参数。下面是使用Logger.error()方法打印异常堆栈信息的完整攻略: 导入相关…

    Java 2023年5月27日
    00
  • java网上图书商城(9)支付模块

    以下是关于“java网上图书商城(9)支付模块”的完整攻略。 一、支付模块的作用 支付模块是电商网站中不可或缺的重要组成部分,通过对不同的支付方式的集成,使得用户可以方便地完成订单的支付。在该网上图书商城项目中,通过集成支付宝接口,并编写相关代码,实现了用户对订单进行在线支付。 二、支付模块的基本流程 支付模块的基本流程如下: 用户选定商品并提交订单。 系统…

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