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?