2010-07-30 35 views
11

Mi comprensión de JSP es que cada página JSP en la primera carga se compila en un Servlet de Java. ¿Es esto lo mismo para las páginas ASPX (por supuesto, no en un servlet, pero cualquiera que sea el equivalente de ASP.NET)?Diferencias técnicas entre ASP.NET y Java Servlets/JSP

¿Qué otras diferencias técnicas debo tener en cuenta con JSP y ASP.NET (MVC 2)?

+0

Relacionados: [¿Qué diferencia hay entre JSF/Servlet/JSP?] (Http://stackoverflow.com/questions/2095397/what-is-the-difference-between-jsf-servlet-and-jsp) y [What's la alternativa de Java a ASP/PHP?] (http://stackoverflow.com/questions/2556553/what-is-the-main-stream-java-alternative-to-asp-net-php) – BalusC

Respuesta

5

Las páginas JSP se traducen al código fuente de Java, luego se compilan en archivos de clase (que contienen el código de Java Byte) para su futura ejecución. Después de eso, en realidad son JIT (Just In Time) compilados por JVM cuando se necesitan para la ejecución (por lo que son bastante rápidos).

Creo que hay un proceso similar para las aplicaciones .NET, ya que se compilan en ensamblados .NET. Esto es algo así como los archivos de clase de Java, excepto que son IL (Lenguaje Intermedio) para ejecutarse en el CLR. En tiempo de ejecución, IL también se traduce en instrucciones de máquina nativas para su ejecución.

Los mecanismos reales de compilación/tiempo de ejecución (desde un nivel alto) son probablemente sorprendentemente similares.

EDITAR

Éstos son algunos detalles relacionados con ASP.NET: http://msdn.microsoft.com/en-us/library/ms366723.aspx

Además, con aplicaciones web basadas en Java, los recipientes que las dirigen se puede configurar para pre-compilar JSP cuando se despliega la aplicación. Luego, la JVM carga los archivos de clase en la memoria y maneja la compilación JIT/almacenamiento en caché desde ese punto en adelante.

+0

Más información sobre la compilación previa de ASP.NET: http://msdn.microsoft.com/en-us/library/ms229863 (VS.80) .aspx – Derrick

9

ASP puede comparar vagamente a JSP/Servlet. ASP.NET puede comparar vagamente a JSF (construir sobre Servlet/JSP).

ASP.NET y JSF son ambos marcos basadas en componentes, mientras JSP y ASP son en su mayoría vista tecnologías.

Hecho correctamente, JSP/Servlet se puede utilizar para tener una enfoque basado en la acción , donde un proceso de controlador de un comando y transmita a una vista para la representación (MVC), que desacoplar la representación de vista de la lógica de negocio.

Pero el enfoque adoptado por el marco basado en componentes es diferente y cada componente puede desencadenar devoluciones de llamada (lógica de negocios) y es responsable de representarse a sí mismo. También se basan en el concepto de enlace de datos , que no existe como en el marco basado en la acción.

Los modelos basados ​​en componentes están más cerca del modelo de programación para la aplicación de escritorio, pero abstraen la naturaleza de la aplicación webby. Esto es bueno y malo al mismo tiempo. Es malo cuando quieres optimizar las cosas relacionadas con la web, como la URL amigable, etc. Creo que por eso Microsoft introdujo más adelante un marco MVC basado en la acción junto a ASP.NET.

+0

Puntos para responder al * * diferencia real **. JSP es una tecnología de visualización. ASP.NET MVC es un marco MVC basado en componentes. Está comparando manzanas con naranjas. Es mejor comparar JSP con "ASP clásico" y ASP.NET MVC con JSF. – BalusC