Can we call destroy() method inside the init() method? What
happens when we do so?
Answers were Sorted based on User's Feedback
Answer / mani
In the Servlet programming context, the destroy() method
can never be called by your code and is called by the
servlet container
| Is This Answer Correct ? | 23 Yes | 6 No |
Yes you can call a destroy() method in init() method, but
remember destroy() method will behave like normal method
but not as life-cycle method.
| Is This Answer Correct ? | 9 Yes | 3 No |
This action does not disturb the normal life cycle flow of the servlet. The servlet will work normal. You may test the below code.
/**
* @author Suraj
*
*/
public class TestServlet extends HttpServlet {
public void init(ServletConfig config)throws ServletException{
super.init(config);
destroy();
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("I am test servlet.");
}
}
Web.xml
--------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Servlet</display-name>
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>com.esspl.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
------------------------------------
Test URL: http://<HOST>:<PORT>/<Context>/TestServlet.do
| Is This Answer Correct ? | 10 Yes | 4 No |
Answer / ravikiran
a call to the destroy method will happen and the resources
will be released and the flow will continue as it is and
will throw an exception if the released resource is used
indie the service method call.
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / amitasite
One can call destroy method from init method. One scenario
in which you would like to call is some resource is looked
up once in init() method and cleaned in destroy() method. If
exception is thrown before it finishes as servlet is not
brought in service, container won't call destroy method. so
to keep resource clean you can call destroy() method from init()
| Is This Answer Correct ? | 3 Yes | 1 No |
Answer / poorna chandar rao.yerrabothu
if suppose we take the servlet programming side then
whenever u type the URL first web browser call the service
method then create the servlet object then call the
init()method whenever we call the init method start the
proceesses of the particular object operation suppose we
call the destroy()method before completion of the particular
object operation servelet object is removed then when we r
call the service method then create the servelet object
| Is This Answer Correct ? | 11 Yes | 10 No |
Answer / ravikiran
a call to the destroy method will happen and the resources
will be released and the flow will continue as it is and
will throw an exception if the released resource is used
indie the service method call.
| Is This Answer Correct ? | 2 Yes | 2 No |
Answer / srilatha
In the servlet life cycle First our request calls to the
init()method,Inside it will doing some operations related
to the objects after that it will cal the destory() method
The destory()removes the servlet object,before calling to
service() method.
| Is This Answer Correct ? | 2 Yes | 12 No |
Answer / sunny
Yes you can call init method in destroy.
public void destroy(){
try {
init();
}
catch(Exception e){
}
}
| Is This Answer Correct ? | 11 Yes | 25 No |
what is multiple server?
How to work with Chinese login page (internationalization).if he enters user name and password in chinese, how is it converted to English and validate in db? And in reverse it should display welcome message in Chinese,if user is valid
How can we refresh automatically when new data is entered into the database?
what are the different services provided by the web server?
Why do we have servlet listeners?
Is Servlet Class Thread safe?????? How to make servlet Thread safe ???
How variables can be accessed across the sessions?
What is servlet container. how it works?
How many ways are available to ger RequestDispatcher object?
Differentiate between get and post?
What is preinitialization of a servlet?
What is the purpose of dispatcherservlet properties?