0% found this document useful (0 votes)
50 views

Session Tracking Example (Using Urlrewriting and Hidden Form Fields)

Uploaded by

venkata_kishor
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views

Session Tracking Example (Using Urlrewriting and Hidden Form Fields)

Uploaded by

venkata_kishor
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Session Tracking Example (Using URLRewriting and Hidden Form Fields)

Listing 1: Login.html
view plaincopy to clipboardprint

1. 2. 3. 4. 5. 6. 7. 8.

<!-- Login.html --> <form action="login" method="post"><pre>UserName : <input type="text" name="uname"> Password : <input type="password" name="pass"> <input type="submit" value="LogIN"> </pre></form>

Listing 2: LoginServlet.java
view plaincopy to clipboardprint

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.

//LoginServlet.java package com.santoshtechnologies.servlets; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import com.santoshtechnologies.dao.UserDAOI; import com.santoshtechnologies.dao.UserDAO; import com.santoshtechnologies.vo.UserDetails; public class LoginServlet extends HttpServlet { private UserDAOI udao; public void init(){ udao=new UserDAO(); } public void doPost( HttpServletRequest req, HttpServletResponse res) throws Servlet Exception, IOException {

16. 17. String uname=req.getParameter("uname"); 18. String pass=req.getParameter("pass"); 19. 20. if (udao.validate(uname, pass)){ 21. RequestDispatcher rd= req.getRequestDispatcher("userHome"); 22. rd.forward(req, res); 23. }else{ 24. res.setContentType("text/html"); 25. res.getWriter().println("Invalid User Login Details"); 26. RequestDispatcher rd= req.getRequestDispatcher("Login.html"); 27. rd.include(req, res); 28. }//else 29. }//doPost 30. }//class 31. Listing 3: UserHomeServlet.java
view plaincopy to clipboardprint

1. 2. 3. 4. 5.

//UserHomeServlet.java package com.santoshtechnologies.servlets; import java.io.*; import javax.servlet.*; import javax.servlet.http.*;

6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50.

import com.santoshtechnologies.dao.UserDAOI; import com.santoshtechnologies.dao.UserDAO; import com.santoshtechnologies.vo.UserDetails; public class UserHomeServlet extends HttpServlet { public void service( HttpServletRequest req, HttpServletResponse res) throws Servle tException, IOException { res.setContentType("text/html"); PrintWriter out=res.getWriter(); String uname=req.getParameter("uname"); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); //Menu & body out.println(""); out.println(""); out.println(""); out.println(""); //Footer out.println(""); out.println(""); out.println("<table border="1" width="100%" height="100%"><tbody><tr><td colspa n="2" align="center">"); out.println("Session Tracking First Example"); out.println("</td></tr><tr><td width="20%">"); //Menu out.println("<a href="userHome?uname="+uname+"">Home</a><br>"); out.println("<a href="viewProfile?uname="+uname+"">View Profile</a><br>"); out.println("<a href="logout?uname="+uname+"">Logout</a>"); out.println("</td><td>"); //Body out.println("Welcome, "+uname); out.println("</td></tr><tr><td colspan="2" align="center">"); out.println("<center><i>Copyrights 2012-15</i></center>"); out.println("</td></tr></tbody></table>"); out.println(""); } }

Listing 4: ViewProfileServlet.java
view plaincopy to clipboardprint

1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

//ViewProfileServlet.java package com.santoshtechnologies.servlets; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import com.santoshtechnologies.dao.UserDAOI; import com.santoshtechnologies.dao.UserDAO; import com.santoshtechnologies.vo.UserDetails; public class ViewProfileServlet extends HttpServlet {

11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69.

private UserDAOI udao; public void init(){ udao=new UserDAO(); } public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletEx ception, IOException { res.setContentType("text/html"); PrintWriter out=res.getWriter(); String uname=req.getParameter("uname"); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); //Menu & body out.println(""); out.println(""); out.println(""); out.println(""); //Footer out.println(""); out.println(""); out.println("<table border="1" width="100%" height="100%"><tbody><tr><td colspa n="2" align="center">"); out.println("Session Tracking First Example"); out.println("</td></tr><tr><td width="20%">"); //Menu out.println("<a href="userHome?uname="+uname+"">Home</a><br>"); out.println("<a href="viewProfile?uname="+uname+"">View Profile</a><br>"); out.println("<a href="logout?uname="+uname+"">Logout</a>"); out.println("</td><td>"); //Body out.println("Welcome, "+uname+"<br>"); UserDetails ud=udao.getUserDetails(uname); out.println("<form action="updateProfile" method="post">"); out.println("<input type="hidden" name="uname" value=""+uname+"">"); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println("");

70. out.println("<table border="0" align="center" width="100%"><tbody><tr><td>FirstName</td ><td><input type="text" name="fname" value=""+ud.fname+""></td></tr><tr><td>LastName</t d><td><input type="text" name="lname" value=""+ud.lname+""></td></tr><tr><td>Email</td> <td><input type="text" name="email" value=""+ud.email+""></td></tr><tr><td>Mobile</td>< td><input type="text" name="mobile" value=""+ud.mobile+""></td></tr><tr><td colspan="2" ><input type="submit" value="Update"></td></tr></tbody></table>"); 71. out.println("</form>"); 72. out.println("</td></tr><tr><td colspan="2" align="center">"); 73. out.println("<center><i>Copyrights 2012-15</i></center>"); 74. out.println("</td></tr></tbody></table>"); 75. out.println(""); 76. 77. 78. } 79. } 80. Listing 5: UpdateProfileServlet.java
view plaincopy to clipboardprint

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39.

