pasos para crear un jpa-ejb-jsf-richfaces

20
PARA CREAR UNA APLICACIÓN EJB DESDE CERO Una vez creada la BDD PAR A CREAR UN PROYECTO JPA Clip derecho en el proyecto

Upload: fsvs75

Post on 15-Oct-2014

516 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 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

Page 2: Pasos Para Crear Un JPA-EJB-JSF-RichFACES
Page 3: Pasos Para Crear Un JPA-EJB-JSF-RichFACES
Page 4: Pasos Para Crear Un JPA-EJB-JSF-RichFACES
Page 5: Pasos Para Crear Un JPA-EJB-JSF-RichFACES
Page 6: Pasos Para Crear Un JPA-EJB-JSF-RichFACES

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) ) )

Page 7: Pasos Para Crear Un JPA-EJB-JSF-RichFACES

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

Page 8: Pasos Para Crear Un JPA-EJB-JSF-RichFACES
Page 9: Pasos Para Crear Un JPA-EJB-JSF-RichFACES

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

Page 10: Pasos Para Crear Un JPA-EJB-JSF-RichFACES

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:

Page 11: Pasos Para Crear Un JPA-EJB-JSF-RichFACES

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)

Page 12: Pasos Para Crear Un JPA-EJB-JSF-RichFACES

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>

Page 13: Pasos Para Crear Un JPA-EJB-JSF-RichFACES

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

Page 14: Pasos Para Crear Un JPA-EJB-JSF-RichFACES

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

Page 15: Pasos Para Crear Un JPA-EJB-JSF-RichFACES

<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

Page 16: Pasos Para Crear Un JPA-EJB-JSF-RichFACES

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

Page 17: Pasos Para Crear Un JPA-EJB-JSF-RichFACES

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>

Page 18: Pasos Para Crear Un JPA-EJB-JSF-RichFACES

<!-- 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:

Page 19: Pasos Para Crear Un JPA-EJB-JSF-RichFACES

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

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