Employee Management System JSP Servlet Project

EmployeeManagement Jsp Servlet JDBC Project
EmployeeManagement Jsp Servlet JDBC Project

org. comp.model

Employee Model – Employee.java

package org.comp.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Objects;

public class Employee implements Serializable {

	private static final long serialVersionUID = 1L;
	private Long id;
	private String name;
	private String department;
	private String designation;
	private BigDecimal salary;

	public Employee() {

	}

	public Employee(Long id, String name, String department, String designation, BigDecimal salary) {
		super();
		this.id = id;
		this.name = name;
		this.department = department;
		this.designation = designation;
		this.salary = salary;
	}

	@Override
	public String toString() {
		return "Employee [id=" + id + ", name=" + name + ", department=" + department + ", designation=" + designation
				+ ", salary=" + salary + "]";
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getDepartment() {
		return department;
	}

	public void setDepartment(String department) {
		this.department = department;
	}

	public String getDesignation() {
		return designation;
	}

	public void setDesignation(String designation) {
		this.designation = designation;
	}

	public BigDecimal getSalary() {
		return salary;
	}

	public void setSalary(BigDecimal salary) {
		this.salary = salary;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

}


Employee Controller Servlet

added org.comp.controller package is used for controller

AddEmployee.Java

package org.comp.controller;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.List;
import javax.servlet.RequestDispatcher;
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 org.comp.dao.EmployeeDAO;
import org.comp.model.Employee;
@WebServlet("/add-employee")
public class AddEmployee extends HttpServlet {
	private static final long serialVersionUID = 1L;
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String name = request.getParameter("name");
		String department = request.getParameter("department");
		String designation = request.getParameter("designation");
		String salary = request.getParameter("salary");
		Employee e = new Employee();
		e.setName(name);
		e.setDepartment(department);
		e.setDesignation(designation);
		e.setSalary(new BigDecimal(salary));
		System.out.println(e);
		EmployeeDAO dao = new EmployeeDAO();
		dao.insert(e);
		List employeeList = dao.fetchAll();
		request.setAttribute("employeeList", employeeList);
		int employeeCount = dao.count();
		request.setAttribute("employeeCount", employeeCount);
		RequestDispatcher rd = request.getRequestDispatcher("/ListEmployees.jsp");
		rd.forward(request, response);
	}
}

FetchEmployee.java

package org.comp.controller;

import java.io.IOException;
import java.math.BigDecimal;
import java.util.List;

import javax.servlet.RequestDispatcher;
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 org.comp.dao.EmployeeDAO;
import org.comp.model.Employee;

@WebServlet("/update")
public class FetchEmployee extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		Long id=Long.valueOf( request.getParameter("id"));
		EmployeeDAO dao = new EmployeeDAO();
		Employee employee = dao.fetch(id);
		System.out.println(employee);
		request.setAttribute("employee", employee);
		RequestDispatcher rd = request.getRequestDispatcher("/UpdateEmployee.jsp");
		rd.forward(request, response);
	}

}

UpdateEmployee.java

package org.comp.controller;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.List;
import javax.servlet.RequestDispatcher;
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 org.comp.dao.EmployeeDAO;
import org.comp.model.Employee;
@WebServlet("/update-employee")
public class UpdateEmployee extends HttpServlet {
	private static final long serialVersionUID = 1L;
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		Long id = Long.valueOf(request.getParameter("id"));
		String name = request.getParameter("name");
		String department = request.getParameter("department");
		String designation = request.getParameter("designation");
		String salary = request.getParameter("salary");
		Employee e = new Employee();
		e.setId(id);
		e.setName(name);
		e.setDepartment(department);
		e.setDesignation(designation);
		e.setSalary(new BigDecimal(salary));
		System.out.println(e);
		EmployeeDAO dao = new EmployeeDAO();
		dao.update(e);
		List employeeList = dao.fetchAll();
		request.setAttribute("employeeList", employeeList);
		int employeeCount = dao.count();
		request.setAttribute("employeeCount", employeeCount);
		RequestDispatcher rd = request.getRequestDispatcher("/ListEmployees.jsp");
		rd.forward(request, response);
	}
}

showEmployee.java

package org.comp.controller;                                                                                
                                                                                                            
import java.io.IOException;                                                                                 
import java.math.BigDecimal;                                                                                
import java.util.List;                                                                                      
                                                                                                            
import javax.servlet.RequestDispatcher;                                                                     
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 org.comp.dao.EmployeeDAO;                                                                            
import org.comp.model.Employee;                                                                             
                                                                                                            
@WebServlet("/show-employee")                                                                               
public class ShowEmployee extends HttpServlet {                                                             
	private static final long serialVersionUID = 1L;                                                        
                                                                                                            
	protected void doGet(HttpServletRequest request, HttpServletResponse response)                          
			throws ServletException, IOException {                                                          
		EmployeeDAO dao = new EmployeeDAO();                                                                
		List employeeList = dao.fetchAll();                                                       
		int employeeCount = dao.count();                                                                    
		request.setAttribute("employeeList", employeeList);                                                 
		request.setAttribute("employeeCount", employeeCount);                                               
		RequestDispatcher rd = request.getRequestDispatcher("/ListEmployees.jsp");                          
		rd.forward(request, response);                                                                      
	}                                                                                                       
                                                                                                            
}                                                                                                           
                                                                                                            

DeleteEmployee.java

