Code a Simple Java Servlet using Apache Tomcat 9 and Eclipse - Step by Step Explanation

Create a Login Servlet that validates the username and password with some default values


  index.html File
  
  <!DOCTYPE html>
  <html>
  <head>
  <meta charset="ISO-8859-1">
  <title>Welcome to our Login Page</title>
  </head>
  <body>
  <form action="login" method="post">
  <label for="usernamelbl">Enter your Username</label>
  <input type="text" name="username" required><br>
  <label for="passlbl">Enter your Password</label>
  <input type="password" name="password" required><br>
  <input type="submit" name="submit" value="submit">
  <input type="reset">
  </form>
  </body>
  </html>

  login servlet

  import java.io.IOException;
  import java.io.PrintWriter;
  import javax.servlet.ServletConfig;
  import javax.servlet.ServletException;
  import javax.servlet.annotation.WebServlet;
  import javax.servlet.http.HttpServlet;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;

  /**
  * Servlet implementation class LoginServlet
  */
  @WebServlet("/LoginServlet")
  public class LoginServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;
        
    /**
      * @see HttpServlet#HttpServlet()
      */
    public LoginServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

  /**
    * @see Servlet#init(ServletConfig)
    */
  public void init(ServletConfig config) throws ServletException {
    // TODO Auto-generated method stub
  }

  /**
    * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
    */
  protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String method= request.getMethod();
    if(method.equals("GET"))
    {
      doGet(request, response);
    }
    else if(method.equals("POST"))
    {
      doPost(request, response);
    }
  }

  /**
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    */
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    response.getWriter().append("Served at: ").append(request.getContextPath());
  }

  /**
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    */
  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");
    if(username.equals("satish") && password.equals("test123"))
    {
      out.println("Welcome Mr "+ username + " and your password is "+ password);
    }
    else
    {
      out.println("I doubt you are an hacker.. pls run away");
    }		
  }

  }

  web.xml
  <?xml version="1.0" encoding="UTF-8"?>
  <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_4_0.xsd" id="WebApp_ID" version="4.0">
  <display-name>firstservletproject</display-name>
  <welcome-file-list>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.htm</welcome-file>
  <welcome-file>index.jsp</welcome-file>
  <welcome-file>default.html</welcome-file>
  <welcome-file>default.htm</welcome-file>
  <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>

  <servlet>
  <servlet-name>firstservlet</servlet-name>
  <servlet-class>LoginServlet</servlet-class>
  </servlet>

  <servlet-mapping>
  <servlet-name>firstservlet</servlet-name>
  <url-pattern>/login</url-pattern>

  </servlet-mapping>

  </web-app>