//UpdateProfileServlet.java package com.santoshtechnologies.servlets; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import com.santoshtechnologies.dao.UserDAOI; import com.santoshtechnologies.dao.UserDAO; import com.santoshtechnologies.vo.UserDetails; public class UpdateProfileServlet extends HttpServlet { private UserDAOI udao; public void init(){ udao=new UserDAO(); } public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletE xception, IOException { res.setContentType("text/html"); PrintWriter out=res.getWriter(); String uname=req.getParameter("uname"); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); //Menu & body out.println(""); out.println(""); out.println(""); out.println(""); //Footer out.println(""); out.println(""); out.println("<table border="1" width="100%" height="100%"><tbody><tr><td colspa n="2" align="center">");

40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67.

out.println("Session Tracking First Example"); out.println("</td></tr><tr><td width="20%">"); //Menu out.println("<a href="userHome?uname="+uname+"">Home</a><br>"); out.println("<a href="viewProfile?uname="+uname+"">View Profile</a><br>"); out.println("<a href="logout?uname="+uname+"">Logout</a>"); out.println("</td><td>"); //Body out.println("Welcome, "+uname+"<br>"); UserDetails ud=new UserDetails(); ud.uname=req.getParameter("uname"); ud.fname=req.getParameter("fname"); ud.lname=req.getParameter("lname"); ud.email=req.getParameter("email"); ud.mobile=req.getParameter("mobile"); udao.updateUserDetails(ud); out.println("User Details Updated Successfully"); out.println("</td></tr><tr><td colspan="2" align="center">"); out.println("<center><i>Copyrights 2012-15</i></center>"); out.println("</td></tr></tbody></table>"); out.println("");

} }

Listing 6: UserDetails.java
view plaincopy to clipboardprint

1. package com.santoshtechnologies.vo; 2. 3. public class UserDetails { 4. public String uname, fname, lname, email, mobile; 5. } 6. Listing 6: UserDAOI.java
view plaincopy to clipboardprint

1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

//UserDAOI.java package com.santoshtechnologies.dao; import com.santoshtechnologies.vo.UserDetails; public interface UserDAOI { boolean validate(String uname, String pass); UserDetails getUserDetails(String uname); void updateUserDetails(UserDetails ud); }

Listing 7: UserDAO.java
view plaincopy to clipboardprint

1. 2. 3. 4.

//UserDAOI.java package com.santoshtechnologies.dao; import com.santoshtechnologies.dao.jdbc.utils.STConnectionFactory; import java.sql.*;

5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64.

