5.
Write a Servlet program to perform database-driven operations such as
Insertion, Deletion,
Update, and Selection on an Employee table.
Employee Table (MySQL Example)
CREATE TABLE employee (
emp_id INT PRIMARY KEY,
emp_name VARCHAR(50),
emp_salary DOUBLE,
emp_dept VARCHAR(30)
);
import [Link].*;
import [Link].*;
import [Link].*;
import [Link].*;
public class EmployeeServlet extends HttpServlet {
Connection con;
public void init() throws ServletException {
try {
[Link]("[Link]");
con = [Link](
"jdbc:mysql://localhost:3306/company",
"root",
"password"
);
} catch (Exception e) {
[Link]();
protected void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
String action = [Link]("action");
try {
if ([Link]("insert")) {
PreparedStatement ps = [Link](
"INSERT INTO employee VALUES (?,?,?,?)"
);
[Link](1, [Link]([Link]("id")));
[Link](2, [Link]("name"));
[Link](3, [Link]([Link]("salary")));
[Link](4, [Link]("dept"));
[Link]();
[Link]("Employee Inserted Successfully");
} else if ([Link]("update")) {
PreparedStatement ps = [Link](
"UPDATE employee SET emp_name=?, emp_salary=?, emp_dept=? WHERE emp_id=?"
);
[Link](1, [Link]("name"));
[Link](2, [Link]([Link]("salary")));
[Link](3, [Link]("dept"));
[Link](4, [Link]([Link]("id")));
[Link]();
[Link]("Employee Updated Successfully");
} else if ([Link]("delete")) {
PreparedStatement ps = [Link](
"DELETE FROM employee WHERE emp_id=?"
);
[Link](1, [Link]([Link]("id")));
[Link]();
[Link]("Employee Deleted Successfully");
} else if ([Link]("select")) {
Statement st = [Link]();
ResultSet rs = [Link]("SELECT * FROM employee");
[Link]("<table border='1'>");
[Link]("<tr><th>ID</th><th>Name</th><th>Salary</th><th>Dept</th></tr>");
while ([Link]()) {
[Link]("<tr>");
[Link]("<td>" + [Link](1) + "</td>");
[Link]("<td>" + [Link](2) + "</td>");
[Link]("<td>" + [Link](3) + "</td>");
[Link]("<td>" + [Link](4) + "</td>");
[Link]("</tr>");
[Link]("</table>");
} catch (Exception e) {
[Link](e);
public void destroy() {
try {
[Link]();
} catch (Exception e) {
[Link]();
[Link] Mapping
<servlet>
<servlet-name>EmployeeServlet</servlet-name>
<servlet-class>EmployeeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>EmployeeServlet</servlet-name>
<url-pattern>/employee</url-pattern>
</servlet-mapping>
6. Write a Servlet program to maintain session using the Hidden Field concept (Prepare 3
Servlets).
Flow
1. FirstServlet – Collects user name
2. SecondServlet – Receives name via hidden field, collects age
3. ThirdServlet – Receives name and age via hidden fields and displays them
[Link]
import [Link].*;
import [Link].*;
import [Link].*;
public class FirstServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
String name = [Link]("name");
[Link]("<html><body>");
[Link]("<form action='SecondServlet' method='post'>");
[Link]("<input type='hidden' name='uname' value='" + name + "'>");
[Link]("Enter Age: <input type='text' name='age'><br><br>");
[Link]("<input type='submit' value='Next'>");
[Link]("</form>");
[Link]("</body></html>");
2:[Link]
import [Link].*;
import [Link].*;
import [Link].*;
public class SecondServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
String name = [Link]("uname");
String age = [Link]("age");
[Link]("<html><body>");
[Link]("<form action='ThirdServlet' method='post'>");
[Link]("<input type='hidden' name='uname' value='" + name + "'>");
[Link]("<input type='hidden' name='age' value='" + age + "'>");
[Link]("<input type='submit' value='Display Details'>");
[Link]("</form>");
[Link]("</body></html>");
3 [Link]
import [Link].*;
import [Link].*;
import [Link].*;
public class ThirdServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
String name = [Link]("uname");
String age = [Link]("age");
[Link]("<html><body>");
[Link]("<h2>Session Details</h2>");
[Link]("Name: " + name + "<br>");
[Link]("Age: " + age);
[Link]("</body></html>");
}
}
4 Sample HTML Page ([Link])
<html>
<body>
<form action="FirstServlet" method="post">
Enter Name: <input type="text" name="name"><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
7. Write a Servlet program to implement session tracking using Persistent Cookies.
Session Tracking Using Persistent Cookies
Servlet Code (Java)
import [Link].*;
import [Link].*;
import [Link].*;
public class PersistentCookieServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
String username = [Link]("username");
// If username is provided, create a persistent cookie
if (username != null && ![Link]()) {
Cookie userCookie = new Cookie("user", username);
// Set cookie expiry time (e.g., 24 hours)
[Link](60 * 60 * 24);
[Link](userCookie);
[Link]("<h2>Welcome, " + username + "</h2>");
[Link]("<p>Persistent cookie has been created.</p>");
}
else {
// Read existing cookies
Cookie[] cookies = [Link]();
boolean found = false;
if (cookies != null) {
for (Cookie c : cookies) {
if ([Link]().equals("user")) {
[Link]("<h2>Welcome back, " + [Link]() + "</h2>");
[Link]("<p>Session tracked using persistent cookie.</p>");
found = true;
break;
}
}
}
if (!found)
{
[Link]("<h2>No user cookie found</h2>");
[Link]("<p>Please login first.</p>");
}
}
[Link]();
}
}
HTML Form (Client Side)
<html>
<head>
<title>Persistent Cookie Example</title>
</head>
<body>
<form action="PersistentCookieServlet" method="get">
Enter Name: <input type="text" name="username">
<input type="submit" value="Submit">
</form>
</body>
</html>
8: Write a Servlet program to maintain session using URL Rewriting.
First Servlet ([Link])
import [Link].*;
import [Link].*;
import [Link].*;
public class LoginServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
String uname = [Link]("username");
[Link]("<html><body>");
[Link]("<h2>Welcome " + uname + "</h2>");
// URL Rewriting
[Link]("<a href='WelcomeServlet?user=" + uname + "'>");
[Link]("Click here to continue</a>");
[Link]("</body></html>");
}
}
Second Servlet ([Link])
import [Link].*;
import [Link].*;
import [Link].*;
public class WelcomeServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
String uname = [Link]("user");
[Link]("<html><body>");
[Link]("<h2>Hello " + uname + "</h2>");
[Link]("<p>Session maintained using URL Rewriting</p>");
[Link]("</body></html>");
}
}
HTML Form ([Link])
<html>
<body>
<form action="LoginServlet" method="post">
Enter Username:
<input type="text" name="username">
<input type="submit" value="Login">
</form>
</body>
</html>
9. Write a Servlet program to implement Request Forwarding and include an external
resource in the current Servlet context.
1 Forwarding Servlet (Request Forwarding)
2 [Link]
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@WebServlet("/forward")
public class ForwardServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Set attribute to share data with forwarded servlet
[Link]("message", "Request forwarded from ForwardServlet");
// Forward request to another servlet
RequestDispatcher rd = [Link]("target");
[Link](request, response);
}
}
2 Target Servlet (Receives Forwarded Request)
[Link]
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@WebServlet("/target")
public class TargetServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
String msg = (String) [Link]("message");
[Link]("<h2>Target Servlet</h2>");
[Link]("<p>" + msg + "</p>");
3 Including an External Resource (Servlet Include)
[Link]
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
@WebServlet("/include")
public class IncludeServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
[Link]("<h2>Main Servlet Content</h2>");
[Link]("<p>Before including external resource</p>");
// Include external resource
RequestDispatcher rd = [Link]("[Link]");
[Link](request, response);
[Link]("<p>After including external resource</p>");
4 External Resource (HTML)
[Link]
<h3>This is External HTML Resource</h3>
<p>Included using [Link]()</p>
10. Create a simple Login and Logout system using HttpServlet, HttpSession, and
Cookies.
1. Login Page ([Link])
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h2>Login</h2>
<form action="LoginServlet" method="post">
Username: <input type="text" name="username" required><br><br>
Password: <input type="password" name="password" required><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
2. Login Servlet ([Link])
import [Link].*;
import [Link].*;
import [Link].*;
public class LoginServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
String username = [Link]("username");
String password = [Link]("password");
// Simple validation (hardcoded)
if ([Link]("admin") && [Link]("admin123")) {
// Create session
HttpSession session = [Link]();
[Link]("user", username);
// Create cookie
Cookie ck = new Cookie("username", username);
[Link](60 * 60); // 1 hour
[Link](ck);
[Link]("<h2>Login Successful</h2>");
[Link]("<a href='WelcomeServlet'>Go to Welcome Page</a>");
} else {
[Link]("<h2>Invalid Username or Password</h2>");
[Link]("<a href='[Link]'>Try Again</a>");
}
}
}
3. Welcome Servlet ([Link])
import [Link].*;
import [Link].*;
import [Link].*;
public class WelcomeServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
HttpSession session = [Link](false);
if (session != null) {
String user = (String) [Link]("user");
[Link]("<h2>Welcome, " + user + "</h2>");
[Link]("<a href='LogoutServlet'>Logout</a>");
} else {
[Link]("<h2>Please login first</h2>");
[Link]("<a href='[Link]'>Login</a>");
}
}
}
4. Logout Servlet ([Link])
import [Link].*;
import [Link].*;
import [Link].*;
public class LogoutServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
[Link]("text/html");
PrintWriter out = [Link]();
// Invalidate session
HttpSession session = [Link](false);
if (session != null) {
[Link]();
}
// Delete cookie
Cookie ck = new Cookie("username", "");
[Link](0);
[Link](ck);
[Link]("<h2>You are logged out successfully</h2>");
[Link]("<a href='[Link]'>Login Again</a>");
}
}
5. [Link] Configuration
<web-app>
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>WelcomeServlet</servlet-name>
<servlet-class>WelcomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WelcomeServlet</servlet-name>
<url-pattern>/WelcomeServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>LogoutServlet</servlet-name>
<servlet-class>LogoutServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LogoutServlet</servlet-name>
<url-pattern>/LogoutServlet</url-pattern>
</servlet-mapping>
</web-app>
Flow Summary
1. User logs in via [Link]
2. LoginServlet
o Creates HttpSession
o Stores username
o Creates Cookie
3. WelcomeServlet
o Checks session
4. LogoutServlet
o Invalidates session
o Deletes cookie
10 Write an RMI program to perform arithmetic operations on two entered
numbers.
import [Link];
import [Link];
public interface Arithmetic extends Remote {
double add(double a, double b) throws RemoteException;
double sub(double a, double b) throws RemoteException;
double mul(double a, double b) throws RemoteException;
double div(double a, double b) throws RemoteException;
}
2. Remote Implementation
[Link]
import [Link];
import [Link];
public class ArithmeticImpl extends UnicastRemoteObject implements Arithmetic {
protected ArithmeticImpl() throws RemoteException {
super();
}
public double add(double a, double b) throws RemoteException {
return a + b;
}
public double sub(double a, double b) throws RemoteException {
return a - b;
}
public double mul(double a, double b) throws RemoteException {
return a * b;
}
public double div(double a, double b) throws RemoteException {
if (b == 0)
throw new ArithmeticException("Division by zero");
return a / b;
}
}