1. User clicks a link that has a URL of Servlet.

2. Container (Apache Tomcat is one of the example) sees that the request is for servlet , so create two objects :
HttpServletRequest
HttpServletResponse

3. Container finds correct servlet on the basis of URL passed with the help deployment descriptor (web.xml) file. Creates / Allocate thread for that request and pass request and response object to servle thread.

4. Container calls the servlets service() method, on the type of request, service calls doGet() or doPost() methods.

5. Lets assume that service calls the doPost() method. doPost() method generates dynamic page and add the page in response object.

6. Thread completes, container converts the response object into HttpResponse object and destroys the response and request object.

appreciate the work. really helps
Nice presentation.
I have few doubts regarding the http requests handled by tomcat.
say I’m client, I make http request and suddenly close connection when our code is run still. what will happen to the request.How to handle transaction if i have to roll back entire transaction.Have any Idea on how tomcat handles the request, tomcat keeps all in memory.
If I have a broken request and nobody is listining to it , how the situation is handled.
Nice Article.
Clear explaination THank you