Java Spring Lab Manual Draft 2024-25-5-13
Java Spring Lab Manual Draft 2024-25-5-13
1a
Implement a Java Servlet (SimpleServlet) that handles both HTTP GET and POST requests.
The servlet should:
For GET requests, respond with a simple HTML page that includes a form to submit
a name parameter.
For POST requests, retrieve username and password parameters from the request and
respond with an HTML page displaying these parameters.
Include necessary servlet methods to read data from the client and send appropriate
responses.
SimpleServlet.java
package com.example;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/SimpleServlet")
public class SimpleServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Submit Your Details</h2>");
out.println("<form method='POST'
action='SimpleServlet'>");
out.println("Name: <input type='text'
name='name'><br><br>");
out.println("Password: <input type='password'
name='password'><br><br>");
out.println("<input type='submit' value='Submit'>");
out.println("</form>");
out.println("</body></html>");
}
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
5
String name = request.getParameter("name");
String password = request.getParameter("password");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Submitted Data</h2>");
out.println("Name: " + name + "<br>");
out.println("Password: " + password + "<br>");
out.println("</body></html>");
}
}
Expected Output
6
Experiment No. 1b
Implement a Java Servlet (SessionServlet) to demonstrate session tracking using
cookies and session objects. The servlet should:
Display a login form when accessed initially.
Handle login functionality via a POST request, validating username and password.
Upon successful login, store username in a session attribute and display a welcome
message with logout option.
Implement logout functionality to invalidate the session upon user request.
Display session information including session ID, creation time, and last accessed time on the
response page.
package com.example;
import java.io.IOException;
import java.io.PrintWriter;
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 javax.servlet.http.HttpSession;
@WebServlet("/ServletDemo/SessionServlet")
public class SessionServlet extends HttpServlet {
7
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>Welcome</title></head><body>");
out.println("<h2>Welcome, " +
session.getAttribute("username") + "!</h2>");
out.println("<p><a
href='SessionServlet?action=logout'>Logout</a></p>");
out.println("<h3>Session Information:</h3>");
out.println("<p>Session ID: " + session.getId() +
"</p>");
out.println("<p>Creation Time: " + new
java.util.Date(session.getCreationTime()) + "</p>");
out.println("<p>Last Accessed Time: " + new
java.util.Date(session.getLastAccessedTime()) + "</p>");
out.println("</body></html>");
} else {
// User is not logged in, display login form
out.println("<html><head><title>Login</title></head><body>");
out.println("<h2>Login</h2>");
out.println("<form method='post'
action='SessionServlet'>");
out.println("Username: <input type='text'
name='username'><br><br>");
out.println("Password: <input type='password'
name='password'><br><br>");
out.println("<input type='submit' value='Login'>");
out.println("</form>");
out.println("</body></html>");
}
}
8
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
// Process login form submission
String username = request.getParameter("username");
String password = request.getParameter("password");
9
Expected Output
10
Experiment No. 2a
Design a JSP application for managing employee information.
Create a JSP page (employeeForm.jsp) with an HTML form to collect employee
data (e.g., Employee ID, Name, Age, Department, and Email) using the POST
method.
Create a JSP page (employeeResult.jsp) to retrieve the submitted form data using
request.getParameter().
Use JSP expressions and scriptlets to process the retrieved data. For example:
o Concatenate the employee's name and department into a single string.
o Calculate the birth year from the age.
o Format the email address.
Display the processed data in a formatted manner in employeeResult.jsp.
employeeForm.jsp
<!DOCTYPE html>
<html>
<head>
<title>Employee Form</title>
</head>
<body>
<h2>Employee Information Form</h2>
<form action="employeeResult.jsp" method="POST">
<table>
<tr>
<td>Employee ID:</td>
<td><input type="text" name="employeeId"
required></td>
</tr>
<tr>
<td>Name:</td>
<td><input type="text" name="name"
required></td>
</tr>
<tr>
<td>Age:</td>
<td><input type="number" name="age"
required></td>
</tr>
<tr>
<td>Department:</td>
<td><input type="text" name="department"
required></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="email" name="email"
required></td>
</tr>
<tr>
11
<td colspan="2" style="text-align: center;">
<input type="submit" value="Submit">
</td>
</tr>
</table>
</form>
</body>
</html>
employeeResult.jsp
// Process data
int age = Integer.parseInt(ageStr);
Calendar calendar = Calendar.getInstance();
int currentYear = calendar.get(Calendar.YEAR);
int birthYear = currentYear - age;
String nameAndDepartment = name + " (" + department +
")";
// Format email
String formattedEmail = email.toLowerCase();
%>
<table border="1">
<tr>
<th>Employee ID</th>
<td><%= employeeId %></td>
</tr>
<tr>
<th>Name and Department</th>
<td><%= nameAndDepartment %></td>
</tr>
<tr>
12
<th>Birth Year</th>
<td><%= birthYear %></td>
</tr>
<tr>
<th>Formatted Email</th>
<td><%= formattedEmail %></td>
</tr>
</table>
</body>
</html>
Expected Output
13