• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

init() method in a Servlet's lifecycle.

 
ragi singh
Ranch Hand
Posts: 198
Oracle Suse
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all ,

During the lifecycle of a servlet init() method is called . Now there are two init() methods one that takes a ServletConfig as argument and the other which does not take any argument . Which of the two is the default that a constructor calls when a servlet is initialized . and when is the init() method with the ServletConfig argument called ?
 
Mark Uppeteer
Ranch Hand
Posts: 159
C++ Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
the one with the ServletConfig is called by the container and has the properties in it from the web.xml.
You shouldn't touch that one.
The init(Servletconfig) will call the other init() where you get your shot to initialize.
Don't override init(Servletconfig) without calling super.init(ServletConfig).
 
Mark Uppeteer
Ranch Hand
Posts: 159
C++ Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm a bit confused with your...
Which of the two is the default that a constructor calls when a servlet is initialized

the init is called by the container, not by a constructor
 
ragi singh
Ranch Hand
Posts: 198
Oracle Suse
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am sorry about that Mark its container and not constructor . Does that mean when my servlet is initialized by the container , after calling the servlet constructor the container calls the init(ServletConfig) and it is in this init(ServletConfig) that the init() method is called .
 
Abimaran Kugathasan
Ranch Hand
Posts: 2066
Clojure IntelliJ IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
init(ServletConfig) is the template method, which stores ServletConfig, and then delegates to init(). This is what javax.servlet.GenericServlet.init(ServletConfig) looks like:


And, if you really want to override init(ServletConfig), make sure you invoke super.init(ServletConfig);, usually as the first line, though it's not strictly required.
 
Mark Uppeteer
Ranch Hand
Posts: 159
C++ Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Does that mean when my servlet is initialized by the container , after calling the servlet constructor the container calls the init(ServletConfig) and it is in this init(ServletConfig) that the init() method is called .


yes ragi singh,
its like that (and thats the way it is )
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic