Writing servlets
Servlets are Java classes that are executed in a web server that implements the servlet container environment. The first web servers could only deliver static HTML files to the browsers. For each URL, there was an HTML page on the web server and the server delivered the content of this file, in response to a request sent by the browser. Very soon, there was a need to extend the web servers to be able to start some program that calculates the content of the response, on the fly, when the request is processed.
The first standard to do that defined CGI. It started a new process to respond to a request. The new process got the request on its standard input, and the standard output was sent back to the client. This approach wastes a lot of resources. Starting a new process, as you learned in the previous chapter, is way too costly just to respond to an HTTP request. Even starting a new thread seems to be unnecessary, but with that, we ran a bit ahead.
The next approach was FastCGI...