viernes, 13 de diciembre de 2013

Crear un proyecto JSF2 con Eclipse y Tomcat

2 comentarios

JSF2, Instalación y Configuración

Vamos a explicar como crear un proyecto JSF2 desde 0.

Requisitos:

  • Java --> Necesitaremos Java 6 o superior para utilizar Tomcat 7
  • Servidor --> Necesitamos un servidor que soporte servlets 2.5 o superior y además que contenga las librerías de JSF2, cosa que añadiremos manualmente ya que Tomcat no incorpora estas librerías
  • Librerías --> jsf-api.jar y jsf-impl.jar son extricatamente necesarias para utilizar JSF2 en Tomcat
  • Un IDE --> Eclipse 3.6 o superior, ya que desde esta versión tiene incorporado soporte para JSF2

Paso a paso

Una vez instalado Eclipse e integrado Tomcat, pasaremos a la creación del proyecto en sí.

  1. Creamos un nuevo proyecto de tipo Java
    Nuevo proyecto
  2.  Ahora lo configuramos como un proyecto web, para esto hacemos click sobre el y en el menú contextual seleccionamos Configure -> Convert to Faceted Form
  3. Elegimos ahora las facetas del proyecto que se muestran en la imagen siguiente y clickamos en el mensaje señalado para añadir las librerías necesarias:
  4. Si estamos utilizando Tomcat, deberemos añadir la implementación de JSF, para ello clickamos para crear una nueva User Library y añadimos los JARs necesarios, en este caso serían jsf-api.jar y jsf-impl.jar, aunque por comodidad añadiremos también la librería de etiquetas JSTL.
  5. Damos Ok a todo y cerramos las ventanas. Al final debería de quedarnos un proyecto con la siguiente estructura:

Como vemos durante este proceso se habrán generado los ficheros necesarios para configurar cualquier aplicación web JSF, faces-config.xml y web.xml.

El contenido de los mismos se detalla a continuación:
Fichero web.xml con el contenido mínimo para hacer funcionar nuestra aplicación JSF. El PROJECT_STAGE no es necesrio definirlo, pero de esta manera tendremos más información sobre fallos y otros asusntos durante el desarrollo.

  JSF2-inicio
  
    index.jsp
  
  
    Faces Servlet
    javax.faces.webapp.FacesServlet
    1
  
  
    Faces Servlet
    *.jsf
  
  
    javax.faces.PROJECT_STAGEDevelopment


Este fichero faces-config.xml debe estar siempre presente aunque no tenga ningún contenido, como es nuestro caso.




Para probar nuestra aplicación solo nos queda añadir un par de páginas estáticas con algo de contenido y ver que todo funciona correctamente.
Bajo la carpeta WebContent de nuestro proyecto añadimos los siguientes ficheros:

index.jsp
<% response.sendRedirect("hello.jsf"); %>

hello.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html">



	Hola Mundo JSF!



	

		

Hola Mundo JSF!

</html>

Ahora solo nos queda desplegar la aplicación en nuestro Tomcat y usar cualquier navegador para acceder a http://localhost:3080/JSF2-inicio/ para lanzar nuestra aplicación JSF. El nombre de host y puerto dependerá de la configuración que cada uno tenga en su máquina.

A continuación os dejo unos enlaces para descargar este proyecto inicial en blanco ya montado, que nos servirá como base en el resto de capítulos del tutorial. JSF-inicio

Y las librerías JSF y JSTL que incluimos en el punto 4. Librerías