2010-07-30 7 views
11

Ma compréhension de JSP est que chaque page JSP lors du premier chargement est compilée dans une servlet Java. Est-ce la même chose pour les pages ASPX (bien sûr, pas dans une servlet, mais quel que soit l'équivilant ASP.NET)?Différences techniques entre ASP.NET et Java Servlets/JSP

Quelles autres différences techniques devrais-je connaître avec JSP et ASP.NET (MVC 2)?

+0

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

Répondre

5

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.

+0

En savoir plus sur la pré-compilation ASP.NET: http://msdn.microsoft.com/fr-fr/library/ms229863 (VS.80) .aspx – Derrick

9

ASP peut se comparer vaguement à JSP/Servlet. ASP.NET peut se comparer vaguement à JSF (construire au-dessus de Servlet/JSP).

ASP.NET et JSF sont tous deux à base de composants cadres, alors que JSP et ASP sont pour la plupart vue technologies.

Fait correctement, JSP/Servlet peut être utilisé pour avoir une approche fondée sur l'action où un processus de commande une commande et transmettre à une vue pour le rendu (MVC), qui découpler vue rendu de la logique métier.

Mais l'approche adoptée par le framework basé sur les composants est différente et chaque composant peut déclencher des rappels (logique métier) et est responsable du rendu lui-même. Ils s'appuient également sur le concept liaison de données, qui n'existe pas comme dans un cadre basé sur l'action.

Le modèle basé sur les composants est plus proche du modèle de programmation pour les applications de bureau, mais élimine la nature webby de l'application. C'est bon et mauvais en même temps. C'est mauvais quand vous voulez optimiser des choses liées au Web telles que l'URL amicale, etc. C'est pourquoi je pense que Microsoft a présenté plus tard un cadre MVC basé sur l'action à côté d'ASP.NET.

+0

Points pour répondre * * différence réelle **. JSP est une technologie de vue. ASP.NET MVC est un framework MVC basé sur des composants. C'est en comparant des pommes avec des oranges. JSP est mieux à comparer avec "ASP classique" et ASP.NET MVC avec JSF. – BalusC

Questions connexes