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 |
How is a servlet implemented in code?
What is http servlet? Explain with the help of an example.
Explain their methods? Tell me their parameter names also have you used threads in servlet?
Explain Servlet Chaining ?
What is url encoding and url decoding
List out difference between a JavaBean from a Servlet?
Difference between java beans & servlets?
what is EJB and Java servlet
What exactly are the functions of servlet?
What is difference between ServletResponse sendRedirect() and RequestDispatcher forward() method?
How a servlet is unloaded?
How do you track a user session in servlets?