xmlns servlet implementar example bootstrap java jsp jsf jsf-2

java - implementar - upload file jsp servlet example



Java EE vs JSP vs JSF (3)

Estoy buscando aprender una tecnología Java para desarrollar aplicaciones web. Mientras miraba más en esto, me confundí entre jsf , jsp y javaee . Sé que hay varias publicaciones en SO ( post 1 , post 2 ) que intentan resolver estas confusiones, y tengo algunas más sobre ellas:

  1. ¿JSP está "muerto" a favor de JSF?
  2. ¿Java EE es la plataforma en la que JSF se ejecuta o algo totalmente diferente?
  3. ¿JSF es simplemente un marco MVC para desarrollar aplicaciones web?
  4. ¿Es JSF un framework desarrollado por Oracle y parte de Java, o es un framework completamente diferente (al igual que Zend Framwork es de PHP)?
  5. [Bono] ¿Recomendarías aprender jsp o jsf ?

En su respuesta, siéntase libre de comparar cualquiera de estas tecnologías con cosas como ASP.NET, ASP.NET MVC, Ruby on Rails, Zend Framework, o Applets de Java normales, ya que estas son cosas con las que ya estoy familiarizado.

Gracias por tu tiempo.


¿JSP está "muerto" a favor de JSF?

JSF tiene innumerables beneficios sobre JSP. Por ejemplo:

  • Define un enfoque MVC
  • Estableció estándares de componentes
  • Tiene la característica aplicar valores
  • AJAX incorporado
  • Un control de contexto de vista definido
  • Permite extensiones de interfaces ricas como Primefaces

Y podemos seguir y seguir.

Todavía puede usar JSP para otros escenarios en los que necesite flexibilidad o rendimiento específicos, y lo mismo para los servlets, pero JSF prácticamente reemplazó a JSP para aplicaciones "robustas".

Ahora, soy un gran admirador de JSF, pero tiene un largo camino por recorrer. JSF 2.2 parece un framework maduro ahora que tiene un estándar de navegación definido ( FacesFlow ), y acabamos de tener un cargador de archivos incorporado en 2.1 y ni siquiera es AJAX, y hay "HTML5", etc. Así que sí, hay mucho más trabajo por hacer que no detallaré aquí.

En mi experiencia, JSP está de hecho "muerto" si se compara con JSF y otros frameworks como Spring MVC y otros. El tutorial de Java EE 7 apenas dice nada acerca de JSP. Pero no está totalmente muerto, ya que ya está soportado en contenedores web y aún puede usarlo.

¿Java EE es la plataforma en la que JSF se ejecuta o algo totalmente diferente?

JSF es parte de Java EE pero no necesita un perfil completo de Java EE para usar JSF. Ejemplos:

  • Tomcat es solo una implementación de Perfil web Java EE, y puede usar JSF en Tomcat.
  • Puede usar JSF en JBoss, pero no necesita JMS habilitado para que JSF funcione.

Los componentes de Java EE son modulares y solo necesita un servidor / contenedor de perfil web para usar JSF.

¿JSF es simplemente un marco MVC para desarrollar aplicaciones web?

Sí (pero no diría simplemente ). Cada uno tiene sus propios pros y contras. Pero el principio es el mismo.

Uno podría discutir sobre la integración con EJB, pero también lo es Spring MVC con su propio contenedor.

¿Es JSF un framework desarrollado por Oracle y parte de Java, o es un framework completamente diferente (al igual que Zend Framwork es de PHP)?

Oracle ahora delega a los equipos para definir las especificaciones. En teoría, puede implementar su propio JSF si lo desea. No sé acerca de Zend Framework de PHP.

Las implementaciones JSF más comunes son Mojarra y MyFaces. (Luiggi me ganó en este momento, puedes consultar sus enlaces).

[Bono] ¿Recomendarías aprender jsp o jsf?

Yo recomendaría ambos. JSP primero y JSF después de él.

Pero te recomendaría 100% que uses JSF para tus proyectos. Pero asegúrese de comprender la componente y todas las cosas que hacen que JSF sea una herramienta poderosa.

También consulte las nuevas características de JSF 2.2 , esta página es impresionante para una introducción sobre las últimas características agregadas al marco.


¿JSP está "muerto" a favor de JSF?

No, todavía se mantiene para aplicaciones web heredadas y actuales como tecnología de visualización. Además, JSF funciona con JSP como vista, pero desde JSF 2 es mejor usar Facelets como vista de tecnología. Las razones se explican aquí: ¿Por qué se prefiere Facelets sobre JSP como el lenguaje de definición de vista de JSF2.0 en adelante? . En resumen, Facelets admite el procesamiento previo y posterior del contenido a renderizar, mientras que JSP no lo hace.

¿Java EE es la plataforma en la que JSF se ejecuta o algo totalmente diferente?

JSF puede ejecutarse solo en cualquier servidor de aplicaciones web Java. Solo necesita agregar las bibliotecas necesarias: JSF-api y JSF-impl.

¿JSF es simplemente un marco MVC para desarrollar aplicaciones web?

Sí. No proporciona ninguna ayuda para la generación de servicios web, la agrupación de conexiones, la gestión de transacciones, etc. Admite la inyección de EJB a través de @EJB y la inyección de parámetros a través de @ManagedProperty , pero eso es todo. Puede usar otros marcos para hacer el trabajo: Hibernate, EJB, Spring, CDI, etc.

¿Es JSF un framework desarrollado por Oracle y parte de Java, o es un framework completamente diferente (al igual que Zend Framwork es de PHP)?

JSF es compatible con JSR 344 . Esta especificación es compatible con Java Community Process , que es compatible con Oracle. A partir de esto, puede inferir que al menos Oracle proporciona una implementación para JSF. Como JSF es una especificación, también puede ser implementada por otras organizaciones. Actualmente, hay otra implementación para JSF, MyFaces .

¿Recomendarías aprender jsp o jsf ?

Esto es como preguntar si debo aprender cómo crear HTML o cómo usar un conjunto de biblioteca que creará HTML para mí. . JSP es una tecnología creada para la vista de aplicaciones web que admite contenido dinámico mediante el uso de tecnología Java. JSF es un framework MVC que te ayuda a facilitar la generación del contenido a la vista (JSP o Facelets) y el enlace de datos a través de la vista, el controlador y el modelo. Puede aprender ambos al mismo tiempo, y le recomiendo que sepa qué está usando actualmente o qué usará. OMI debe aprender tanto: JSF para desarrollar aplicaciones JSF, como JSP para trabajar con otros frameworks MVC o para mantener aplicaciones actuales heredadas creadas con JSP.


1. ¿JSP está "muerto" a favor de JSF?

En el ámbito de JAVA EE, JSP se anuncia como "obsoleto". En un mundo más amplio, está bien vivo.

2. ¿Es Java EE la plataforma JSF se ejecuta en la parte superior o algo diferente en conjunto?

Depende de dónde está la "parte superior". Los servlets son el sótano de la mayoría de los frameworks Java, incluido JSF.

3. ¿Es JSF simplemente un marco MVC para desarrollar aplicaciones web?

Sí, es el sentido de que JSF es un marco de capa de presentación .

4. ¿Es JSF un framework desarrollado por Oracle y parte de Java, o es un framework completamente diferente (al igual que Zend Framwork es de PHP)?

JSF es una parte oficial de Java EE 7 de Oracle.

5. [Bono] ¿Recomendarías aprender jsp o jsf?

Ambos, a una cierta profundidad. Considere también HybridJava: es tan poderoso como JSF pero aproximadamente dos veces más simple.