Upload
brendan-ryan
View
19
Download
6
Embed Size (px)
Citation preview
1PROFESSORAVERONICEDEFREITAS
Graduao:TecnologiaemProcessamentodeDados(UNOPAR)
Especializao:AnliseeDesenvolvimentodeSistemas(UNIFIL)
Mestrado:CinciadaComputao(UFRGS)
ProgramaoWebII
Aula1
JSF JavaServerFaces
ProgramaoWebIIEMENTA: ModelagemdeframeworkparadesenvolvimentoWEB. ArquiteturaMVC(modelviewcontroller). FuncionamentodaWeb.Introduoaoframework:plataformadedesenvolvimentoparaWeb.Framework:conceitosbsicos.Framework:componentes.Bibliotecasdecomponentes.APIparaacessoaobancodedados.Frameworksdepersistncia.TecnologiasparaprogramaoWeb.OBJETIVOS:desenvolveraplicaesWEButilizandoframework
Resumo
OJavaServerFaces(JSF)umframeworkdeinterfacedeusurio(IU)paraaplicaesJavaWeb.Tambmcomoamaioriadosframeworks,adotaomodelodearquiteturaMVC(Model View Controller),comoobjetivodeaumentaraprodutividadedaconstruodeinterfacesgrficaswebbaseadasemtemplates edisponibilizandoumconjuntodecomponentesvisuaisreutilizveis.PALAVRASCHAVE:JSF,MVC,FRAMEWORK,TEMPLATES
Estrutura
Introduo Desenvolvimentoweb JavaContextualizaroJavaServerFaces(JSF)PrepararoambienteJSF Projetoexemplo(01)JSF Projetoexemplo02(ManagedBean/Escopo)Materialdeapoio
2PlataformaJavaJ2EE
AplataformaJavaJ2EE (Java2EnterpriseEdition)surgiucomoobjetivodepadronizaresimplificaracriaodeaplicaesWeb.umadastrsplataformasdeJavasomandoseaJ2ME (Java2MicroEdition),voltadaparapequenosdevices comocelularesepalmtops,eJ2SE (Java2Standart Edition),voltadaparaaplicaesclienteecompostapelasAPIs bsicasdeJava.
EVOLUO J2EE
http://cooldevstuff.wordpress.com/
JSF(JavaServerFaces)
OJavaServerFacesatecnologiapadrodoJava2Plataform EnterpriseEdition (J2EE)paradesenvolveraplicaesweb.Herdadastecnologias(JSP)JavaServesPageseServlets,eextende seusconceitoscomumciclodevidaeumconjuntodecomponenteserecursosavanadosefocadosnodesenvolvimentoparaweb.
JSF(JavaServerFaces)
JavaServerFaces (JSF)um framework MVC baseadoem Java paraaconstruodeinterfacesdeusurio baseadasem componentes para aplicaesweb.Possuiummodelodeprogramaodirigidoaeventos,abstraindoosdetalhesdamanipulaodoseventoseorganizaodoscomponentes,permitindoqueoprogramadorseconcentrenalgicadaaplicao.http://pt.wikipedia.org/wiki/JavaServer_Faces
Opadro MVC ModelViewController
Parasabermais:http://www.subrotina.com.br/oconceitoeasduvidassobreomvc/
3PadrodearquiteturaMVC(Model View Controller)
Propeasepararasresponsabilidadesdeumaaplicaoemcomponentesdemodelo,visoecontrole:
Modelo:formadoporentidadesdenegcioquerepresentamosdadosdosistema.View. a apresentao, oqueaparece, oquevisualizado porquemusaosistema. .Controller. Comosugereonome,responsvelporcontrolartodoofluxodoprograma.
EmJSF,ocontrolefeitoatravsdeumservlet chamadoFacesServlet.
ArquiteturadoJSFbaseadanoMVC
Servlet Container
ExistemvriosServlet Containernomercado,osmaisimportantesso:Tomcat;Glassfish;Jboss;Jetty;Entreoutros.
Biblioteca JSF
OcontinerServletTomcat,porpadro,nopossuisuportediretoaoJavaServerFaces,ouseja,nocontmasbibliotecasnecessriasparaodesenvolvimentocomomesmo.
Implementao JSF
Possuiduasimplementaesbemconhecidas:SunMojarra implementaoderefernciaMyFaces daApache Fonte:CAELUM(2013)
EspecificaoJSF2JSR314
)
Mojarra(implementao
referencial)
ApacheMyFaces
http://javaserverfaces.java.net/
http://myfaces.apache.org/ DownloadJSFhttp://javaserverfaces.java.net/Download:javax.faces.2.1.20.jar.
CopieoarquivoparaapastaWEBINF/lib doprojeto.
4SOFTWARES
1)SDKJava1.7:http://www.oracle.com/technetwork/java/javase/downloads/index.html
2)Tomcat:http://tomcat.apache.org/download70.cgi
3)EclipseJuno:http://www.eclipse.org/downloads/packages/release/juno/sr1
SOFTWARES
4)JSF2.1:http://javaserverfaces.java.net/
5)Primefaces 3.3.1http://www.primefaces.org/downloads.html
6)MySQL5.5:http://dev.mysql.com/downloads/
7)Hibernate3.5http://www.hibernate.org/)
SOFTWARES outrasopes
Netbeans 7.2:http://netbeans.org/community/releases/72/Glassfish 3.2:JvemembutidonoNetbeans versoJEE
Perguntas
Preparandooambiente
Preparando oambiente
Servlet Conteiner Tomcat 7(http://tomcat.apache.org/download70.cgi).
IDEoeclipseJuno(http://www.eclipse.org/downloads/packages/release/juno/sr1)
5Criando umprojeto parateste doJSF ServerRuntime(Tomcat)
Jars doJSF
informeumnomeparaoJSF
Adicioneojar doJSFUsandoomesmoprocedimentoseradicionadososjarsdoHibernate,conectordoMySQL,Primefaces,etc ( sercriadoumnew/add External JARs)paracadaumseparadamente.
Projeto new outrosWebDynamicProject
Dynamic WebProject
CliqueemNEXTatchegarnessaetapa
6resultado
JardoJSFcopiadoparaapastalib (podercopiarusandooWindowsexplorereatualizaroprojeto) cliquebotodireitonoprojeto
Crieosarquivos:index.htmlindex.xhtml
...
index.html
FacesServletjavax.faces.webapp.FacesServlet1
FacesServlet
*.jsf
...
web.xmlweb.xml
web.xml
Osarquivosdeconfigurao(facesconfig.xmleweb.xml)soresponsveisporrealizarassociaesemapeamentosdeaesepeladefinioderegrasdenavegao.Osmanipuladoresdeeventossoresponsveisporreceberosdadosvindosdacamadadevisualizao,acessaromodelo,eentodevolveroresultadoparaoFacesServlet.
Lib JSF
ApscriaroprojetoCOPIEabibliotecaparaapastaLIBdeseuprojeto(lembresedeatualizar)
Arquivo idex.html
arquivo /new/other/web/HTMLfile(template4.01transitional)
Teset Facelet
Ol Mundo.
arquivo /new/other/web/XHTMLfile(template1.0transitional)Arquivo:index.xhtml
7Executaroprojeto UsandooJavaServerFacesAespecificaodoJSFforneceumconjuntodecomponentesvisuaisbsicosemsuaimplementaodereferncia.BibliotecaHTML(siglah):possuicomponentesquerepresentamdiversoselementosHTMLeabibliotecaNamespace:xmlns:h=http://java.sun.com/jsf/htmlBibliotecaCore(siglaf):responsvelportarefascomunsnodesenvolvimentodesistemas,comointernacionalizao,validaoeconversodedadosdeentrada.Namespace:xmlns:f="http://java.sun.com/jsf/core
JSF BibliotecaHTMLxmlns:h=http://java.sun.com/jsf/html
Tag Descriobody Representaatag doHTMLButton CriaumlinkColumn ColunadedadosemumcommandButton Geraumbotodesubmit ouresetcommandLink Geraumlink.Precisaestar
dentrodeum...
http://blog.fimes.edu.br/fernando/files/2012/05/JavaServerFaces%E2%80%93JSF.pdf
JSF BibliotecaCorexmlns:h=http://java.sun.com/jsf/core
Tag DescrioactionListener Permiteregistrarumeventoajax
ouumaaoajax aserrealizadapeloacionamentodeumboto.
attribute Configuraumatributoparaatag paiqueacontiver
convertDateTime Configuraumconversorparadataehoraconverter Permiteregistrar
umconversorpersonalizado
...http://blog.fimes.edu.br/fernando/files/2012/05/JavaServerFaces%E2%80%93JSF.pdf
Perguntas
Exemplo02Nomedoprojeto:Teste02_JSF
GABRIELhttp://wehavescience.com/2012/11/07/desenvolvendoumaaplicacaoutilizandojsf2/
8Pacotes
Pacotes
Classes
Lib jsf
config eweb.xml
views
Passo01Criarospacoteseasclasses
packageentities;publicclass Pessoa{private Stringnome;private Stringemail;private Stringinformacoes;private int idade;
publicStringgetNome(){return nome;
}
publicvoid setNome(Stringnome){
this.nome=nome;}
// mtodosgetter esetter}
classePessoapackageentities;
packagebeans;import javax.annotation.PostConstruct;import javax.faces.application.FacesMessage;import javax.faces.bean.ManagedBean;import javax.faces.bean.SessionScoped;import javax.faces.context.FacesContext;import entities.Pessoa;
@ManagedBean@SessionScopedpublicclass CadastroBean {private Pessoapessoa;
@PostConstructpublicvoid init(){
pessoa=new Pessoa();}
classeCadastroBeanpackageentities;
publicvoid message(Stringmessage){FacesContext instance =
FacesContext.getCurrentInstance();instance.addMessage(null,new
FacesMessage(message));}
publicStringcadastrar(){if(pessoa.getIdade()
9ManagedBean
Aprincipalresponsabilidadedeummanagedbeanintermediaracomunicaoentreaspginas(componentesdoJSF)eomodelo.
EntendendoosdiferentestiposdeManaged Beans JSFRafaelPontehttp://www.rponte.com.br/2009/08/27/managedbeansnaocompliquesimplifique/
JSF MapeamentodaclasseBeanTempodevidadaclasse
Escopo Descrio@ApplicationScoped
Apenasumainstnciadaclasseemtodaaaplicao.Todososusuriosacessamamesmainstncia.
@SessionScoped Existeumainstnciaparacadausurio.@RequestScoped Existeumainstnciapelotempo
deduraodarequisiofeitapelousurio.
... ...http://blog.fimes.edu.br/fernando/files/2012/05/JavaServerFaces%E2%80%93JSF.pdfhttp://blog.fimes.edu.br/fernando/files/2012/05/JavaServerFaces%E2%80%93JSF.pdf
...p_ID"version="3.0">JSF
index.html
FacesServletjavax.faces.webapp.FacesServlet1
FacesServlet*.jsf
web.xmlArquivoprincipal
Index.html
PginadeCadastro
Index.xhtml
Index.xhtmlcontinuao
10
Index.xhtml(continuao)
Cadastrar
...
paginaSucesso/paginasucesso.jsf
...
facesconfig.xml
publicStringcadastrar(){if(pessoa.getIdade()
11
ComparaoentreosprincipaisFrameworksJavaparaodesenvolvimentodeaplicaesWEB2.0http://www3.iesampa.edu.br/ojs/index.php/sistemas/article/viewFile/585/424
CAELUM,EspecificaoeimplementaodoJSF.Disponvelem.http://www.caelum.com.br/apostilajavatestesjsfwebservicesdesignpatterns/introducaoaojsfeprimefaces/#75especificacaoeimplementacaodojsf
Primefaces User's Guide 3.3.Turquia,2012.http://www.slashdocs.com/xskst/primefacesusersguide32.html(refernciadoprimefaces)
EXADEL.JavaServerFacesHTMLTags Reference.2013.http://exadel.com/web/portal/jsftagsguideUNIVERSIDADEJAVA.IntroduoaoJavaServerFaces2.0.http://www.universidadejava.com.br/docs/introducaoaojavaserverfaces20
2014 Todososdireitosreservados.UsoexclusivonoSistemadeEnsinoPresencialConectado.