package org.comp.controller;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.List;
import javax.servlet.RequestDispatcher;
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 org.comp.dao.EmployeeDAO;
import org.comp.model.Employee;
@WebServlet("/delete")
public class DeleteEmployee extends HttpServlet {
	private static final long serialVersionUID = 1L;
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		Long id =Long.valueOf(request.getParameter("id"));
		EmployeeDAO dao = new EmployeeDAO();
		int st = dao.delete(id);
		List employeeList = dao.fetchAll();
		request.setAttribute("employeeList", employeeList);
		RequestDispatcher rd = request.getRequestDispatcher("/ListEmployees.jsp");
		rd.forward(request, response);
	}
}

Data Access Object

ConnectionFactory.java

package org.comp.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionFactory {

	public static Connection getConnection() {
		Connection c = null;
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
			c = DriverManager.getConnection("jdbc:mysql://localhost:3306/sspu",
					"sspu_userx25", "MV7GG5TV2312");
		} catch (ClassNotFoundException e) {
			System.out.println("ClassNotFoundException " + e);
		} catch (SQLException e) {
			System.out.println("SQLException " + e);
		}
		return c;
	}
}

EmployeeDAO.java

package org.comp.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.comp.model.Employee;
public class EmployeeDAO {
	Connection con = null;
	PreparedStatement ps = null;
	ResultSet rs = null;
	int st;// status
	public int insert(Employee employee) {
		con = ConnectionFactory.getConnection();
		try {
			String query = "insert into employee(name,department,designation,salary) " + "values(?,?,?,?)";
			ps = con.prepareStatement(query);
			ps.setString(1, employee.getName());
			ps.setString(2, employee.getDepartment());
			ps.setString(3, employee.getDesignation());
			ps.setBigDecimal(4, employee.getSalary());
			st = ps.executeUpdate();
			System.out.println("inserted employee " + st);
		} catch (Exception e) {
			st = -2;
			e.printStackTrace();
		} finally {
			try {
				con.close();
			} catch (SQLException ex) {
				ex.printStackTrace();
			}
		}
		return st;
	}
	public int update(Employee employee) {
		con = ConnectionFactory.getConnection();
		try {
			String query = "update employee set name=?,department=?,designation=?,salary=? where id=?";
			ps = con.prepareStatement(query);
			ps.setString(1, employee.getName());
			ps.setString(2, employee.getDepartment());
			ps.setString(3, employee.getDesignation());
			ps.setBigDecimal(4, employee.getSalary());
			ps.setLong(5, employee.getId());
			st = ps.executeUpdate();
			System.out.println("Updated employee " + st);
		} catch (Exception e) {
			st = -2;
			e.printStackTrace();
		} finally {
			try {
				con.close();
			} catch (SQLException ex) {
				ex.printStackTrace();
			}
		}
		return st;
	}
	public List fetchAll() {
		List employeeList = new ArrayList();
		con = ConnectionFactory.getConnection();
		try {
			String query = "select * from employee order by name";
			ps = con.prepareStatement(query);
			rs = ps.executeQuery();
			while (rs.next()) {
				Employee employee = new Employee();
				employee.setId(rs.getLong("id"));
				employee.setName(rs.getString("name"));
				employee.setDepartment(rs.getString("department"));
				employee.setDesignation(rs.getString("designation"));
				employee.setSalary(rs.getBigDecimal("salary"));
				employeeList.add(employee);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				con.close();
			} catch (SQLException ex) {
				ex.printStackTrace();
			}
		}
		return employeeList;
	}
	public Employee fetch(long id) {
		Employee employee = null;
		con = ConnectionFactory.getConnection();
		try {
			String query = "select * from employee where id=?";
			ps = con.prepareStatement(query);
			ps.setLong(1, id);
			rs = ps.executeQuery();
			while (rs.next()) {
				employee = new Employee();
				employee.setId(rs.getLong("id"));
				employee.setName(rs.getString("name"));
				employee.setDepartment(rs.getString("department"));
				employee.setDesignation(rs.getString("designation"));
				employee.setSalary(rs.getBigDecimal("salary"));
				System.out.println(employee);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				con.close();
			} catch (SQLException ex) {
				ex.printStackTrace();
			}
		}
		return employee;
	}
	public int delete(Long id) {
		con = ConnectionFactory.getConnection();
		try {
			String query = "delete from employee where id=?";
			ps = con.prepareStatement(query);
			ps.setLong(1, id);
			st = ps.executeUpdate();
			System.out.println("Deleted employee " + st);
		} catch (Exception e) {
			st = -2;
			e.printStackTrace();
		} finally {
			try {
				con.close();
			} catch (SQLException ex) {
				ex.printStackTrace();
			}
		}
		return st;
	}
	public int count() {
		int count = 0;
		con = ConnectionFactory.getConnection();
		try {
			String query = "select count(*) from employee";
			ps = con.prepareStatement(query);
			ResultSet rs = ps.executeQuery();
			while (rs.next()) {
				count = rs.getInt(1);
			}
			System.out.println("Total employees " + count);
		} catch (Exception e) {
			st = -2;
			e.printStackTrace();
		} finally {
			try {
				con.close();
			} catch (SQLException ex) {
				ex.printStackTrace();
			}
		}
		return count;
	}
}

HTML Pages

ListEmployees.jsp

<%@page import="org.comp.model.Employee"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>




Employee List






	

List of Employees ${employeeCount}

Add Employee
# Name Department Designation Salary Update Delete
${loop.index+1} ${employee.name} ${employee.department} ${employee.designation} ${employee.salary} Update Delete

AddEmployee.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>




Insert title here






	

Add New Employee

UpdateEmployee.jsp

<%@page import="org.comp.model.Employee"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>




Insert title here






	

Update Employee

menu.jsp


footer.jsp

Add Employees
Add Employees
Update Employees
Update Employees
List of Employees
List of Employees