Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
22 views

Java Spring Lab Manual Draft 2024-25-5-13

Uploaded by

varun
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

Java Spring Lab Manual Draft 2024-25-5-13

Uploaded by

varun
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Experiment No.

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 {

private static final long serialVersionUID = 1L;

@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 {

protected void processRequest(HttpServletRequest request,


HttpServletResponse response) throws ServletException,
IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use
following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet
SessionServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet SessionServlet at " +
request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
}
}

protected void doGet(HttpServletRequest request,


HttpServletResponse response) throws ServletException,
IOException {

7
response.setContentType("text/html");
PrintWriter out = response.getWriter();

// Check if the logout action is requested


String action = request.getParameter("action");
if ("logout".equals(action)) {
HttpSession session = request.getSession(false);
if (session != null) {
session.invalidate(); // Invalidate the session
}
response.sendRedirect("SessionServlet"); //
Redirect to the login page
return;
}

// Check if session exists


HttpSession session = request.getSession(false);
if (session != null && session.getAttribute("username")
!= null) {
// User is logged in, display welcome message and
session info

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");

// For demonstration purposes, validate against


hardcoded credentials
if (username != null && username.equals("admin") &&
password != null && password.equals("password")) {
// Login successful, create session and store
username
HttpSession session = request.getSession(true); //
create new session if not exists
session.setAttribute("username", username);

// Redirect to doGet to display welcome message and


session info
response.sendRedirect("SessionServlet");
} else {
// Login failed, redirect back to login page
response.sendRedirect("SessionServlet");
}
}

protected void doDelete(HttpServletRequest request,


HttpServletResponse response)
throws ServletException, IOException {
// Process logout (via DELETE request)
HttpSession session = request.getSession(false);
if (session != null) {
session.invalidate(); // invalidate session
}
response.sendRedirect("SessionServlet");
}

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

<%@ page contentType="text/html;charset=UTF-8" language="java"


%>
<%@ page import="java.util.Calendar" %>
<!DOCTYPE html>
<html>
<head>
<title>Employee Information</title>
</head>
<body>
<h2>Employee Information Result</h2>
<%
// Retrieve form data
String employeeId = request.getParameter("employeeId");
String name = request.getParameter("name");
String ageStr = request.getParameter("age");
String department = request.getParameter("department");
String email = request.getParameter("email");

// 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

You might also like