Update Employee Records

In this Example we can Add and Update the Details of
Employee using Servlet. We create four file employee.jsp, viewdata.jsp,
EmployeeAdd.java
and viewdata.java.
When a web page ("employee.jsp") run on browser then it will called
to Servlet ("EmployeeAdd.java") and add the new Employee Record
in the database and provide a link on browser, by this
link user redirect to Servlet "viewdata". This Servlet retrieves the data and
show on browser.
Step 1: Source code of employee.jsp to add and update the Employee records.
<%@page import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<style>
.tdcls{
font-weight:bold;
}
A:visited {color: #00000;font-weight:bold; text-decoration: underline}
A:link {color: #FFC0C0; text-decoration: none}
A:active {color: #C0FFC0; text-decoration: none}
A:hover { color: #FF0000; text-decoration: none}
</style>
</HEAD>
<BODY>
<br><br>
<form name="frm" action="empsave" method="post">
<%
String emp_id = "";
String first_name = "";
String last_name = "";
String request_status = "";
String pend_request_type="";
String pend_request_date="";
String pend_request_data="";
String readonly="";
String bttn_value="Add";
int pend_request_id = 0;
if(request.getParameter("emp_id")!=null && request.getParameter("emp_id")!="")
{
emp_id= request.getParameter("emp_id").toString();
pend_request_id= Integer.parseInt(request.getParameter("pend_request_id").toString());
readonly = "readonly";
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "user_register";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "root";
bttn_value = "Update";
Statement st;
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
System.out.println("Connected to the database");
String query1 =
"SELECT * from pend_requests where emp_id='"+emp_id+"'
and pend_request_id='"+pend_request_id+"'";
String query2 = "SELECT * from employee_details where eid='"+emp_id+"'";
st = conn.createStatement();
ResultSet rs1 = st.executeQuery(query1);
while(rs1.next())
{
request_status = rs1.getString(1);
pend_request_type=rs1.getString(5);
pend_request_date=rs1.getString(6);
pend_request_data=rs1.getString(7);
}
ResultSet rs2 = st.executeQuery(query2);
while(rs2.next())
{
first_name = rs2.getString(2);
last_name = rs2.getString(3);
}
}
catch (Exception e) {
e.printStackTrace();
}
}
%>
<input type="hidden" name="pid" value="<%=pend_request_id%>">
<table width="350" align="center" border=0 bgcolor=#3EA99F>
<tr><td colspan=2 align="center" class="tdcls">Employee Details</td></tr>
<tr>
<td width="150px" class="tdcls">Employee Id</td>
<td width="200px">
<input type="text" name="emp_id" value="<%=emp_id%>" <%=readonly%>></td></tr>
<tr>
<td class="tdcls">First Name</td>
<td><input type="text" name="first_name" value="<%=first_name%>"></td>
</tr>
<tr>
<td class="tdcls">Last Name</td>
<td><input type="text" name="last_name" value="<%=last_name%>"></td>
</tr>
<tr><td class="tdcls">Request Status</td>
<td><select name="request_status">
<option value="open" <%
if(request_status.equals("open"))out.println("selected");
%>>Open</option>
<option value="pending" <%
if(request_status.equals("pending"))out.println("selected");
%>>Pending</option>
<option value="deferred" <%
if(request_status.equals("deferred"))out.println("selected");
%>>Deferred</option>
<option value="closed" <%
if(request_status.equals("closed"))out.println("selected");
%>>Closed</option>
</select>
</td></tr>
<tr>
<td class="tdcls">Request Type</td><td><select name="pend_request_type">
<option value="admin" <%
if(pend_request_type.equals("admin"))out.println("selected");
%>>Admin</option>
<option value="user" <%
if(pend_request_type.equals("user"))out.println("selected");
%>>User</option>
</select>
</td></tr>
<tr>
<td class="tdcls">Date (yyyy-mm-dd)</td>
<td>
<input type="text" name="pend_request_date" value="<%=pend_request_date%>" <%=readonly%>>
</td>
</tr>
<tr><td class="tdcls">Description</td>
<td>
<input type="text" name="pend_request_data" value="<%=pend_request_data%>">
</td>
</tr>
<tr>
<td colspan=2 align="center"><input type="submit" name="submit" value="<%=bttn_value%>"></td>
</tr>
</table>
<br><br>
<%
if(!(request.getParameter("emp_id")!=null && request.getParameter("emp_id")!=""))
{
%>
<table width="100%" align="center">
<tr>
<td align="center"><a href="viewdata">Click here To show all records</a></td>
</tr>
</table>
<%
}
%>
</BODY>
</HTML>
|
Step 2:Source code of Servlet (EmployeeAdd.java) to add and update the
data.
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.sql.*;
import java.sql.*;
import java.util.*;
import java.text.*;
public class EmployeeAdd extends HttpServlet{
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
System.out.println("MySQL Connect Example.");
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "user_register";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "root";
String emp_id = request.getParameter("emp_id");
String first_name = request.getParameter("first_name");
String last_name = request.getParameter("last_name");
String request_status = request.getParameter("request_status");
String pend_request_date = request.getParameter("pend_request_date");
String pend_request_type = request.getParameter("pend_request_type");
String pend_request_data = request.getParameter("pend_request_data");
int pend_request_id = Integer.parseInt(request.getParameter("pid"));
String bttn_value = request.getParameter("submit");
String ardate[] = pend_request_date.split("-");
if(ardate.length!=3)
{
response.sendRedirect("employee.jsp");
}
Statement st;
try {
java.util.Date date = new java.util.Date();
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
System.out.println("Connected to the database");
int j=0;
int i=0;
if(bttn_value.equals("Add"))
{
String query_1 = "insert into employee_details set eid='"+emp_id+"',first_name='"+first_name+"',
last_name='"+last_name+"'";
out.println("query_1 " + query_1);
out.println("<br>");
st = conn.createStatement();
i = st.executeUpdate(query_1);
out.println("<br>");
out.println("i " + i);
String query_2 =
"insert into pend_requests set pend_request_status='"+request_status+"',
emp_id='"+emp_id+"',pend_request_type='"+pend_request_type+"',pend_request_date='"+pend_request_date+"',
pend_request_data='"+pend_request_data+"'";
out.println("query_2 " + query_2);
out.println("<br>");
st = conn.createStatement();
j = st.executeUpdate(query_2);
response.sendRedirect("viewdata");
}
else if(bttn_value.equals("Update"))
{
java.util.Date now = new java.util.Date();
String DATE_FORMAT = "yyyy-MM-dd hh:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
String strDateNew = sdf.format(now) ;
String query_1 =
"update employee_details set first_name='"+first_name+"',last_name='"+last_name+"'
where eid='"+emp_id+"'";
out.println("query_1 " + query_1);
out.println("<br>");
st = conn.createStatement();
i = st.executeUpdate(query_1);
out.println("<br>");
out.println("i " + i);
String query_2 =
"update pend_requests set pend_request_status='"+request_status+"',
emp_id='"+emp_id+"',pend_request_type='"+pend_request_type+"',pend_request_date='"+pend_request_date+"',
pend_request_data='"+pend_request_data+"',respond_date='"+strDateNew+"'
where pend_request_id="+pend_request_id+" and emp_id='"+emp_id+"'";
out.println("query_2 " + query_2);
out.println("<br>");
st = conn.createStatement();
j = st.executeUpdate(query_2);
response.sendRedirect("viewdata");
}
// pw.println(query);
conn.close();
System.out.println("Disconnected from database");
} catch (Exception e) {
response.sendRedirect("viewdata");
e.printStackTrace();
}
}
}
|
|
Step 3:Source code of Servlet (viewdata.java) to retrieve the
data.
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.sql.*;
import java.sql.*;
import java.util.*;
public class viewdata extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException{
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
System.out.println("MySQL Connect Example.");
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/";
String dbName = "user_register";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "root";
String respond_date="";
Statement st;
ArrayList arData=null;
ArrayList arDataList=new ArrayList();
HttpSession session=request.getSession(true);
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
System.out.println("Connected to the database");
String query =
"SELECT p1.pend_request_id,p1.emp_id,p1.pend_request_type,p1.pend_request_date,
p1.pend_request_status,p1.pend_request_data,p2.first_name,p2.last_name,
p1.respond_date FROM pend_requests p1,employee_details p2 where p1.emp_id=p2.eid";
st = conn.createStatement();
ResultSet rs = st.executeQuery(query);
while(rs.next())
{
arData=new ArrayList();
System.out.println(rs.getString(9));
pw.println(rs.getString(9));
if(rs.getString(9)==null)
{
respond_date = "Not Responding";
}
else
{
respond_date = rs.getString(9);
}
arData.add(rs.getInt(1));
arData.add(rs.getString(2));
arData.add(rs.getString(7));
arData.add(rs.getString(8));
arData.add(rs.getString(5));
arData.add(rs.getString(3));
arData.add(rs.getString(4));
arData.add(respond_date);
arDataList.add(arData);
}
pw.println("query4 " + query);
pw.println("<br>");
session.setAttribute("arDataList",arDataList);
pw.println("arData " + arData);
pw.println("<br>");
pw.println("arDataList " + arDataList);
pw.println("<br>");
pw.println("session "+ session.getAttribute("arDataList"));
pw.println("<br>");
response.sendRedirect("viewdata.jsp");
// pw.println(query);
conn.close();
System.out.println("Disconnected from database");
} catch (Exception e) {
response.sendRedirect("viewdata.jsp");
e.printStackTrace();
}
}
}
|
Step 4: Mapping the servlet (timer.java) in to web.xml file:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
<servlet>
<servlet-name>viewData</servlet-name>
<servlet-class>viewdata</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>viewData</servlet-name>
<url-pattern>/viewdata</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>empSave</servlet-name>
<servlet-class>EmployeeAdd</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>empSave</servlet-name>
<url-pattern>/empsave</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>empUpdate</servlet-name>
<servlet-class>EmpUpdate</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>empUpdate</servlet-name>
<url-pattern>/empupdate</url-pattern>
</servlet-mapping>
</web-app>
|
Step 5: To create a web page (viewdata.jsp) to show all the records.
<%@page import="java.util.*"%>
<html>
<head>
<title>Employee request form</title>
<style>
A:visited {color: #00000;font-weight:bold; text-decoration: underline}
A:link {color: #FFC0C0; text-decoration: none}
A:active {color: #C0FFC0; text-decoration: none}
A:hover { color: #FF0000; text-decoration: none}
.loginhead1{
text-align:left;
padding-left:5px;
}
</style>
</head>
<body>
<center>
<table border="1" width="800px" cellspacing="0" cellpadding="0" bgcolor="bluelight">
<tr>
<td width="10%" class="loginhead1" align="center"><b>Emp ID</b></td>
<td width="19%" class="loginhead1" align="center"><b>Name</b></td>
<td width="10%" class="loginhead1" align="center"><b>Request</b></td>
<td width="14%" class="loginhead1" align="center"><b>Type</b></td>
<td width="19%" class="loginhead1" align="center"><b>Request Date</b></td>
<td width="20%" class="loginhead1" align="center"><b>Received Date</b></td>
<td width="11%" class="loginhead1" align="center" height="25px"><b>Status</b></td>
<td width="11%" class="loginhead1" align="center" height="25px"><b>Update</b></td>
</tr>
<%
String ename="";
ArrayList arList=null;
ArrayList AdminPendrequest = (ArrayList)session.getAttribute("arDataList");
//out.println(AdminPendrequest);
out.println("<br>");
int count=0;
if(AdminPendrequest!= null){
for(int i=0;i<AdminPendrequest.size();i++)
{
count++;
arList = (ArrayList)AdminPendrequest.get(i);
int pend_request_id = Integer.parseInt((arList.get(0).toString()));
String emp_id =arList.get(1).toString();
String first_name = arList.get(2).toString();
String last_name = arList.get(3).toString();
String request_status = arList.get(4).toString();
String request_type = arList.get(5).toString();
String request_date = arList.get(6).toString();
String respond_date = arList.get(7).toString();
ename = first_name+ " " + last_name;
%>
<tr>
<form name="frm" method="post" action="employee.jsp">
<input type="hidden" name="emp_id" value="<%=emp_id%>">
<input type="hidden" name="pend_request_id" value="<%=pend_request_id%>">
<td width="10%" class="loginhead1" align="center"><%=emp_id%></td>
<td width="19%" class="loginhead1" align="center"><%=ename%></td>
<td width="10%" class="loginhead1" align="center"><%=request_status%></td>
<td width="14%" class="loginhead1" align="center"><%=request_type%></td>
<td width="19%" class="loginhead1" align="center"><%=request_date%></td>
<td width="20%" class="loginhead1" align="center"><%=respond_date%></td>
<td width="11%" class="loginhead1" align="center" height="25px">
<select name="request_status">
<%
if(request_status.equals("open"))
{
%>
<option value="pending">pending</option>
<option value="deferred">Deferred</option>
<option value="closed">Closed</option>
<%
}
else if(request_status.equals("pending"))
{
%>
<option value="deferred">Deferred</option>
<option value="closed">Closed</option>
<%
}
else if(request_status.equals("deferred"))
{%>
<option value="pending">Pending</option>
<option value="closed">Closed</option>
<%}
else
{
%>
<option value="closed">Closed</option>
<%
}
%>
</select>
</td>
<td width="19%" class="loginhead1" align="center"><input type="submit" name="submit" value="Update"</td>
<%
%>
</tr>
</form>
<%
}
}
%>
</table>
<br>
<br>
<table>
<tr><td align="center"><a href="employee.jsp">Add More Employee</a></td></tr>
</table>
</center>
</body>
</html>
|
Step 5: Start tomcat and type http://localhost:8080/updaterequest/employee.jsp
in on the browser and Click on Text Link "Click here To Show all records"
. Your browser should display all the records..
Successful Output of the program:



Download the full web application shows here.
Download the application

|