JSF 2.3 Instalación y configuración usando Eclipse, JDK8 y Wildfly 14
Mostraremos como instalar y configurar eclipse con JSF2.3 – Java Server Faces.
Necesitaremos lo siguiente:
- JDK8 – Lo puedes descargar desde aquí.
- IDE Eclipse – Última versión de Eclipse Java EE.
- Servidor de aplicaciones Wildfly 14.
JDK8
Instalaremos JDK8 (Java Develoment Kit). Actualmente está en la revisión 191. Por ejemplo, en mi PC esta instalado en el directorio: C:\Program Files\Java\jdk1.8.0_191
ECLIPSE JAVA EE
Hasta la fecha, está disponible Eclipse IDE 2018‑12. Selecionar la opción Eclipse Java EE. Después de instalar eclipse configuramos JDK8 para que sea llamado por defecto. Para ello clic em Windows – Preference. Luego en la pestaña Java -> Installed JREs clicar en Add.. y buscar el directorio:
C:\Program Files\Java\jdk1.8.0_191
Finalmente configuramos para que sea utilizado jdk8. Clicar em «Apply and Close».
Esta versión de Eclipse tiene soporte para wildfly 14. Por tanto el último y tercer paso será bajar la versión 14.0.1.Final de Wildfly.
WILDFLY
Para configurar en Eclipse, clicar em Windows -> Preference. Luego en la pestaña Server -> Runtime Environments clicar en adicionar. luego abrir la pasta JBoss Community y clicar e instalar Jboss Tools.
Reiniciar, repetir los pasos anteriores y selecionar Wildfly 14 Runtime como sigue en la figura.
Seleccionamos el directorio donde está wildfly14 clicando en Browse. Luego seleccionamos Alternate JRE el JDK8, tal como se muestra en la siguiente figura.
Seguidamente creamos un proyecto clicando en File -> new -> Dynamic Web Project, por ejemplo creamos el proyecto ejemplo_web_jsf23.
Finalmente tenemos el proyecto creado.
El contenido web.xml para JSF2.3 (Parte de JEE8) es el siguiente:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0"> <display-name>ejemplo_web_jsf23</display-name> <welcome-file-list> <welcome-file>index.xhtml</welcome-file> </welcome-file-list> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.xhtml</url-pattern> </servlet-mapping> </web-app>
Contenido para faces-config.xml
<?xml version="1.0" encoding="UTF-8"?> <faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_3.xsd" version="2.3"> </faces-config>
Crear archivo beans.xml en el mismo lugar donde esta web.xml y faces-config.xml y adicionar el siguiente contenido:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_2_0.xsd" bean-discovery-mode="all" version="2.0"> </beans>
Ahora vamos adicionar la biblioteca de jsf2.3 que está disponible en el servidor de aplicaciones WildFly. Para ello, clic derecho sobre el proyecto, clicar en propiedades y seleccionar «Java Bulid Path», luego en la pestaña «Libraries» clicar en «Add External JARs…» y selecionar jsf-impl-2.3.5.SP2 que está en el directorio del servidor de WildFly. En el ejemplo: «C:\Work\Programas\wildfly-14.0.1.Final\modules\system\layers\base\com\sun\jsf-impl\main\», finalmente clicar en «Apply and Close».
Para verificar que todo está funcionando, vamos a crear un archivo holaMundo.xhtml en el directorio WebContent y que tendrá el siguiente contenido:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html"> <h:head> <title>Hola Mundo!</title> </h:head> <h:body> <h:outputText value="#{holaMundo.mensaje}"/> </h:body> </html>
El formato XHTML es reconocido por el servidor como archivo JSF. Todo archivo JSF por lo general necesita de de una clase Java conocido como BackBean ou Ben. Vamos a crear una clase haciendo clic encima del directorio «Java Resources»/src New -> Class con el nombre «HolaMundo.java» y vamos a colocar en el package com.josehuaman.ejemplos
package com.josehuaman.ejemplos; import java.io.Serializable; import javax.enterprise.context.SessionScoped; import javax.inject.Named; @Named @SessionScoped public class HolaMundo implements Serializable { private static final long serialVersionUID = 1L; private String mensaje = "Hola, este es mi primer mensaje!"; public String getMensaje() { return mensaje; } public void setMensaje(String mensaje) { this.mensaje = mensaje; } }
Para ver el resultado, clic en la view Servers y seleccionamos Wildfly14. Luego clic derecho sobre el proyecto y seleccionamos Full Publish y luego clic derecho sobre wildfly 14 seleccionamos Debug.
El resultado será como sigue:
Si vemos el código fuente generado:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="j_idt2"> <title>Hola Mundo!</title> </head> <body> Hola, este es mi primer mensaje! </body> </html>
Espero que haya servido de ayuda este tutorial. El tutorial está disponible en youtube.
Buen tutorial. Me sirvio mucho.
Gracias por los comentarios.
Un tutorial bien explicado paso a paso, desde cero, justo lo que necesitaba para empezar mi proyecto desde cero, muchas gracias
Muchas Gracias Jonh.
Muchas gracias . me sirvio de mucho
Por nada!