A JavaServer Page is like an HTML page with interspersed Java code. The JSP engine (or container) translates the JSP to a Java source code file and then needs a compiler to compile to a Java class. The class then executes and produces output that combines the HTML markup with Java output.
So - JSP requires a compiler on the server. On the browser end the only way to tell that JSP was involved is the .jsp file type. As far as the browser is concerned it is showing HTML.
Once the class has been compiled and loaded, it continues to run just like a
servlet.