I have now created a java servlet program,the servlet class which extends HttpServlet is named com.servlet.Main. As we all know , every servlet class has two functions: doGet() and doPost(),one for http get request and the other for http post request. My question is,JVM will create a new com.servlet.Main instance for each coming request or just maintain a singleton instance for all requests?
Asked
Active
Viewed 578 times
2 Answers
0
A Servlet container will only ever create one instance of your Servlet implementation for each declaration in the deployment descriptor. This is not a true singleton, only effectively a singleton relative to the ServletContext. Nothing prevents you from creating more instances.
Note, that the entry point of all Servlet applications is the Servlet#service(ServletRequest, ServletResponse) method. HttpServlet, an sub type of Servlet, implements this method to delegate to a number of methods which custom implementations should override. These are doGet, doPost, doPut, doDelete, doHead, etc.
Sotirios Delimanolis
- 263,859
- 56
- 671
- 702
0
The servletcontainer reuses the same servlet instance for every request.
See this stackoverflow post
Community
- 1
- 1
Georgios Syngouroglou
- 16,793
- 7
- 83
- 84