Pasos Para Crear Un JPA-EJB-JSF-RichFACES

Post on 15-Oct-2014

516 views 1 download

Transcript of Pasos Para Crear Un JPA-EJB-JSF-RichFACES

PARA CREAR UNA APLICACIÓN EJB DESDE CEROUna vez creada la BDD

PAR A CREAR UN PROYECTO JPA

Clip derecho en el proyecto

Ingresar los datos de nuestra conexión donde:

SID es el SERVICE_NAME de la cadena de conexión del tnsnames:

Port number: es el puerto del tnsnames

DESARROLLO = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.160.239)(PORT = 1521)

) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dvp) ) )

Cerramos para refrescar la conexión y poder ver los esquemas y en estos las tablas de BDD

Clip derecho en proyecto (a fin de seleccionar el esquema donde están nuestras tablas de BDD)

Señalamos la tabla departamento y se encarga de generar el código

LUEGO CREAR NUESTRO PROYECTO EJB

Crear paquete entities.En el paquete entities crear la clase Departamento (para eso copy page de la clase de JPA a EJB)

Luego crear SESSION BEAN

Considerar los nombres de los paquetes que están en la siguiente imagen

En la pantalla que aparece: en caso de existir el paquete seleccionarlo caso contrario se creara un paquete con el nombre que ingresemos , poner nombre de la clase , no llenar el campo superclass dejar en blanco (cambiar en el final el paquete destino impl por interfaces, que será el nombre del paquete para las interfaces) y finish CREADO SESSION BEAN.

Luego:

Proceder a definir los métodos en la interface y posterior proceder a implementar la lógica para cada método en su respectiva clase...LUEJO CREAR PROYECTO JSF PARA LAS PAGS

Crear MANAGED BEAN (se refiere a crear la Clase Operaciones y en faces-config el MANAGEDBEAN )

Referenciar al proyecto EJB desde el JSF (a fin de poder consumir el EJB desde la clase Operaciones de el JSF)

PARA CREAR LA CONEXIÓN A LA BDD

Parar el Servidor JBOSS para aplicar los cambios a fin de poder crear la conectividad a la base de datos.

Verificar que el controlador de base de datos se encuentre en la carpeta lib del servidor (en este caso el server es default)(considerer el path que se muestra en la siguiente imagen)

En este caso hibérnate (copiar el archivo de persistencia de conexión a ORACLE (esta en la carpeta de 3ra clase de EJB) o aquí el código para crear dicho archivo - - > persistence.xml:

<persistencexmlns="http://java.sun.com/xml/ns/persistence"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"version="1.0">

<persistence-unit name="BankService" transaction-type="JTA"><jta-data-source>java:/OracleDS</jta-data-source><properties>

<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/><property name="hibernate.show_sql" value="true"/><property name="hibernate.format_sql" value="true"/>

</properties></persistence-unit></persistence>

Pegarlo en el METAINF del EJB

Posterior ir a la siguiente ruta (fijarse en la ruta de la siguiente imagen) donde están los ejemplos de conexión a las BDD en este caso para Oracle, copiarlo y pegarlo renombrándolo como oracleLocal-ds y modificarlo de acuerdo al string de conexión, usurario y password

Código del archivo como quedaría:

<?xml version="1.0" encoding="UTF-8"?>

<!-- ===================================================================== --><!-- --><!-- JBoss Server Configuration --><!-- --><!-- ===================================================================== -->

<!-- See http://www.jboss.org/community/wiki/Multiple1PC for information about local-tx-datasource --><!-- $Id: oracle-ds.xml 88948 2009-05-15 14:09:08Z jesper.pedersen $ --><!-- ==================================================================== --><!-- Datasource config for Oracle originally from Steven Coy --><!-- ==================================================================== -->

<datasources> <local-tx-datasource> <jndi-name>OracleDS</jndi-name> <connection-url>jdbc:oracle:thin:@localhost:1521:ORCL11</connection-url>

<!--

Here are a couple of the possible OCI configurations.For more information, see http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/java.920/a96654/

toc.htm

<connection-url>jdbc:oracle:oci:@youroracle-tns-name</connection-url>or

<connection-url>jdbc:oracle:oci:@(description=(address=(host=youroraclehost)(protocol=tcp)(port=1521))(connect_data=(SERVICE_NAME=yourservicename)))</connection-url>

Clearly, its better to have TNS set up properly. -->

<driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <user-name>CURSOJAVA</user-name> <password>cursojava</password> <!-- Uses the pingDatabase method to check a connection is still valid before handing it out from the pool --> <!--valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name--> <!-- Checks the Oracle error codes and messages for fatal errors --> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name> <!-- sql to call when connection is created <new-connection-sql>some arbitrary sql</new-connection-sql> -->

<!-- sql to call on an existing pooled connection when it is obtained from pool - the OracleValidConnectionChecker is prefered <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql> -->

<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) --> <metadata> <type-mapping>Oracle9i</type-mapping> </metadata> </local-tx-datasource>

