Vous êtes sur la page 1sur 11

PROFESSORA

VERONICEDEFREITAS
Graduao:TecnologiaemProcessamento
deDados(UNOPAR)
Especializao:AnliseeDesenvolvimento
deSistemas(UNIFIL)
Mestrado:CinciadaComputao
(UFRGS)

PROGRAMAOWEB II
PROGRAMAOWEB II
Aula3
JSFcomPRIMERACES eHibernate

EMENTA: Modelagemdeframework
paradesenvolvimentoWEB. ArquiteturaMVC(model
viewcontroller). FuncionamentodaWeb.Introduo
aoframework:plataformadedesenvolvimentopara
Web.Framework:conceitosbsicos.Framework:
componentes.Bibliotecasdecomponentes.APIpara
acessoaobancodedados.Frameworks de
persistncia.Tecnologiaspara
programaoWeb.
OBJETIVOS:desenvolver
aplicaesWEButilizando
framework.

ESTRUTURA
Projeto relao(view/model/controller)
Projetoexemplo Parte01
(JSF/PRIMEFACES/HIBERNATE)
IntroduoaoHibernate
Projetoexemplo Parte02
(JSF/PRIMEFACES/HIBERNATE)
Exportarprojetos
OutrosExemplos
Publicarprojetos
Materialdeapoio

PROJETOPARTE01
(JSFCOMPRIMEFACES EHIBERNATE)
Criaroutroprojeto:
Download_PARTE_01.pdf

Temas

Temas

LIBSEPASTAS
Apscriaro
projeto,COPIEa
bibliotecaparaa
pastaLIBdeseu
projeto(lembrese
deatualizar).

Nessepontocrieaspastas:
tema
view

Nomedoarquivo
web.xml
template.xhtml
index.html
(redireciona)
index.xhtml
cliente.xhtml
conta.xhtml

Local
WebContent WEBINF (editar)
WebContent view
WebContent
WebContent
WebContent view
WebContent view

Arquivo/new/other/web/HTMLfile
(template 4.01transitional)
Arquivo/new/other/web/XHTMLfile
(template 1.0transitional)

template.xhtml
Cdigo:tamplete.xhtml
(pasta webcontet/tema)

<h:body>
<ui:composition template="/tema/template.xhtml">
<ui:define name="content">
Index.html(redireciona
JSFcomPrimeFaces
paraindex.xhtml)
</ui:define>
</ui:composition>
</h:body>

<metahttp
equiv="REFRESH"
content="0;url=index.jsf">

BRUNETTA (2013B)

PERGUNTAS

HIBERNATE
OHibernate umframework demapeamento
deobjetorelacionalparaalinguagemJava.
Conjuntodeclasses,interfaceseconfigurao
quepermitesimplificarotrabalhodepersistir
erecuperarobjetosJavaembancodedados
relacionais.
DOCUMENTAO
http://docs.jboss.org/hibern
ate/orm/

PERSISTNCIADEDADOS
APersistnciadeDadosconsiste
noarmazenamentoconfivelecoerente
dasinformaesemumsistema
dearmazenamentodedados.

PERSISTNCIA

BANCODEDADOS
Bancosdedados(oubasesdedados)
soarquivosousistemascomumaestruturaregular
queorganizaminformaes.
UmBancodeDadosRelacionalumsistema
dearmazenamentodedadosbaseadonos
relacionamentosentreelementos
dedadosbuscandoumanormalizao
(semredundncias)dosdados.

ORIENTAOAOBJETOSVS MODELO
RELACIONAL
Atransiodedadosentreomodelorelacional
eomodeloorientadoaobjetosnosimples.Para
realizaressatransio,necessriodefinirum
mapeamentoentreosconceitosdessesdois
paradigmas.
Porexemplo,classespodemsermapeadaspara
tabelas,objetospararegistros,
atributosparacamposereferncia
entreobjetosparachaves
estrangeiras.

CAMADADEMAPEAMENTOORM

FERRAMENTASORM
ParafacilitaracomunicaoentreaplicaesJava
queseguemomodeloorientadoaobjetos
eosSGDBs queseguemomodelorelacional,
podemosutilizarferramentasqueautomatizam
atransiodedadosentreasaplicaes
eosSGDBs.Essasferramentassoconhecidas
comoferramentasORM
(Object Relational Mapper).

HIBERNATE
Aplicao

