Ideally the browser fires an HTTP request and the container providers objects for HttpServletRequest and HttpServletResponse. The rest of the story in the mid of the is up to the vendors. As you seem new to Java, you might want to go through something like Head First Java, and lately you can step into something like Head First Servlets and JSP.
When your browser request for a page say. . .then control goes to controller which creates two threads of request and response and create object of the .class (now your java file becomes your servlet) file and send threads to your servlet for action. . Here the result of servlet should be dispatched or forward to your jsp file. . After forwardding to jsp. . your thread die and your Servlet life also come to end. . .