Servlet Programs
Q.1) Create a servlet for creating a filter to check whether a user is valid or not
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class UserValidationFilter implements Filter {
public void init(FilterConfig config) throws ServletException {}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws
IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
// Assuming user validation is done through session attribute
HttpSession session = httpRequest.getSession();
String user = (String) session.getAttribute("user");
if (user != null) {
chain.doFilter(request, response); // User is valid, continue the request
} else {
httpResponse.sendRedirect("login.jsp"); // Redirect to login page if invalid
}
public void destroy() {}
Q.2) Create a servlet to access user info using Cookie
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class UserInfoCookieServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
Cookie[] cookies = request.getCookies();
String username = null;
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals("username")) {
username = cookie.getValue();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
if (username != null) {
out.println("<h1>Welcome, " + username + "</h1>");
} else {
out.println("<h1>No user information found in cookies</h1>");
Q.3) Create a servlet to destroy user info by deleting cookie
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class DestroyUserInfoServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
Cookie cookie = new Cookie("username", ""); // Create a blank cookie
cookie.setMaxAge(0); // Set the age of the cookie to 0, which will delete it
response.addCookie(cookie);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>User info deleted from cookies</h1>");
}
}
Q.4) Create a servlet to access user info using Hidden form Field
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class HiddenFieldServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String username = request.getParameter("username");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>Welcome, " + username + "</h1>");
Q.5) Create a servlet to access user info using UrlRewriting
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class URLRewritingServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String username = request.getParameter("username");
// URL Rewriting
String encodedURL = response.encodeURL("WelcomeServlet?username=" + username);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<a href='" + encodedURL + "'>Go to Welcome Page</a>");
Q.6) Create a servlet to snoop all the information about current session
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class SessionInfoServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
HttpSession session = request.getSession();
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>Session Information</h1>");
out.println("Session ID: " + session.getId());
out.println("<br>Creation Time: " + new java.util.Date(session.getCreationTime()));
out.println("<br>Last Accessed Time: " + new java.util.Date(session.getLastAccessedTime()));
Q.7) Create a servlet to destroy the user info by invalidating session
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class InvalidateSessionServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
HttpSession session = request.getSession();
session.invalidate(); // Invalidates the session
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>User session invalidated</h1>");
Q.8) Create a Listener using ServletContextListener to listen the event on creating and destroying
Context Parameters on a servlet
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.util.*;
@WebListener
public class ContextListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent sce) {
ServletContext context = sce.getServletContext();
context.setAttribute("appStart", new Date());
System.out.println("Context Initialized: " + context.getAttribute("appStart"));
public void contextDestroyed(ServletContextEvent sce) {
ServletContext context = sce.getServletContext();
System.out.println("Context Destroyed: " + context.getAttribute("appStart"));
Q.9) Create a Listener using HttpSessionListener to listen the event on creating and destroying
session of a servlet
import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.*;
@WebListener
public class SessionListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent se) {
HttpSession session = se.getSession();
System.out.println("Session Created: " + session.getId());
public void sessionDestroyed(HttpSessionEvent se) {
HttpSession session = se.getSession();
System.out.println("Session Destroyed: " + session.getId());
Q.10) Create a servlet that establishes a Database Connection successfully using JDBC Connection
and create a table in the database
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
public class DBConnectionServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
try {
// Establish DB connection
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root",
"password");
// Create a table
Statement stmt = conn.createStatement();
String createTableSQL = "CREATE TABLE Employees (ID INT PRIMARY KEY
AUTO_INCREMENT, Name VARCHAR(255), Age INT)";
stmt.executeUpdate(createTableSQL);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>Database Connection Successful & Table Created</h1>");
conn.close();
} catch (Exception e) {
e.printStackTrace();