<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <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="text" name="pass" required><br><br> <input type="submit" value="Login"> </form> </body> </html> //welcomeservlet.java package test; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.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 { // Retrieve the existing session, if it exists HttpSession session = request.getSession(false); response.setContentType("text/html"); PrintWriter out = response.getWriter(); if (session != null) { String username = (String) session.getAttribute("username"); String pass = (String) session.getAttribute("pass"); if (username != null) { out.println("<html><body>"); out.println("<h2>Welcome, " + username + "!</h2>"); out.println("<a href='LogoutServlet'>Logout</a>"); out.println("</body></html>"); } else { response.sendRedirect("login.html"); // Redirect if no username in session } } else { response.sendRedirect("login.html"); // Redirect if no session exists } } } //loginservlet.java package test; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.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 { String username = request.getParameter("username"); String pass = request.getParameter("pass"); // Create a new session or retrieve the existing one HttpSession session = request.getSession(); // Store the username in the session session.setAttribute("username", username); session.setAttribute("pass", pass); // Respond with the welcome page content response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html><body>"); out.println("<h2>Welcome, " + username + "!</h2>"); out.println("<a href='LogoutServlet'>Logout</a>"); out.println("</body></html>"); } } //logoutservlet.java package test; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.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 { // Get the existing session, if any HttpSession session = request.getSession(false); if (session != null) { // Invalidate the session session.invalidate(); } // Redirect to the login page response.sendRedirect("login.html"); } }
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