index.
html
<html>
<head>
<title>Request Dispatcher</title>
</head>
<body>
<form method="post" action="ValidateServlet">
Username:<input type="text" name="un"><br>
Password:<input type="password" name="pw"><br>
<input type="submit" value= "Login"><br>
<input type="reset" value= "Reset"><br>
<a href="Register.html" >User Registration</a>
</form>
</body>
</html>
Register.html
<html>
<head>
<title>Request Dispatcher</title>
</head>
<body>
<form method="post" action="RegistrationServlet">
Username:<input type="text" name="uname"><br>
Password:<input type="password" name="pass"><br>
email:<input type="email" name="em"><br>
country:<select name="country">
<option>India
<option>Turkey
<option>UK
<option>Canada
</select><br>
<input type="submit" value= "Register"><br>
<input type="reset" value= "Reset"><br>
</form>
</body>
</html>
RegistrationServlet
package p1;
import java.io.*;
import java.sql.*;
import javax.servlet.http.*;
import javax.servlet.*;
public class RegistrationServlet extends HttpServlet
protected void doPost(HttpServletRequest request,HttpServletResponse response)throws
ServletException,IOException
response.setContentType("text/html");
PrintWriter out= response.getWriter();
String uname=request.getParameter("uname");
String pwd=request.getParameter("pass");
String email=request.getParameter("em");
String country=request.getParameter("country");
try
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection
con=DriverManager.getConnection("jdbc:derby://localhost:1527/users","root","root");
PreparedStatement ps=con.prepareStatement("insert into USERS values (?,?,?,?)");
ps.setString(1,uname);
ps.setString(2,pwd);
ps.setString(3,email);
ps.setString(4,country);
ps.executeUpdate();
out.println("Registration Succesful");
RequestDispatcher rd=request.getRequestDispatcher("index.html");
rd.forward(request, response);
catch(Exception e)
out.println("\nTable not Found");
}
ValidateServlet
package p1;
import java.io.*;
import java.sql.*;
import javax.servlet.http.*;
import javax.servlet.*;
public class ValidateServlet extends HttpServlet
protected void doPost(HttpServletRequest request,HttpServletResponse response)throws
ServletException,IOException
response.setContentType("text/html");
PrintWriter out= response.getWriter();
String uname=request.getParameter("un");
String pwd1=request.getParameter("pw");
try
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection
con=DriverManager.getConnection("jdbc:derby://localhost:1527/users","root","root");
PreparedStatement ps=con.prepareStatement("Select U_PASS from users where
U_NAME=?");
ps.setString(1,uname);
ResultSet rs=ps.executeQuery();
if(rs.next())
{
String pwd2=rs.getString(1);
if(pwd2.equals(pwd1))
request.setAttribute("username",uname);
request.setAttribute("password",pwd1);
RequestDispatcher rd=request.getRequestDispatcher("/WelcomeServlet");
rd.forward(request, response);
else
out.println("<h1> Incorrect Password </h1>");
RequestDispatcher rd=request.getRequestDispatcher("index.html");
rd.include(request, response);
else
out.println("<h1>User doesn't exist");
RequestDispatcher rd=request.getRequestDispatcher("index.html");
rd.include(request, response);
catch(Exception e)
out.println("Table not Found" +e);
}
}
WelcomeServlet
package p1;
import java.io.*;
import java.sql.*;
import javax.servlet.http.*;
import javax.servlet.*;
public class WelcomeServlet extends HttpServlet
protected void processRequest(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
response.setContentType("text/html");
String username=(String)request.getAttribute("username");
try(PrintWriter out= response.getWriter())
out.println("<h1> Welcome," +username+ "</h1>");
protected void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
processRequest(request,response);
}
protected void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
processRequest(request,response);