0

There is an instance variable, int tickets in this simple Servlet class:

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(urlPatterns="/test")
public class HelloServlet extends HttpServlet {
    private int tickets;
    @Override
    public void init(ServletConfig config) {
        tickets = 10;
    }
    @Override
    public void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        PrintWriter writer = resp.getWriter();
        writer.println("Hello World, first servlet welcome u in light of Head First Servlet :)");
        writer.println("My current Servlet instance hash is " + this.hashCode());
    }
}

If this servlet instance is destroyed at some point after the web container startup, the tickets would be lost.

Is a servlet instance instantiated only once after web container startup? If not, how the tickets above could be kept track of always ever since the web contain startup?

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
Rui
  • 3,454
  • 6
  • 37
  • 70

0 Answers0