Mapeamento

API

Hibernate

Bancodedados

JDBC

ConfigurandooHibernate
Aconfiguraorealizadaatravs
doarquivohibernate.cfg.xml
Deveestarlocalizadonaraizdoclasspath
Aconfiguraocontm:
Parmetrosdeacessoabasededados
Entidadesaserempersistidas.
Etc.

FERRAMENTADEORM
(OBJECTRELATIONALMAPPING)

PROJETOPARTE02
(JSFCOMPRIMEFACES EHIBERNATE)

Exemplos:
Hibernate.
TopLink.
EclipseLink.
Entreoutros.

JPA(JAVA PERSISTENCE API)


Nointuitodepadronizaraimplementao
detecnologiasORM,surgiuaJPA(JavaPersistence
API),queespecificouousodeferramentasORM
(TopLink,Hibernate,Kodo,OpenJPA,EclipseLink
entreoutros).
Emteoria,qualquerframework queimplemente
opadroJPAdevefuncionarigualmente.

DOWNLOADDOHIBERNATE/MYSQL
Exemplificadonoarquivo:
Download_Hibernate_e_configuracoes_PARTE_
02.pdf

libs(hibernate,
JSF,PrimeFaces,
MySQL)

Disponvel
comoprojetos

PROJETOJSF(CONTINUAO)
Bancodadosutilizadosero MySQL:
<http://dev.mysql.com/downloads/mysql/>
MySQLWorkbench
<http://www.mysql.com/products/workbench/>
CRIANDO O BANCO DE DADOS
Createdatabaseifnotexists bddados;
Conector MySQL
mysqlconnectorjava5.1.22.
zip
<http://dev.mysql.com/
downloads/connector/j/
5.1.html>

<! Configuraesdaconexo>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306
/bddados</property>
<property name="connection.username">root</property>
<property name="connection.password">root1234</property>

Crieospacotes:
banco,bean,
modelo
Obs.:clique
comoboto
direitoemsrc
new package

<! ImpressodoSQLnasadapadro>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<! Dialetoutilizado>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hbm2ddl.auto">update</property>
<! Classesanotadas>
<mapping class="modelo.Cliente"/>

create

packagemodelo;
PacoteModelo
import java.util.Date;
Cliente.java
import javax.persistence.*;
//import banco.BancoDeClientes;
@Entity
@Table(name =tb_cliente")
public class Cliente{
@Id
private StringCPF;
@Column
private Stringnome;
@Column
private Stringdescricao;

Cliquecomoboto
//...
direitodentro
public StringgetNome(){
docdigoegere
return nome;
osGetters and Setters.
}
public void setNome(Stringnome){
this.nome=nome;
}
//...
}

/...

packagebean;
// TESTE/HIBERNATE
//public static void main(String[]args){
//Clientec=new Cliente();
//c.setCPF("123.555.55555");
//c.setNome("MariaAparecida");
//...
//BancoDeClientes bdc =new BancoDeClientes();
//bdc.salvar(c);
//}
}//finaldaclasseCliente

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import banco.BancoDeClientes;
import modelo.Cliente;

Pacotebean
ClienteBean.java

@ManagedBean(name ="BeanCliente")
@SessionScoped
public class ClienteBean {
BancoDeClientes bdc =new
BancoDeClientes();
Clientecliente =new Cliente();

public Stringsalvar(){
bdc.salvar(cliente);

Pacotebean
ClienteBean.java

System.out.println(cliente.getNome());
//...
return "sucesso";

public ClientegetCliente(){
return cliente;
}
public void setCliente(Clientecliente){
this.cliente=cliente;
}
}

Pacote:banco
catch(Exceptionex){
BancoDeClientes.java
tx.rollback();
ex.printStackTrace();
}finally {
if (sessao !=null){
try {
sessao.close();
}catch(Exceptione){
e.printStackTrace();
}
}//if sessao !=null
}//finally
return null;
}//salvar
}//classe

