For brand new JSP page, if several clients make request to the same page at the same time: is it possible that due to concurrent nature of request handling several requests handlers will compile same JSP more then once? How does the server resolve concurrent compiles (you ideas)? Does JSP specification say anything about it?

Govind Seshadri

No, the JSP spec does not say anything about this particular scenario. I believe the translation phase is synchronized by the JSP engine. Consequently, only one request thread gets to compile the JSP; all other pending requests are put into a wait queue until the resulting servlet is loaded by the JSP engine's class loader and its init method is executed. Then, all the waiting requests are allowed to execute the servlet's service method concurrently.