</datasources>

Una vez ya modificado Pegarlo en la carpeta DEPLOY del server

Reiniciar el server y buscar en el log del server default oracleds que es como esta en el archivo persistence.xml para verificar

LUEGO CREAR PROYECTO EAR

EJECUTAR PROYETO EAR

EJECUTAR PAG DESDE EL JSF Y LISTO

PARA TRABAJAR CON RICHFaces

http://www.juntadeandalucia.es/xwiki/bin/view/MADEJA/RichFaceshttp://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/GettingStarted.html

http://liferay.exadel.com/web/guest

Para incorporar RichFaces a alguna aplicación es necesario bajarse el último release de RichFaces disponible en la página oficial de este

componente: http://labs.jboss.com/jbossrichfaces/downloads o http://www.jboss.org/richfaces (o copiarlos desde "WEB-INF/lib" de

los ejemplos realizados con RichFaces )

A continuación habrá que realizar los siguientes pasos:

o Descomprimir el fichero "richfaces-ui-3.1.0-bin.zip".

o Copiar los ficheros "richfaces-api-3.1.0.jar" , "richfaces-impl-3.1.0.jar" , "richfaces-ui-3.1.0.jar" dentro del directorio

"WEB-INF/lib" de la aplicación.

o Añadir el siguiente código dentro del fichero "WEB-INF/web.xml":

<?xml version="1.0"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><display-name>JSFRichFaces</display-name>

<context-param><param-name>javax.faces.STATE_SAVING_METHOD</param-name><param-value>server</param-value>

</context-param><listener>

<listener-class>com.sun.faces.config.ConfigureListener</listener-class></listener><!-- Faces Servlet --><servlet>

<servlet-name>Faces Servlet</servlet-name><servlet-class>javax.faces.webapp.FacesServlet</servlet-class><load-on-startup>1</load-on-startup>

</servlet><!-- Faces Servlet Mapping --><servlet-mapping>

<servlet-name>Faces Servlet</servlet-name><url-pattern>*.jsf</url-pattern>

</servlet-mapping><login-config>

<auth-method>BASIC</auth-method></login-config>

<!-- INI AGREGAR LAS SIGUIENTES LINEAS PARA FUNCIONE CON RICHFACES --><!-- Plugging the "Blue Sky" skin into the project --><context-param>

<param-name>org.richfaces.SKIN</param-name><param-value>blueSky</param-value>

</context-param><!-- Making the RichFaces skin spread to standard HTML controls --><context-param>

<param-name>org.richfaces.CONTROL_SKINNING</param-name><param-value>enable</param-value>

</context-param><!-- Defining and mapping the RichFaces filter --><filter>

<display-name>RichFaces Filter</display-name><filter-name>richfaces</filter-name><filter-class>org.ajax4jsf.Filter</filter-class>

</filter><filter-mapping>

<filter-name>richfaces</filter-name><servlet-name>Faces Servlet</servlet-name><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher><dispatcher>INCLUDE</dispatcher>

</filter-mapping><!-- FIN AGREGAR LAS SIGUIENTES LINEAS PARA FUNCIONE CON RICHFACES -->

</web-app>

o Añadir las siguientes líneas a cada una de las páginas JSP donde se desee utilizar RichFaces:

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>

<%@taglib uri="http://richfaces.org/a4j" prefix="a4j"%>

<%@taglib uri="http://richfaces.org/rich" prefix="rich"%>

<f:view>

<html>

<head>

<title>Consulta de Departamentos</title>

</head>

<body>

<ui:composition xmlns="http://www.w3.org/1999/xhtml"

………

………

………

</ui:composition>

</body>

</html>

</f:view>

o O bien las siguientes en caso de utilizar páginas XHTML:

<xmlns:a4j="http://richfaces.org/a4j">

<xmlns:rich="http://richfaces.org/rich">