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 initiate a program that calculates the content of the response, on the fly, when the request is processed.
The first standard to do that was a defined Common Gateway Interface (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 significant amount of resources. Starting a new process, as you learned in the previous chapter, is...