Preview:
//First, create a database named user_db and a table named users
sql:
CREATE DATABASE user_db;

USE user_db;

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL
);
//index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>User Registration</title>
</head>
<body>
    <h2>User Registration</h2>
    <form action="InsertUserServlet" method="post">
        Username: <input type="text" name="username" required><br><br>
        Password: <input type="password" name="password" required><br><br>
        <input type="submit" value="Register">
    </form>

    <h2>Update Password</h2>
    <form action="UpdateUserServlet" method="post">
        Username: <input type="text" name="username" required><br><br>
        New Password: <input type="password" name="newPassword" required><br><br>
        <input type="submit" value="Update Password">
    </form>
</body>
</html>

//InsertUserServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/InsertUserServlet")
public class InsertUserServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        String jdbcURL = "jdbc:mysql://localhost:3306/user_db";
        String dbUser = "root"; // Change as needed
        String dbPassword = "password"; // Change as needed

        try (Connection conn = DriverManager.getConnection(jdbcURL, dbUser, dbPassword)) {
            String sql = "INSERT INTO users (username, password) VALUES (?, ?)";
            PreparedStatement statement = conn.prepareStatement(sql);
            statement.setString(1, username);
            statement.setString(2, password);
            statement.executeUpdate();

            PrintWriter out = response.getWriter();
            out.println("<html><body><b>User registered successfully!</b></body></html>");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
//UpdateUserServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/UpdateUserServlet")
public class UpdateUserServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String username = request.getParameter("username");
        String newPassword = request.getParameter("newPassword");

        String jdbcURL = "jdbc:mysql://localhost:3306/user_db";
        String dbUser = "root"; // Change as needed
        String dbPassword = "password"; // Change as needed

        try (Connection conn = DriverManager.getConnection(jdbcURL, dbUser, dbPassword)) {
            String sql = "UPDATE users SET password = ? WHERE username = ?";
            PreparedStatement statement = conn.prepareStatement(sql);
            statement.setString(1, newPassword);
            statement.setString(2, username);
            int rowsUpdated = statement.executeUpdate();

            PrintWriter out = response.getWriter();
            if (rowsUpdated > 0) {
                out.println("<html><body><b>Password updated successfully!</b></body></html>");
            } else {
                out.println("<html><body><b>User not found!</b></body></html>");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
//web.xml
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <servlet>
        <servlet-name>InsertUserServlet</servlet-name>
        <servlet-class>InsertUserServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>InsertUserServlet</servlet-name>
        <url-pattern>/InsertUserServlet</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>UpdateUserServlet</servlet-name>
        <servlet-class>UpdateUserServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>UpdateUserServlet</servlet-name>
        <url-pattern>/UpdateUserServlet</url-pattern>
    </servlet-mapping>

</web-app>
downloadDownload PNG downloadDownload JPEG downloadDownload SVG

Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!

Click to optimize width for Twitter