Because JSPs are in the long run just compiled into Servlets -- you're always dealing with a Servlet -- thus, by default, you kinda have to have a Servlet engine.
Various vendors/developers provide these engines (also known as application servers) to the development community (some cost, some don't) and in doing so, promise to provide expected functionality as defined in the
Java Servlet Specification.
That said...it's usually the responsibility of the application server to compile your JSP into a Servlet but there is no contract between the specification and the implementation regarding *what* compiles your JSP. It could be javac, it could be jikes, it could be any java compiler.
Hope this helps,
Cory
[ January 20, 2003: Message edited by: Cory Wilkerson ]