hey destroy method can be overridden & you can use that method for closing database/network connections .destroy method will get called when servlet container removes servlet object from the memory when servlet object no longer
needed.as servlet object is created for the first request made by client & then after the thread will be spawned for each request made by client.
it is the responsibility of container to explicitely call destroy method of HttpServlet interface.the core implementation of destroy() contains code to garbage collect servlet object & if there are multiple request made for same servlet ,then all corresponding threads can be removed from memory & same Servlet life cycle gets repeated when request to same servlet is made again.
regards ,
Nisarg pathak