SiteHome.html
<html>
<head>
<title>URL Rewriting Example</title>
</head>
<body>
This is the Home page for the example to demonstrate how
to use <BR>
URL Rewriting and Hidden form fields to mantain the client
state. <BR><BR>
<a href="Login.html">Login</a>
</body>
</html>
Login.html
<html>
<head>
<title>URL Rewriting Example</title>
</head>
<body>
<form name="loginform" action="login" method="post">
<table border="0">
<tr>
<td>UserName:</td>
<td><input type="text" name="uname"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit"></td>
</tr>
</table>
</form>
</body>
</html>
• Once you click on submit button
• Post method is executed, data is submitted
into server in the form of request object
• Later LoginServlet program gets executed
because of <form action=“login”> whose url
pattern servlet name is “LoginServlet” (see
web.xml file)
LoginServlet.java
package com.rajendra.servlets;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.*;
import javax.servlet.http.*;
public class LoginServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String uname=request.getParameter("uname");
String pass=request.getParameter("password");
LoginServlet.java
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println(" <HEAD><TITLE>A
Servlet</TITLE></HEAD>");
out.println(" <BODY>");
LoginServlet.java
if (uname==null||uname.equals("")){
out.println("<b><i>Username Cannot be empty</i></b>");
RequestDispatcher rd=request.getRequestDispatcher("/Login.html");
rd.include(request, response);
return;
}
if (pass==null||pass.equals("")){
out.println("<b><i>Password Cannot be empty</i></b>");
RequestDispatcher rd=request.getRequestDispatcher("/Login.html");
rd.include(request, response);
return;
}
UserDAO ud=new UserDAO();
LoginServlet.java
if(ud.validate(uname,pass)){
out.println("<table width=98% height=95% border=1><tr>");
out.println("<td height=45 colspan=2 align=center><font size=5>My Email
Site</font></td>");
out.println("</tr><tr>");
out.println("<td width=12% height=545 align=center valign=top>");
out.println("<p>&nbsp;</p><p><font size=4>");
out.println("<a href='inbox?uname="+uname+"'>InBox</a>");
out.println("</font></p>");
out.println("<p><font size=4>Bulk Mail</font></p>");
out.println("<p><font size=4>Sent Items</font></p>");
out.println("<p><font size=4>Write Mail</font></p>");
out.println("<p><font size=4><a href='Login.html'>Logout</a></font></p>");
out.println("<p>&nbsp;</p></td>");
out.println("<td width=88% align=left valign=top><p>&nbsp;</p>");
out.println("<p><font size=4>Welcome, "+uname+"</font></p></td>");
out.println("</tr><tr align=center>");
out.println("<td colspan=2><div align=center>@Copyrights 2001-08</div></td>");
out.println("</tr></table>");
LoginServlet.java
}//if
else{
out.println("<b><i>Username or Password given are not valid</i></b>");
RequestDispatcher rd=request.getRequestDispatcher("/Login.html");
rd.include(request, response);
return;
}
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
}
• Now servlet container calls the public service()
and which intern calls the protected service()
method
• Protected service() calls doPost() method
• Now if() conditions becomes false, (server side
validation for username and password).
• Now UserDao object is created to call
validate() method
LoginServlet.java
if(ud.validate(uname,pass))
• if(ud.validate(uname,pass))
• if(ud.validate(rajendra,raj)) method calling
• Now control goes to validate () method in
UserDao class
UserDAO.java
package com.rajendra.servlets;
import java.sql.*;
public class UserDAO {
public boolean validate(String uname, String pass){
try {
Connection con=DriverConnection.getConnection();
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(
"select count(*) from userdetails where
uname='"+uname+"' and pass='"+pass+"'");
return rs.next();
}//try
catch(Exception e){
e.printStackTrace();
}
return false;
}
}
• return rs.next();
• return true;//it returns true as resultset
contains next element
• Now control come back to the
LoginServlet.java
if(ud.validate(uname,pass)){ //if condition becomes true
out.println("<table width=98% height=95% border=1><tr>");
out.println("<td height=45 colspan=2 align=center><font size=5>My Email
Site</font></td>");
out.println("</tr><tr>");
out.println("<td width=12% height=545 align=center valign=top>");
out.println("<p>&nbsp;</p><p><font size=4>");
out.println("<a href='inbox?uname="+uname+"'>InBox</a>");
out.println("</font></p>");
out.println("<p><font size=4>Bulk Mail</font></p>");
out.println("<p><font size=4>Sent Items</font></p>");
out.println("<p><font size=4>Write Mail</font></p>");
out.println("<p><font size=4><a href='Login.html'>Logout</a></font></p>");
out.println("<p>&nbsp;</p></td>");
out.println("<td width=88% align=left valign=top><p>&nbsp;</p>");
out.println("<p><font size=4>Welcome, "+uname+"</font></p></td>");
out.println("</tr><tr align=center>");
out.println("<td colspan=2><div align=center>@Copyrights 2001-08</div></td>");
out.println("</tr></table>");
Sessionex1

Sessionex1

  • 2.
    SiteHome.html <html> <head> <title>URL Rewriting Example</title> </head> <body> Thisis the Home page for the example to demonstrate how to use <BR> URL Rewriting and Hidden form fields to mantain the client state. <BR><BR> <a href="Login.html">Login</a> </body> </html>
  • 4.
    Login.html <html> <head> <title>URL Rewriting Example</title> </head> <body> <formname="loginform" action="login" method="post"> <table border="0"> <tr> <td>UserName:</td> <td><input type="text" name="uname"></td> </tr> <tr> <td>Password:</td> <td><input type="password" name="password"></td> </tr> <tr> <td colspan="2" align="center"><input type="submit"></td> </tr> </table> </form> </body> </html>
  • 8.
    • Once youclick on submit button • Post method is executed, data is submitted into server in the form of request object • Later LoginServlet program gets executed because of <form action=“login”> whose url pattern servlet name is “LoginServlet” (see web.xml file)
  • 9.
    LoginServlet.java package com.rajendra.servlets; import java.io.IOException; importjava.io.PrintWriter; import javax.servlet.*; import javax.servlet.http.*; public class LoginServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String uname=request.getParameter("uname"); String pass=request.getParameter("password");
  • 10.
    LoginServlet.java response.setContentType("text/html"); PrintWriter out =response.getWriter(); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>");
  • 11.
    LoginServlet.java if (uname==null||uname.equals("")){ out.println("<b><i>Username Cannotbe empty</i></b>"); RequestDispatcher rd=request.getRequestDispatcher("/Login.html"); rd.include(request, response); return; } if (pass==null||pass.equals("")){ out.println("<b><i>Password Cannot be empty</i></b>"); RequestDispatcher rd=request.getRequestDispatcher("/Login.html"); rd.include(request, response); return; } UserDAO ud=new UserDAO();
  • 12.
    LoginServlet.java if(ud.validate(uname,pass)){ out.println("<table width=98% height=95%border=1><tr>"); out.println("<td height=45 colspan=2 align=center><font size=5>My Email Site</font></td>"); out.println("</tr><tr>"); out.println("<td width=12% height=545 align=center valign=top>"); out.println("<p>&nbsp;</p><p><font size=4>"); out.println("<a href='inbox?uname="+uname+"'>InBox</a>"); out.println("</font></p>"); out.println("<p><font size=4>Bulk Mail</font></p>"); out.println("<p><font size=4>Sent Items</font></p>"); out.println("<p><font size=4>Write Mail</font></p>"); out.println("<p><font size=4><a href='Login.html'>Logout</a></font></p>"); out.println("<p>&nbsp;</p></td>"); out.println("<td width=88% align=left valign=top><p>&nbsp;</p>"); out.println("<p><font size=4>Welcome, "+uname+"</font></p></td>"); out.println("</tr><tr align=center>"); out.println("<td colspan=2><div align=center>@Copyrights 2001-08</div></td>"); out.println("</tr></table>");
  • 13.
    LoginServlet.java }//if else{ out.println("<b><i>Username or Passwordgiven are not valid</i></b>"); RequestDispatcher rd=request.getRequestDispatcher("/Login.html"); rd.include(request, response); return; } out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } }
  • 14.
    • Now servletcontainer calls the public service() and which intern calls the protected service() method • Protected service() calls doPost() method
  • 19.
    • Now if()conditions becomes false, (server side validation for username and password). • Now UserDao object is created to call validate() method
  • 20.
  • 21.
    if(ud.validate(uname,pass)) • if(ud.validate(uname,pass)) • if(ud.validate(rajendra,raj))method calling • Now control goes to validate () method in UserDao class
  • 22.
    UserDAO.java package com.rajendra.servlets; import java.sql.*; publicclass UserDAO { public boolean validate(String uname, String pass){ try { Connection con=DriverConnection.getConnection(); Statement st=con.createStatement(); ResultSet rs=st.executeQuery( "select count(*) from userdetails where uname='"+uname+"' and pass='"+pass+"'"); return rs.next(); }//try catch(Exception e){ e.printStackTrace(); } return false; } }
  • 26.
    • return rs.next(); •return true;//it returns true as resultset contains next element • Now control come back to the LoginServlet.java
  • 27.
    if(ud.validate(uname,pass)){ //if conditionbecomes true out.println("<table width=98% height=95% border=1><tr>"); out.println("<td height=45 colspan=2 align=center><font size=5>My Email Site</font></td>"); out.println("</tr><tr>"); out.println("<td width=12% height=545 align=center valign=top>"); out.println("<p>&nbsp;</p><p><font size=4>"); out.println("<a href='inbox?uname="+uname+"'>InBox</a>"); out.println("</font></p>"); out.println("<p><font size=4>Bulk Mail</font></p>"); out.println("<p><font size=4>Sent Items</font></p>"); out.println("<p><font size=4>Write Mail</font></p>"); out.println("<p><font size=4><a href='Login.html'>Logout</a></font></p>"); out.println("<p>&nbsp;</p></td>"); out.println("<td width=88% align=left valign=top><p>&nbsp;</p>"); out.println("<p><font size=4>Welcome, "+uname+"</font></p></td>"); out.println("</tr><tr align=center>"); out.println("<td colspan=2><div align=center>@Copyrights 2001-08</div></td>"); out.println("</tr></table>");

Editor's Notes

  • #16 LoginServlet.java
  • #17 Stringuname=request.getParameter(“uname”);String pass=request.getParameter(“pass”);
  • #24 LoginServlet.java