Les pages JSP sont traduites en code source Java, puis compilées dans des fichiers de classe (contenant Java Byte Code) pour une future exécution. Après cela, ils sont en fait JIT (Just In Time) compilés par la JVM quand ils sont nécessaires pour l'exécution (donc ils sont assez rapides).
Je suppose qu'il existe un processus similaire pour les applications .NET, en ce sens qu'elles sont compilées dans des assemblys .NET. C'est un peu comme les fichiers de classe Java, sauf IL (Intermediate Language) pour s'exécuter sur le CLR. Au moment de l'exécution, IL est également traduit en instructions machine natives pour l'exécution.
Les mécanismes de construction/exécution réels (à partir d'un niveau élevé) sont probablement étonnamment similaires.
EDIT
Voici quelques détails sur ASP.NET: http://msdn.microsoft.com/en-us/library/ms366723.aspx
En outre, avec des applications Web basées sur Java, les conteneurs qui les exploitent peuvent être configurés pour précompiler lorsque l'application JSPs est déployée. Ensuite, la machine virtuelle Java charge les fichiers de classe en mémoire et gère la compilation/mise en cache JIT à partir de ce point.
Connexes: [Quelle est la différence entre JSF/Servlet/JSP?] (Http://stackoverflow.com/questions/2095397/what-is-the-difference-between-jsf-servlet-and-jsp) et [What's l'alternative Java à ASP/PHP?] (http://stackoverflow.com/questions/2556553/what-is-the-main-stream-java-alternative-to-asp-net-php) – BalusC