Write a SERVLET application to accept username and password, search them into database, if found then display appropriate message on the browser otherwise display error message.
login.html
<!DOCTYPE html>
<html>
<head>
<title>Login Page</title>
</head>
<body>
<h2>Login</h2>
<form action="LoginServlet" method="post">
Username: <input type="text" name="username" required><br><br>
Password: <input type="password" name="password" required><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
LoginServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.sql.*;
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String username = request.getParameter("username");
String password = request.getParameter("password");
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// Load JDBC Driver
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/UserDB", "root", ""); // set password if any
// Prepare SQL query
String sql = "SELECT * FROM Users WHERE username=? AND password=?";
ps = con.prepareStatement(sql);
ps.setString(1, username);
ps.setString(2, password);
rs = ps.executeQuery();
if (rs.next()) {
out.println("<h2>Login Successful!</h2>");
out.println("<p>Welcome, " + username + ".</p>");
} else {
out.println("<h2>Login Failed!</h2>");
out.println("<p>Invalid username or password.</p>");
}
} catch (Exception e) {
out.println("<h3>Error: " + e.getMessage() + "</h3>");
} finally {
try { if (rs != null) rs.close(); } catch (Exception e) {}
try { if (ps != null) ps.close(); } catch (Exception e) {}
try { if (con != null) con.close(); } catch (Exception e) {}
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.sendRedirect("login.html");
}
}