1) What is the ideal methodology for handling client HTTP requests coming in for a servlet?
- Using Threads?
a) -> Is it not resource-heavy to have a million clients do a million requests at a time?
b) -> Does this only lightly affect the CPU/memory/stability on the server?
c) -> What methodology is used in real-world applications?
I'm not sure I understand the question. A servlet container does use threads, one per request. I recall reading about tests that showed that a single Tomcat instance using the NIO connector is able to handle thousands of requests per second (actually something between 10000 and 20000, if memory serves). If you need to be able to handle a million simultaneous requests that do a significant amount of work (like serious computation or accessing some other machine like a DB), you'll probably want to put in place a few hundred load-balanced machines.