import com.santoshtechnologies.dao.UserDAOI; import com.santoshtechnologies.dao.UserDAO; import com.santoshtechnologies.vo.UserDetails; public class UserDAO implements UserDAOI{ public boolean validate(String uname, String pass){ Connection con=null; try { String sql="select count(uname) from userdetails where uname=? and pass=?"; con=STConnectionFactory.getConnection(); //Step 1 PreparedStatement ps= con.prepareStatement(sql); ps.setString(1, uname); ps.setString(2, pass); ResultSet rs=ps.executeQuery(); rs.next(); return (rs.getInt(1)==1); }catch (Exception ex){} finally{ try{con.close();}catch(Exception ex){}} return false; } public UserDetails getUserDetails(String uname){ Connection con=null; try { String sql="select * from userdetails where uname=?"; con=STConnectionFactory.getConnection(); //Step 1 PreparedStatement ps= con.prepareStatement(sql); ps.setString(1, uname); ResultSet rs=ps.executeQuery(); rs.next(); UserDetails ud=new UserDetails(); ud.uname=rs.getString(1); ud.fname=rs.getString(3); ud.lname=rs.getString(4); ud.email=rs.getString(5); ud.mobile=rs.getString(6); return ud; }catch (Exception ex){} finally{ try{con.close();}catch(Exception ex){}} return null; } public void updateUserDetails(UserDetails ud){ Connection con=null; try { String sql="update userdetails set fname=?, lname=?, email=?, mobile=? where un ame=?"; con=STConnectionFactory.getConnection(); //Step 1 PreparedStatement ps= con.prepareStatement(sql); ps.setString(1, ps.setString(2, ps.setString(3, ps.setString(4, ud.fname); ud.lname); ud.email); ud.mobile);

65. ps.setString(5, ud.uname); 66. 67. ps.executeUpdate(); 68. }catch (Exception ex){} 69. finally{ try{con.close();}catch(Exception ex){}} 70. } 71. } 72. Listing 8: STConnectionFactory.java
view plaincopy to clipboardprint

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.

package com.santoshtechnologies.dao.jdbc.utils; import java.sql.*; import java.util.*; import java.io.*; public class STConnectionFactory { private static String url; private static Properties p; private static Driver d; static{ try{ InputStream fis= STConnectionFactory.class.getClassLoader().getResourceAsSt ream("jdbc.properties");

14. 15. p=new Properties(); 16. p.load(fis); 17. 18. Class c=Class.forName( p.getProperty("driverClassName")); 19. 20. d=(Driver)c.newInstance(); 21. 22. url= p.getProperty("jdbc.url"); 23. }catch(Exception e){ 24. e.printStackTrace(); 25. throw new RuntimeException( "Error in loading STConnectionFactory"); 26. }//catch 27. }//static block 28. public static Connection getConnection() throws SQLException { 29. return d.connect(url, p); 30. }//getConnection 31. }//class 32. Listing 8: jdbc.properties
view plaincopy to clipboardprint

1. 2. 3. 4. 5. 6.

#jdbc.properties driverClassName=oracle.jdbc.driver.OracleDriver jdbc.url=jdbc:oracle:thin:@localhost:1521:XE user=system password=manager

Listing 9: web.xml
view plaincopy to clipboardprint

1. <!-- web.xml -->

2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.

<web-app> <servlet> <servlet-name>ls</servlet-name> <servlet-class> com.santoshtechnologies.servlets.LoginServlet </servlet-class> </servlet> <servlet> <servlet-name>uhs</servlet-name> <servlet-class> com.santoshtechnologies.servlets.UserHomeServlet </servlet-class> </servlet> <servlet> <servlet-name>vps</servlet-name> <servlet-class> com.santoshtechnologies.servlets.ViewProfileServlet </servletclass> </servlet> <servlet> <servlet-name>ups</servlet-name> <servlet-class> com.santoshtechnologies.servlets.UpdateProfileServlet </servletclass> </servlet> <servlet-mapping> <servlet-name>ls</servlet-name> <url-pattern> /login</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>uhs</servlet-name> <url-pattern> /userHome</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>vps</servlet-name> <url-pattern> /viewProfile</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>ups</servlet-name> <url-pattern>/updateProfile</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>/Login.html</welcome-file> </welcome-file-list> </web-app>

You might also like