//login.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Login Page</title> </head> <body> <h2>Login Page</h2> <form action="LoginServlet" method="post"> <label for="username">Enter Username:</label> <input type="text" id="username" name="username" required> <br><br> <input type="submit" value="Login"> </form> </body> </html> //LoginServlet.java import java.io.IOException; import java.io.PrintWriter; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpSession; @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(); // Get the username from the request String username = request.getParameter("username"); if (username != null && !username.isEmpty()) { // Create a session and store the username HttpSession session = request.getSession(); session.setAttribute("username", username); // Redirect to the welcome page response.sendRedirect("WelcomeServlet"); } else { out.println("<h2>Username cannot be empty. Please try again.</h2>"); } out.close(); } } //WelcomeServlet.java import java.io.IOException; import java.io.PrintWriter; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpSession; @WebServlet("/WelcomeServlet") public class WelcomeServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); // Get the existing session (if any) HttpSession session = request.getSession(false); if (session != null) { // Retrieve the username from the session String username = (String) session.getAttribute("username"); if (username != null) { out.println("<h2>Welcome, " + username + "!</h2>"); out.println("<a href='LogoutServlet'>Logout</a>"); } else { out.println("<h2>No user found in session.</h2>"); } } else { out.println("<h2>No session found. Please login again.</h2>"); } out.close(); } } //LogoutServlet.java import java.io.IOException; import java.io.PrintWriter; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpSession; @WebServlet("/LogoutServlet") public class LogoutServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); // Invalidate the session HttpSession session = request.getSession(false); if (session != null) { session.invalidate(); } out.println("<h2>You have been logged out successfully!</h2>"); out.println("<a href='login.html'>Login again</a>"); out.close(); } }
Preview:
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