packagebanco;
Pacote banco
import modelo.Cliente;
BancoDeClientes.java
import org.hibernate.Session;
import org.hibernate.Transaction;
public class BancoDeClientes {
u.getNome()
public Stringsalvar(Clienteu){
Session sessao =null;
Transaction tx =null;
try {
sessao =HibernateUtil.getSession();
tx =sessao.beginTransaction();
sessao.save(u);
tx.commit();
}

packagebanco;
Pacote banco
//import omitidos
HibernateUtil.java
public class HibernateUtil {
private static SessionFactory sessionFactory;
public static SessionFactory getSessionFactory(){
if (sessionFactory ==null){
AnnotationConfiguration cfg =new
AnnotationConfiguration();
Configuration config =
cfg.configure("hibernate.cfg.xml");
sessionFactory =
config.buildSessionFactory();
}
return sessionFactory;
}//mtodoSessionFactory

Pacote banco
HibernateUtil.java
public static Session getSession(){
Session sessao =getSessionFactory().openSession();
return sessao;
}//mtodogetSession()
Retornaasesso
}//classeHibernateUtil

PERGUNTAS

EXEMPLO PROJETO
AUTOR:THIAGOMARQUES

EXEMPLODEPROJETO

CRUDEMJSF2.0ePRIMEFACES2.2.1Parte1
<HTTP://THIAGOM.WORDPRESS.COM/2011/06/16/CRUDEM
JSF20EPRIMEFACES221PARTE1/>
CRUDEMJSF2.0ePRIMEFACES2.2.1Parte2
<http://thiagom.wordpress.com/2011/06/29/378/>
CRUDEMJSF2.0ePRIMEFACES2.2.1Parte3
<http://thiagom.wordpress.com/2011/07/02/crud
emjsf20eprimefaces221parte3/>
PrimeiraaplicaoemJSF2.0
(referenciadonaParte1)
<http://thiagom.wordpress.com/
2011/01/26/199/>

PUBLICARPROJETO

Projeto:Projeto02_JSF

ECLIPSE
menuiniciardoWindows
ApacheTomcat

REFERNCIAS
2)ArquivoqueefetuouDeploy

1)SelecioneoarquivoWAR
geradoefaaDeploy

BRUNETTA,Andii.JSF2.0:ComponentesPrimeFaces 2.2.1
Parte1.2011.Disponvelem:
<http://javasemcafe.blogspot.com.br/2011/05/jsf20
componentesprimefaces221parte.html>.Acessoem:07
abr.2013a
BRUNETTA,Andii.JSF2.0:Template emFacelets
comLayoutdoPrimeFaces 3.0.Disponvelem:
<http://javasemcafe.blogspot.com.br
/2012/03/jsf20templateemfacelets
comlayout.html>.Acessoem:19maio
2013b.

REFERNCIAS

MATERIALDEAPOIO

DOMENECH,Edson.DesenvolvimentodeumsistemaWeb
comJavaServer FacesePrimeFaces (ParteI).2013.
Disponvelem:<http://domenechbr.blogspot.com.br/
2012/08/desenvolvimentodeumsistemawebcom.html>.
Acessoem:07abr.2013.
MARTINS,Cludio.EngenhariadaWeb.
Disponvelem:<http://pt.scribd.com/
doc/105760697/IntroducaoaoJSF2>.

Acessoem:maio2013.

K19.DesenvolvimentoWebcomJPA2EJPA2.2012.
Disponvelem:
<http://www.k19.com.br/downloads/apostilas/java/k19
k12desenvolvimentowebcomjsf2ejpa2>.Acessoem:6
maio2013.
ORACLE.JavaSecure SocketExtension (JSSE)Reference
Guide.Disponvelem:<http://docs.oracle.com/javase/
6/docs/technotes/guides/security/
jsse/JSSERefGuide.html>.
Acessoem:31maio2013.

MATERIALDEAPOIO

MATERIALDEAPOIO

KING,Gavin.etal.DocumentaodeRefernciaHibernate.
2010.Disponvelem:
<http://docs.jboss.org/hibernate/core/3.5/reference/pt
BR/pdf/hibernate_reference.pdf>.Acessoem:5abr.2013.
UNIVERSIDADEJAVA.IntroduoaoJavaServer Faces2.0.
Disponvelem:<http://www.universidadejava.com.br/
docs/introducaoaojavaserverfaces20>.
Acessoem:maio2013.

IVICI,agatay.Primefaces User's Guide 3.3.Turquia,


2012.Disponvelem:
<http://www.slashdocs.com/xskst/primefaces
usersguide32.html>.Acessoem:17maio2013.

10

2014 Todososdireitosreservados.Usoexclusivo
noSistemadeEnsinoPresencialConectado.

11

Vous aimerez peut-être aussi