I guess the followings happen when a request come for particular servlet.
1.Container see whether the instance of that servlet is already present or not.if yes then simply assign a new thread for that request. 2.if not,i.e very first request for that servlet. Container loads that servlet class. 3.Calls the no arg constructor for that servlet class. 4.Now it is time to initialize some init parameter. hence it calls the init() method of servlet class. 5. Finally calls the service() method to serve the request.