//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>