Normally its not you who call destroy or init methods. Its the containers job and the container will invoke them in proper time.
Generally once destroied a servlet is unusable. But when it comes to individual servlets it depends on whats written in the destroy method and how that affects to the rest of the servlet.
EDIT: No offence but this thread is in the wrong forum
All of a servlet's service methods should be complete when a servlet is removed. The server tries to ensure this by calling the destroy method only after all service requests have returned or after a server-specific grace period, whichever comes first. If your servlet has operations that take a long time to run (that is, operations that may run longer than the server's grace period), the operations could still be running when destroy is called. You must make sure that any threads still handling client requests complete