As seen from the top then Servlets are no different as compared to a Java class. They provide a component based way to design a web application. Using servlets web developers can create fast and efficient server side application which can run on any servlet enabled web server. Servlets run entirely inside the Java Virtual Machine and so have access to the whole set of Java API. Also an application written using Servlets can be deployed in any container and it will work. Servlets are popular choice for building interactive Web applications. Third-party servlet containers are available for example Apache Web Server, Microsoft IIS, and others. Servlet containers are usually a component of Web and application servers, such as BEA WebLogic Application Server, IBM WebSphere, Sun Java System Web Server, Sun Java System Application Server, and others.
Servlets are not bound to any specific protocol and can be extended to design one of its own choice but commonly servlets designed to work with HTTP(Hyper Text Transfer Protocol) are used heavily. These Servlets are controlled by the container from their creation to collection by Garbage Collector.