The isThreadSafe attribute controls whether or not the servlet that results
from the JSP page will implement the SingleThreadModel interface. Use of
the isThreadSafe attribute takes one of the following two forms:
<%@ page isThreadSafe="true" %> <%!-- Default --%>
<%@ page isThreadSafe="false" %>
"It is a common mistake to think that implementing SingleThreadModel makes
JSP thread safe.
This is simply not true.
A web container is free to start more than 1 instance of your JSP page.
If this happens the ThreadSafeModel fails.
With JSP there is no substitute for knowing how to implement a thread
safe web application. "
The DEVELOPER is responsible to make servlet or JSP thread safe.
Also, note that starting from 2.4 Servlet API the SingleThreadModel interface is *depricated* and should be avoided (not much use, but posible big problems with performance). This means that DEVELOPER should care of properly threading.