ex

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class StateManagementServlet extends HttpServlet {

    @Override

    protected void doGet(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

        // Create or retrieve session

        HttpSession session = request.getSession();

        String sessionId = session.getId();

        // Track number of visits using session

        Integer visitCount = (Integer) session.getAttribute(“visitCount”);

        if (visitCount == null) {

            visitCount = 1;

        } else {

            visitCount++;

        }

        session.setAttribute(“visitCount”, visitCount);

        // Create or retrieve cookie

        Cookie[] cookies = request.getCookies();

        Cookie visitCookie = null;

        if (cookies != null) {

            for (Cookie cookie : cookies) {

                if (“visitCount”.equals(cookie.getName())) {

                    visitCookie = cookie;

                    break;

                }

            }

        }

        if (visitCookie == null) {

            visitCookie = new Cookie(“visitCount”, String.valueOf(visitCount));

            visitCookie.setMaxAge(60 * 60 * 24 * 365); // 1 year

            response.addCookie(visitCookie);

        } else {

            int cookieVisits = Integer.parseInt(visitCookie.getValue()) + 1;

            visitCookie.setValue(String.valueOf(cookieVisits));

            response.addCookie(visitCookie);

        }

        // Response content

        response.setContentType(“text/html”);

        PrintWriter out = response.getWriter();

        out.println(“<html>”);

        out.println(“<head><title>State Management Example</title></head>”);

        out.println(“<body>”);

        out.println(“<h1>State Management Example</h1>”);

        out.println(“<h2>Using Session:</h2>”);

        out.println(“<p>Session ID: ” + sessionId + “</p>”);

        out.println(“<p>Number of Visits (Session): ” + visitCount + “</p>”);

        out.println(“<h2>Using Cookie:</h2>”);

        out.println(“<p>Number of Visits (Cookie): ” + visitCookie.getValue() + “</p>”);

        out.println(“</body>”);

        out.println(“</html>”);

    }

}

Scroll to Top