for every request a new thread will be generated that will run the service() method. ain't different threads will be treated as separate clients ? or will they be treated as request coming from the same client ?.
As per my understanding, following scenarios will be treated equally by the server.
1) Different requests from same client to the same servlet or
2) Different requests from different clients to same servlet,
Servlet's service() method will be executed in threads for both these scenarios.
Whether a new bean gets created or not, depends on the location of look-up code. If look-up is done in the doGet() or doPost() method, then every look-up of stateful bean should return a new instance.