in realtà tutte le pagine jsp vengono compilate o all'avvio della macchina oppure al momento della richiesta, e quando sono compilate sono delle servlet

il vantaggio di JSP è che, come PHP, puoi integrare il sorgente HTML con il codice java;
cioè, il server ha il sorgente HTML e lo "riempie" con quello che il codice JSP dice di fare;
con le servlet, invece, il server ha solo il compilato java, all'interno del quale hai anche le "istruzioni" per costruire la pagina html che andrà ad essere vista dal browser


spero di essermi spiegato


ciao ciao