Session - 1 Forms and Session Management
Session - 1 Forms and Session Management
ICT Academy 1
Registration Form using JSP + Servlet :
• Let me list out the tools and technologies that I have used to develop
this application.
ICT Academy 2
Tools and technologies used
• JSP - 2.2 +
• IDE - STS/Eclipse Neon.3
• JDK - 1.8 or later
• Apache Tomcat - 8.5
• JSTL - 1.2.1
• Servlet API - 2.5
• MySQL - mysql-connector-java-8.0.13.jar
ICT Academy 3
Development Steps
• Click Next.
• Enter project name as "jsp-servlet-jdbc-mysql-example";
• Make sure that the target runtime is set to Apache Tomcat with the currently
supportedICTversion.
Academy 5
Add Dependencies
Add the latest release of below jar files to the lib folder.
• jsp-api.2.3.1.jar
• servlet-api.2.3.jar
• mysql-connector-java-8.0.13.jar
• jstl-1.2.jar
ICT Academy 6
Project Structure
• Standard project structure for your reference -
ICT Academy 7
MySQL Database Setup
Let's create a database named "employees" in MySQL. Now, let's create
an employee table using below DDL script:
package net.javaguides.jsp.jdbc.bean;
import java.io.Serializable;
public class Employee implements Serializable {
private static final long serialVersionUID = 1 L;
private String firstName;
private String lastName;
private String username;
private String password;
private String address;
private String contact;
public String getFirstName() {
return firstName;
}
ICT Academy 9
Create an EmployeeDao.java
• Let's create EmployeeDao class which contains JDBC code to connect
with MySQL database. Add the following code to n EmployeeDao class:
package net.javaguides.jsp.jdbc.database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import net.javaguides.jsp.jdbc.bean.Employee;
ICT Academy 10
Create an EmployeeDao.java
System.out.println(preparedStatement);
ICT Academy 12
result = preparedStatement.executeUpdate();
} catch (SQLException e) {
// process sql exception
printSQLException(e);
}
return result;
}
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 net.javaguides.employeemanagement.dao.EmployeeDao;
import net.javaguides.employeemanagement.model.Employee;
ICT Academy 15
Create an EmployeeServlet.java
@WebServlet("/register")
public class EmployeeServlet extends HttpServlet {
private static final long serialVersionUID = 1 L;
private EmployeeDao employeeDao;
ICT Academy 17
Create an EmployeeServlet.java
ICT Academy 18
Create an EmployeeServlet.java
try {
employeeDao.registerEmployee(employee);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.sendRedirect("employeedetails.jsp");
}
ICT Academy 19
Create a employeeregister.jsp
Let's design employee registration HTML form with the following fields:
• firstName
• lastName
• username
• password
• address
• contact
ICT Academy 20
Create a employeeregister.jsp
<td>Address</td>
<td><input type="text" name="address" /></td>
</tr>
<tr>
<td>Contact No</td>
<td><input type="text" name="contact" /></td>
</tr>
</table>
<input type="submit" value="Submit" />
</form>
</div>
</body>
</html> ICT Academy 23
Create an employeedetails.jsp
• After an employee successfully registered then this page show a successful
message on screen:
<body>
<h1>User successfully registered!</h1>
</body>
</html>
• Note that in the above page, we have used JSP action tags. Read more
about action tags here
ICT Academy 25
Demo
Employee Registration
ICT Academy 26
Registration Success Page :
ICT Academy 27
Introduction to Servlet Session Management
ICT Academy 28
Session Management/ Tracking Methods
ICT Academy 29
Session Management/ Tracking Methods
ICT Academy 30
Two types in Cookies:
isNew(): Returns true is user does not know about the session. If
cookies are disabled, then session is new.
getId(): Returns string that contains unique identifier that is assigned to
this session. Is used while using URL rewriting the session.
getAttribute(): Returns the object bound in present session.
setAttribute(): Binds object to present session, uses specified name.
invalidate(): Expires current session and unbinds the object binded
setMaxInactiveInterval(): Specifies time between client requests
before servlet invalidates session. Negative time indicates session
shouldn’t timeout.
ICT Academy 32