Java Server Faces 2.0 Breve introdução prá0ca

Tamanho: px
Começar a partir da página:

Download "Java Server Faces 2.0 Breve introdução prá0ca"

Transcrição

1 16/02/2012 Java Server Faces 2.0 Breve introdução prá0ca Helder da Rocha

2 Obje0vos deste tutorial Introdução ao JSF 2 O que é, quando usar, como usar, para que serve, benegcios, perfil de usuários Introdução prá0ca Configuração do ambiente Criação e execução de uma aplicação simples Breve visão geral da API e arquitetura APIs básica, componentes padrão e tags Arquitetura de aplicações JSF: ciclo de vida, 0pos de requisições e respostas, fases do processamento Conversores, validadores, listeners, suporte a ajax Bibliotecas de componentes (ex: PrimeFaces) e JSR299 (CDI)

3 O que é Java Server Faces Um framework de interface do usuário (UI) para aplicações Web em Java Arquitetura baseada em árvore de componentes com estado e comportamento mapeados a tags Facilita a criação de GUIs em HTML e o controle de ciclos de vida, estado e eventos em objetos Java Arquitetura que promove a separação de camadas com baxíssimo acoplamento Facilita testes, desenvolvimento, manutenção, evolução Tecnologia baseada em padrões e independente de ferramentas Permite tanto o desenvolvimento via ferramentas integradas, mas também sem essas ferramentas

4 Caracterís0cas Transparência no gerenciamento do estado nas requisições Encapsulamento de diferenças entre browsers Suporte a processamento mulc- página de formulários Plataforma extensível (através de bibliotecas de componentes criadas por terceiros) Suporte na0vo e extensível a validação, eventos e conversão de 0pos (String ß à Objeto) Controle declara0vo e condicional de navegação

5 A quem se des0na a especificação? Autores de página Programadores Web que poderão construir páginas em HTML usando tags, facelets, bibliotecas de terceiros Autores de componentes Programadores Java que poderão construir os componentes que serão mapeados a tags, ou que irão suportar páginas e aplicações Desenvolvedores de aplicação Programadores Java EE que irão u0lizar o JSF como interface para serviços e aplicações Fornecedores de ferramentas e implementadores JSF Usam a especificação para construir ferramentas e containers/ servidores que irão suportar aplicações JSF

6 Uso `pico: papéis de desenvolvimento Autor de página Constrói views em XHTML, imagens, CSS, etc Declara namespaces para bibliotecas de tags e widgets Autor de componentes Cria conversores, managed beans, event handlers; Eventualmente escreve componentes novos. Desenvolvedores de aplicação Configuram a integração de aplicações JSF com dados e serviços (EJBs, JPA, MDB, Web- Services)

7 Criação de aplicações simples Obje0vos Configurar os ambientes de desenvolvimento e de execução Familiarizar- se com a sintaxe e estrutura de aplicações JSF e processo de desenvolvimento Aplicações de exemplo 1. Aplicação mínima (apenas uma tela com facelets) 2. Aplicação mínima com managed bean 3. Aplicação simples usando bean, navegação, componentes de formulário e resources 4. Aplicação mínima usando CDI (JSR 299)

8 O que é preciso Versão mínima: JSF 2.0, JDK 6 ou superior Dependências (JARs necessários) JARs do API JSF, da implementação JSF e JSTL O JAR da implementação de referência (Mojarra) já inclui todos os arquivos necessários; baixar em javaserverfaces.java.net PrimeFaces 3.0 ( - opcional) Ambiente de execução Tomcat 7 ou servidor de aplicações com suporte a Java EE 6; baixar em tomcat.apache.org Ambiente de desenvolvimento Usaremos o mínimo: editor de texto (EditPad, TextWrangler, etc.), acesso ao prompt da linha de comando e Apache Ant; baixar o Ant em ant.apache.org.

9 jsnasico Contém estrutura do WAR (contexto Web) Pasta classes será criada durante o build Diagrama do ambiente de desenvolvimento web WEB- INF lib javax.faces- 2.x.jar resources css src myapp build.xml build.proper0es Ant build script do projeto Pasta raiz do projeto (use dentro de uma pasta de workspace) Pasta dist contendo WAR será criada durante o build myapp.css intro.xhtml IntroBean.java Contém código- fonte Java que será compilado para WEB- INF/classes

10 Desenvolvimento com JSF Bibliotecas de tags XHTML JSF Linguagem de expressões API Java javax.faces.* Componentes UI Usadas para escrever à Usada para escrever à Páginas XHTML Tags ß Mapeados a à Usadas em Expressões Transferem dados de/para Estrutura, comportamento e apresentação da interface do usuário Configuração faces- config.xml Usada para escrever à Managed beans Event handlers Conversores Validadores Dados, controle de navegação e integração com serviços

11 Página web mínima <!DOCTYPE html PUBLIC "- //W3C//DTD XHTML 1.0 Transi0onal//EN" "hwp:// transi0onal.dtd"> <html xmlns="hwp:// xmlns:h="htp://java.sun.com/jsf/html"> <h:head> <0tle>Introducao a JSF</0tle> </h:head> <h:body> <h:outputtext value="esta funcionando!"/> </h:body> </html> Mapeamento XML do namespace da biblioteca padrão XHTML a tags sem prefixo (tags sem prefixo são XHTML) Tags XHTML Facelets: tags mapeados a componentes HTML nacvos do JSF Mapeamento XML de namespace de biblioteca de tags JSF HTML a prefixo padrão (tags com prefixo h fazem parte desta biblioteca)

12 Arquitetura: aplicação mínima <!DOCTYPE html PUBLIC "- //W3C//DTD XHTML 1.0 Transi0onal//EN" "hwp:// transi0onal.dtd"> basicapp.war WEB- INF web.xml faces- config.xml lib javax.faces- 2.x.jar <html xmlns="hwp:// xmlns:h="hwp://java.sun.com/jsf/html" xmlns:f="hwp://java.sun.com/jsf/core" xmlns:ui="hwp://java.sun.com/jsf/facelets"> <h:head> <Ctle>Introducao a JSF</Ctle> </h:head> <h:body> <h:outputtext value="esta funcionando!"/> </h:body> </html> Facelets intro.xhtml intro.xhtml web.xml é opcional em aplicações simples como esta faces- config.xml é opcional em muitas aplicações `picas <!DOCTYPE html PUBLIC "- //W3C//DTD XHTML 1.0 Transi0onal//EN" "hwp:// transi0onal.dtd"> <html xmlns="htp:// <head> <Ctle>Introducao a JSF</Ctle> </head> <body>esta funcionando!</body> HTML gerado </html> htp://localhost:8080/basicapp/intro.faces

13 <project name="jsf Basico" default="compile"> <property file="build.properces" /> <property name="web.dir" value="web" /> <property name="webinf.dir" value="${web.dir}/web- INF" /> <property name="classes.dir" value="${webinf.dir}/classes" /> <property name="src.dir" value="src" /> <property name="lib.dir" value="${webinf.dir}/lib" /> <property name="dist.dir" value="dist" /> <property name="war.file" value="${dist.dir}/${app.name}.war" /> <target name="init"> <mkdir dir="${classes.dir}" /> <mkdir dir="${dist.dir}" /> </target> Ant: build.xml e build.proper0es app.name=basicapp <target name="clean"> <delete dir="${classes.dir}" /> <delete dir="${dist.dir}" /> </target> <target name="compile" depends="init"> <javac destdir="${classes.dir} srcdir="${src.dir}"> <classpath> <fileset dir="${lib.dir}" includes="**/*.jar" /> </classpath> </javac> </target> <target name="war" depends="compile"> <jar des~ile="${war.file}"> <fileset dir="${web.dir}" /> </jar> </target> </project> build.xml build.properces Executar ant na pasta raiz do projeto Compilar conteúdo de src para a pasta WEB- INF/classes ant ou ant compile Reinciar ambiente (apagar pastas classes e dist) e recompilar ant clean compile Construir WAR e gravar em dist/ basicapp.war ant war

14 Opcional: web.xml Um web.xml com a configuração default já é fornecido no JAR da implementação de referência (Mojarra 2.x) Não é preciso criar um a menos que se deseje configurar o ambiente (adicionando listeners e outros recursos) Se criado, web.xml deve ter a configuração mínima abaixo <?xml version='1.0' encoding='utf- 8'?> <web- app version="2.5" 2.5 ou superior! xmlns="hwp://java.sun.com/xml/ns/javaee" xmlns:xsi="hwp:// instance" xsi:schemaloca0on="hwp://java.sun.com/xml/ns/javaee hwp://java.sun.com/xml/ns/javaee/web- app_2_5.xsd"> <servlet> <servlet- name>faces Servlet</servlet- name> <servlet- class>javax.faces.webapp.facesservlet</servlet- class> </servlet> <servlet- mapping> <servlet- name>faces Servlet</servlet- name> <url- pawern>*.faces</url- pawern> </servlet- mapping> </web- app> Deve ser colocado na raiz da pasta WEB- INF/

15 Opcional faces- config.xml O faces- config.xml é usado para configurar mapeamentos de componentes, navegação, conversores, validadores, beans e outros recursos do JSF Tudo isto pode ser feito via comportamento default e anotações Às vezes é mais prá0co, legível e eficiente fazer via XML (quando se usa ferramentas gráficas que geram XML, por exemplo) A configuração faces- config.xml tem precedência e sobrepõe a configuração via anotações Se usado, deve ter a seguinte configuração mínima <?xml version="1.0"?> Deve ser colocado na raiz da pasta WEB- INF/ <faces- config xmlns="hwp://java.sun.com/xml/ns/javaee" xmlns:xsi="hwp:// instance" xsi:schemaloca0on="hwp://java.sun.com/xml/ns/javaee hwp://java.sun.com/xml/ns/javaee/web- facesconfig_2_0.xsd" version="2.0"> </faces- config> 2.0 ou superior!

16 Implantação (deploy) e execução Inicie o Tomcat $TOMCAT_HOME/bin/startup.sh Implantação (via hot- deployment pode também ser via Manager) Com o Tomcat executando, copie dist/basicapp.war para pasta $TOMCAT_HOME/webapps/ do Tomcat Espere Tomcat criar automa0camente uma pasta basicapp/ dentro de sua pasta webapps/ Execução Acesse htp://localhost:8080/basicapp/intro.faces Se houver erros, corrija- os e faça redeploy (remova WAR e diretório gerado em webapps/ e copie o novo WAR para webapps/)

17 WEB- INF web.xml lib javax.faces- 2.x.jar classes myapp IntroBean.class Arquitetura: aplicação mínima com managed bean basicapp.war faces- config.xml <!DOCTYPE html PUBLIC "- //W3C//DTD XHTML 1.0 Transi0onal//EN" "hwp:// transi0onal.dtd"> <html xmlns="hwp:// xmlns:h="hwp://java.sun.com/jsf/html" xmlns:f="hwp://java.sun.com/jsf/core" xmlns:ui="hwp://java.sun.com/jsf/facelets"> <h:head> <Ctle>Introducao a JSF</Ctle> </h:head> <h:body> <p>#{introbean.mensagem}</p> </h:body> </html> intro.xhtml Facelets package myapp; import public class IntroBean { public String getmensagem() { return "Hello! ; } } Java IntroBean.java intro.xhtml <!DOCTYPE html PUBLIC "- //W3C//DTD XHTML 1.0 Transi0onal//EN" "hwp:// transi0onal.dtd"> <html xmlns="hwp:// <0tle>Introducao a JSF</0tle></head><body> <p>hello!</p> HTML gerado </body> </html> htp://localhost:8080/basicapp/intro.faces

18 Com managed bean <!DOCTYPE html PUBLIC "- //W3C//DTD XHTML 1.0 Transi0onal//EN" "hwp:// transi0onal.dtd"> <html xmlns="hwp:// xmlns:h="htp://java.sun.com/jsf/html"> <h:head> <0tle>Introducao a JSF</0tle> </h:head> <h:body> <p>#{introbean.mensagem}</p> </h:body> (name="introbean") public class NomeDoBean { } Expressão EL IdenCficador (nome) do bean é derivado do nome da classe se não for declarado atributo name ou em faces- config.xml package myapp; import public class IntroBean { public String getmensagem() { return "Hello! ; } } Propriedades de leitura são derivadas de métodos geter iniciados em get ou is Propriedades de gravação são derivadas de métodos seter iniciados em set Derivação de nomes de beans e propriedades usados em EL segue regras de JavaBeans

19 Expression language Usada para comunicação entre componente e página Ler ou gravar propriedades do bean Transformar dados, executar expressões, usar resultados Executar métodos no bean ou componente Geralmente usada em atributos Atributos definem como resultados da expressão serão usados (leitura, leitura- gravação, métodos) Expressões de leitura podem ser usadas diretamente na página Exemplos #{iden0ficadordobean.propriedade} #{iden0ficadordobean.metodo} #{iden0ficadordobean.prop1.prop2.prop3} #{iden0ficadordobean.colecao[5].value + 20}

20 Navegação Alguns tags recebem métodos que retornam idencficadores de navegação Ex: tags de submissão de formulários e links que causam eventos de ação (ac0on events) Métodos de ação devolvem iden0ficadores de navegação na forma de strings Iden0ficadores retornados podem ser mapeados a nomes de páginas no faces- config.xml Na ausência de mapeamentos explícitos, o string retornado é interpretado como nome de uma página *.xhtml <h:form> <h:commandbuwon ac0on="#{bean.processarresposta}" /> </h:form> public String processarresposta() { // processar resposta if (erro) { return "erro"; } return "sucesso"; } erro.xhtml sucesso.xhtml

21 Exemplo com mapeamento implícito Jogo de cara e coroa Três páginas: play.xhtml, heads.xhtml, tails.xhtml Managed bean: coinbean (coinsgame.coinbean) Método de ação (coinflip) gera número aleatório e retorna String com nome da página a exibir package coinsgame; import public class CoinBean { public String coinflip() { int side = (int)(math.random() * 2); if (side == 0) return "heads"; return "tails"; } } Crie páginas heads.xhtml e tails.xhtml <!DOCTYPE > <html xmlns="hwp:// xmlns:h="hwp://java.sun.com/jsf/html"> <h:head><0tle>coin Game</0tle></h:head> <h:body> <h:form> <h:commandbuwon value="flip a coin!" ac0on="#{coinbean.coinflip}"/> </h:form> </h:body> </html>

22 Aplicação mínima com resources WEB- INF lib web.xml faces- config.xml javax.faces- 2.x.jar classes myapp IntroBean.class basicapp.war META- INF resources i18n.proper0es resources css myapp.css Resources no classpath carregados pelo ClassLoader (em classes Java) Resources da aplicação Web carregados através de Faces Requests * <h:outputstylesheet library="css" name= myapp.css"/> intro.xhtml * Esta é a forma recomendada de carregar CSS other.css Arquivo carregado através de Non- Faces Requests <link rel="stylesheet" type="text/css" href="other.css />

23 Resources Arquivos que não são processados durante a requisição Imagens, scripts JavaScript, CSS, etc. Se referenciados em tags XHTML, devem ser colocados em local relacvo ao contexto Web Arquivo CSS: <link rel="stylesheet" name= resources/css/default.css"/> Imagem JPG <img src =resources/images/badfish.jpg"/> Se referenciados em tags JSF, devem ser colocados em pasta resources dentro do contexto Web Arquivo CSS: <h:outputstylesheet library="css" name="default.css"/> Imagem JPG <h:graphicimage library="images" name="badfish.jpg"/>

24 Principais APIs do JSF javax.faces javax.faces.applica0on javax.faces.bean javax.faces.component javax.faces.context javax.faces.convert javax.faces.lifecycle javax.faces.event javax.faces.render javax.faces.validator javax.faces.webapp Anotações para managed etc.) Componentes gráficos (hierarquia de UIComponent) e componentes renderizáveis (subpacote html.*) API para acesso ao estado da requisição (via FacesContext) API para conversores de dados (interface Converter) API para eventos (FacesEvent, FacesListener) API para renderização gráfica (RenderKit) API para validação

25 javax.faces.component e javax.faces.component.html Pacote component contém hierarquia fundamental de componentes UI Pacote component.html contém componentes associados a renderer HTML que são mapeados aos tags da biblioteca padrão HTML Componente UI javax.faces.component.uiform Tipo javax.faces.form javax.faces.component.html.htmlform Tag <h:form> Componente HTML

26 FIGURE 4-1 The javax.faces.component package Árvore de componentes padrão do JSF Fonte: especificação JSF 2, capítulo 4

27 Arquitetura JSF: requisições Uma aplicação pode ter combinações de Requisições e respostas JSF (Faces Requests e Responses) Requisições e respostas não- JSF Faces Requests e Faces Responses são interceptadas pelo Faces run0me e tratadas de forma diferenciada Faces RunCme processa dois 0pos de Faces requests: Faces Resource Request (para transferir imagens, CSS, etc.) Faces Request (para processar uma página JSF) Cliente Faces Request Faces Response Faces Resource Request Faces Resource Response Non- Faces Request Non- Faces Response Faces RunCme Outro Endpoint Ciclo de vida Execute & Render GET index.faces Processar req e devolver bytes GET img.jpg GET img.jpg Fonte: especificação JSF 2

28 Tipos de requisições e respostas Faces Response (FRs) Resposta criada pela execução da fase Render Response Faces Request (FRq) Requsição iniciada a par0r de uma FRs prévia Faces Resource Request (FRRq): um FRq para um resource (imagem, CSS, etc.) Non- Faces Request (NFRq) Requisição não iniciada a par0r de FRs prévia Non- Faces Response (NFRs) Resposta que não passou pelo Faces Run0me, ou Faces Resource Response (FRRs): um NFRs para um resource iniciado por um FRRq Cenários relevantes para JSF 1. NFRq gerando FRs (requisição inicial) 2. FRq gerando FRs (requisição que causa ciclo execute & render) 3. FRq (FRRq) gerando NFRs (FRRs)

29 Dois 0pos de Faces requests Processar Faces Resource Request É Faces Resource Request? Não Sim Localizar resource Processar Faces Request: Ciclo execute and render Enviar bytes

30 Execute Ciclo de vida: execute & render Faces request Faces response Restaurar view Renderizar resposta Aplicar valores da requisição Precisa validar Processar eventos Render Processar validações Precisa converter Processar eventos Erros de validação ou resposta Atualizar valores do modelo Precisa executar aplicação Processar eventos Erros de conversão ou resposta Executar aplicação Processar eventos Leia descrição detalhada de cada fase na especificação JSF 2, capítulo 2

31 Conversores São objetos que realizam a conversão entre dados em uma view (formato String) para um 0po de dados usado em propriedade do managed bean (int, Date, objetos, etc.) Conversores encapsulam a lógica necessária para converter um dado, e podem ser usados, reusados e configurados via facelets (tags e atributos) Há vários conversores prontos. Exemplo: <h:inputtext converter="javax.faces.convert.integerconverter" />, ou <h:inputtext... />! <f:converter converterid="integer" />! </h:inputtext>! Pode- se escrever novos conversores (objeto anotado que implementa javax.faces.convert.converter) e usar os mesmos atributos ou tags para configurá- los Muitas vezes não é necessário configurar um conversor (se a conversão default resolver). Ex: idade é int no managed bean <h:inputtext value= #{bean.idade}" />!

32 Listeners Listeners são objetos usados para tratar eventos São chamados através de nocficações Podem ser uma classe específica que implementa uma interface ou método implementado no managed bean Há duas interfaces AcConListener para eventos de ação, registrados por <f:acconlistener > ValueChangeListener para eventos de mudança de valor (que não causam a submissão do formulário), registrados por <f:valuechangelistener > Pode- se escrever o handler no próprio bean Componentes de ação podem associar um método ao atributo accon, que é implementado no próprio bean PhaseListeners podem ser criados para interceptar eventos nas diferentes fases de uma requisição/resposta JSF

33 Validadores JSF oferece várias alterna0vas para validação, que são realizadas em uma ordem pré- determinada Checagem de campos vazios em componentes (falha, se for campo required e vazio) Conversão de 0pos (falha se conversão não puder ser realizada) Validação explícita, se houver Erros de validação geram mensagens que podem ser apresentadas via facelets (<h:message> e <h:messages>) e/ou atributos (requiredmessage) Validação explícita pode Via facelets existentes: <f:validatelength>, <f:validateregex>, etc. Ou usando <f:validator> para registrar validadores customizados (anotados implementando javax.faces.validator.validator) Também pode- se usar a API Bean ValidaCon.

34 Ajax JSF 2.0 inclui bibliotecas JavaScript que possibilitam o uso transparente de Ajax Qualquer componente pode receber a tag <f:ajax /> e sua ação default ganha comportamento assíncrono: <h:inputtext value="#{bean.message}">! <f:ajax render= tabela1 />! </h:inputtext>! O atributo render informa qual componente vai processar e exibir a resposta Há vários outros atributos que permitem determinar qual evento dispara a ação, uma lista de componentes a serem nocficados, listeners, funções JavaScript e outros mecanismos para controle da requisição e resposta

35 Templa0ng TemplaCng permite que segmentar uma view e processá- la em separado Uma view que age como template define uma estrutura de página e carrega views auxiliares para compor a página Cabeçalhos, rodapés, etc. podem ser repe0dos em várias páginas e seu processamento pode ser o0mizado (cache) Promove o reuso! Template: /templates/basico.xhtml <h:body>conteúdo compar0lhado <h2><ui:insert name= Ctulo">Título default</ui:insert></h2> Conteúdo compar0lhado <ui:insert name= conteudo">conteúdo default</ui:insert> </h:body>... Página que usa o template: arquivo1.xhtml <ui:composi0on xmlns=.. template="/templates/basico.xhtml"> <ui:define name= Ctulo">Texto de arquivo1</ui:define> <ui:define name= conteudo >Conteúdo de arquivo1</ui:define> </ui:composi0on> Resultado ao chamar /arquivo1.faces <body>conteúdo compar0lhado <h2>texto de arquivo1</h2> Conteúdo compar0lhado Conteúdo de arquivo1 </body>...

36 Bibliotecas de componentes Os componentes do JSF focam em funcionalidade Implementações (Mojarra, Apache, etc.) fornecem apenas componentes padrão Skins, componentes extensíveis, pré- configurados, compostos, etc. devem ser fornecidos por uma biblioteca de componentes As mais populares bibliotecas de componentes que suportam o JSF 2.0 são: RichFaces ICEFaces PrimeFaces

37 PrimeFaces 3.0 Uma das mais populares bibliotecas de componentes para o JSF Subs0tui componentes JSF 2.0 (também podem ser usados juntos) Conecta widgets de várias bibliotecas populares (YUI, JQuery, Google, etc.) Suporte integrado a Ajax e WebSockets

38 Como usar Baixe e inclua no projeto (WEB- INF/lib) e depois declare em cada view que usar os componentes, o namespace: xmlns:p="hwp://primefaces.org/ui Alguns exemplos <p:ajax> (sempre use este em vez de f:ajax quando usar componentes PrimeFaces) <p:commandbuwon> e <p:commandlink> <p:datatable> e <p:column> <p:message> e <p:messages> <p:outputlabel> <p:panelgrid> <p:fieldset> <p:inputtext>, <p:inputtextarea>, <p:password> <p:selectonemenu>, etc. Também permite configuração de look & feel através de temas e CSS Mais em

39 CDI (JSR 299) Se o seu ambiente 0ver suporte a CDI (Contexts and Dependendy Injec0on), você deve usá- lo para registrar os beans CDI é um mecanismo universal que será usado para registrar componentes gerenciados em qualquer 0po de aplicação Java EE Inclua um arquivo beans.xml padrão (use o IDE) no WEB- INF Registre os beans (no lugar e use escopos de javax.enterprise.context (em vez de escopos JSF) CDI será parte integrante do Java EE 7, no futuro será deprecated. Se seu ambiente não 0ver suporte a CDI (ex: Tomcat 7) você pode normalmente como foi mostrado neste tutorial Acrescentar uma implementação de CDI e registrá- la no web.xml

40 Managed bean com CDI No Tomcat 7 Inclua beans.xml no WEB- INF <beans xmlns="hwp://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="hwp:// instance" xsi:schemaloca0on="hwp://xmlns.jcp.org/xml/ns/javaee hwp://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" bean- discovery- mode="annotated"> </beans> beans.xml web.xml <?xml version='1.0' encoding='utf- 8'?> <web- app version="2.5" > Verifique se está importando os pacotes corretos package myapp; import javax.inject.named; public class IntroBean { public String getmensagem() { return "Hello! ; } } intro.xhtml <servlet> </servlet> <servlet- mapping> </servlet- mapping> <listener> <listener- class> org.jboss.weld.environment.servlet.listener </listener- class> </listener> </web- app> introbean ) para registrar o bean com o id introbean Inclua o JAR do Weld: a implementação de referência do CDI e registre o listener (isto pode não ser necessário se você es0ver usando um ambiente que tenha suporte na0vo a CDI)

41 Tomcat 7 WEB- INF web.xml lib Aplicação com managed bean e CDI javax.faces- 2.x.jar classes myapp IntroBean.class intro.xhtml basicapp.war faces- config.xml beans.xml weld- servlet.jar <!DOCTYPE html PUBLIC "- //W3C//DTD XHTML 1.0 Transi0onal//EN" "hwp:// transi0onal.dtd"> <html xmlns="hwp:// xmlns:h="hwp://java.sun.com/jsf/html" xmlns:f="hwp://java.sun.com/jsf/core" xmlns:ui="hwp://java.sun.com/jsf/facelets"> <h:head> <Ctle>Introducao a JSF</Ctle> </h:head> <h:body> <p>#{introbean.mensagem}</p> </h:body> </html> intro.xhtml Facelets package myapp; import public class IntroBean { public String getmensagem() { return "Hello! ; } } Java IntroBean.java <!DOCTYPE html PUBLIC "- //W3C//DTD XHTML 1.0 Transi0onal//EN" "hwp:// transi0onal.dtd"> <html xmlns="hwp:// <0tle>Introducao a JSF</0tle></head><body> <p>hello!</p> HTML gerado </body> </html> htp://localhost:8080/basicapp/intro.faces

42 Resumo Este tutorial apresentou uma breve introdução ao JSF e os principais componentes da sua arquitetura Demonstração: configuração do ambiente, criação de views e beans, deployment, execução Facelets, managed beans, expression language Arquitetura de componentes Navegação Ciclo de vida Conversores, listeners, validadores Uso de bibliotecas de componentes (PrimeFaces) Integração com CDI (JSR 299)

43 Referências 1. Ed Burns, Roger Kitain. JavaServer Faces SpecificaCon. Version 2.0. Sun Microsystems Emmanuel Bernard. JSR 303: Bean ValidaCon. Version 1.0. Red Hat, Gavin King. JSR- 299: Contexts and Dependency InjecCon for the Java EE Plaxorm. Red Hat Eric Jendrock et al. The Java EE 6 Tutorial hwp://docs.oracle.com/javaee/6/tutorial/doc/ 5. Mojarra. Mojarra DocumentaCon hwps://javaserverfaces.java.net/docs/2.1/ 6. JBoss. Weld JBoss.org documentacon. hwp://docs.jboss.org/weld 7. PrimeFaces. Manual do PrimeFaces. hwp://primefaces.org/documenta0on.html 8. David Geary & Cay Horstmann. Core JavaServer Faces 2.0. Pren0ce- Hall, Marty Hall. JSF 2.0 Tutorial Series. hwp:// Tutorial/jsf2/ 10. Marty Hall. PrimeFaces Tutorial Series. hwp:// Tutorial/primefaces/ 11. M. Kyong. JSF 2.0 Tutorials. hwp:// tutorials/ Atualizado em Janeiro/2013

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

Introdução. <facelets> Templates. Configurações. Componentes. Prof. Enzo Seraphim

Introdução. <facelets> Templates. Configurações. Componentes. Prof. Enzo Seraphim Introdução Templates Configurações Componentes Prof. Enzo Seraphim Definição Linguagem de descrição de páginas (PDL Page Description Language) criada para JSF. Estabelece templates que suportam

Leia mais

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade

Leia mais

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Software cliente: browser e outros Protocolo HTTP Infraestrutura de transporte

Leia mais

JavaServer Faces (JSF) Leonardo Murta (leomurta@ic.uff.br)

JavaServer Faces (JSF) Leonardo Murta (leomurta@ic.uff.br) JavaServer Faces (JSF) Leonardo Murta (leomurta@ic.uff.br) Especificação/IDE/Implementação Esse curso foi preparado em 03/2015 usando a seguinte especificação, IDE e implementação Especificação JavaServer

Leia mais

Orientada a serviços: JAX-WS SOAP API

Orientada a serviços: JAX-WS SOAP API Orientadaa apresentação: uma aplicação webde apresentação orientada gera páginas webinterativascom vários tipos de linguagem de marcação (HTML, XML, e assim por diante) e conteúdo dinâmico em resposta

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

WEBDESIGN. Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira

WEBDESIGN. Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira WEBDESIGN Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira 1 CDI - Curso de Webdesign - Prof. Paulo Trentin Objetivos para esta aula Debater sobre

Leia mais

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 6 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM MARÇO / 2015 2 de 6 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

J820. Testes de interface Web com. HttpUnit. argonavis.com.br. Helder da Rocha (helder@acm.org)

J820. Testes de interface Web com. HttpUnit. argonavis.com.br. Helder da Rocha (helder@acm.org) J820 Testes de interface Web com HttpUnit Helder da Rocha (helder@acm.org) O que é HttpUnit API Java para comunicação com servidores HTTP Permite que programas construam e enviem requisições, e depois

Leia mais

J550 Tag Libraries e JSTL

J550 Tag Libraries e JSTL J550 Tag Libraries e JSTL Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Custom tags JSP com JavaBeans fornecem um meio de diminuir código Java da página, mas não totalmente Designers de página

Leia mais

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Por quê JSP? Com Servlets é fácil Ler dados de um formulário Recuperar dados de uma requisição Gerar informação de resposta Fazer gerenciamento

Leia mais

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

MÓDULO Programação para Web 2

MÓDULO Programação para Web 2 MÓDULO Programação para Web 2 USANDO O JSF Continuação Interdependência e Injeção Instâncias de Managed Beans podem conversar entre si para dividir o processamento das requisições dos usuários de acordo

Leia mais

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha Desenvolvimento WEB II Professora: Kelly de Paula Cunha O Java EE (Java Enterprise Edition): série de especificações detalhadas, dando uma receita de como deve ser implementado um software que utiliza

Leia mais

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets Programação Web Professor: Diego Oliveira Conteúdo 02: JSP e Servlets JSP JSP é um template de uma página Web que usa Java para gerar HTML dinamicamente JSP é considerado server-side e roda em um objeto

Leia mais

Java Server Faces 2.0 Rich Faces 4.0

Java Server Faces 2.0 Rich Faces 4.0 DEPARTAMENTO DE INFORMÁTICA - DI Java Server Faces 2.0 Rich Faces 4.0 Quais as novidades e alterações nas novas versões das tecnologias? Pablo Bruno de Moura Nóbrega Analista de Sistemas pablo.nobrega@uece.br

Leia mais

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul JSF e PrimeFaces Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Introdução Desenvolvimento Web Java Server Faces Exercício 2 Introdução Ao longo dos anos diversas linguagens de programação foram

Leia mais

O nome ANT é uma sigla para another neat tool (mais uma ferramenta organizada), segundo seu autor James Duncan Davidson.

O nome ANT é uma sigla para another neat tool (mais uma ferramenta organizada), segundo seu autor James Duncan Davidson. 1- Introdução 1.1- Visão Geral O ANT é uma ferramenta destinada a construção (build) de programas JAVA. É semelhante a ferramentas como make, nmake, jam mas com o diferencial de ser multi-plataforma, pois

Leia mais

INTRODUÇÃO À TECNOLOGIA SERVLETS

INTRODUÇÃO À TECNOLOGIA SERVLETS PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores

Leia mais

DWR DIRECTED WEB REMOTING

DWR DIRECTED WEB REMOTING DWR DIRECTED WEB REMOTING Vamos ver nesse artigo um pouco sobre o Frameworks Ajax para Java, o DWR. Vamos ver seus conceitos, utilidades, vantagens, algumas práticas e fazer o passo a passo para baixar,

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

Leia mais

Aula 03 - Projeto Java Web

Aula 03 - Projeto Java Web Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Parte I. Demoiselle Mail

Parte I. Demoiselle Mail Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework

Leia mais

Prática Sobre Servlets e JSP

Prática Sobre Servlets e JSP Prática Sobre Servlets e JSP 1. Localize a pasta do Tomcat (TOMCAT_HOME); 2. Acesse a pasta bin e execute tomcat5w.exe; 3. Abra o Navegador e acesse http://localhost:8080 (A apresentação de uma página

Leia mais

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux gustavo@4linux.com.br

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux gustavo@4linux.com.br Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces Gustavo Lira Consultor 4Linux gustavo@4linux.com.br Especificação para os Portlets Os padrões para Portlets Java EE são definidos por duas JSRs: 168,

Leia mais

Capítulo 1 - Java EE 6 por alto - 1

Capítulo 1 - Java EE 6 por alto - 1 Capítulo 1 - Java EE 6 por alto - 1 Um pouquinho de história - 2 Padrões - 4 Arquitetura - 4 Componentes - 5 Contentores - 6 Serviços - 7 Protocolos de rede - 9 Empacotamento - 9 Java Standard Edition

Leia mais

JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br

JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br 26/11/2005 JSTL 1 Agenda Histórico e motivação; Servlets e JSP; Introdução e conceituação

Leia mais

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Fundamentos da Plataforma Java EE Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Como a plataforma Java EE trata o SERVIÇO DE NOMES Serviço de Nomes Num sistema distribuído os componentes necessitam

Leia mais

EJB ainda tem vez no Java EE 6? Fernando Lozano Consultor 4Linux lozano@4linux.com.br

EJB ainda tem vez no Java EE 6? Fernando Lozano Consultor 4Linux lozano@4linux.com.br EJB ainda tem vez no Java EE 6? Fernando Lozano Consultor 4Linux lozano@4linux.com.br Você Gosta do EJB? O EJB esteve por muito tempo na berlinda do mundo Java É pesado... É complicado... Código muito

Leia mais

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia mais

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado):

Leia mais

Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007

Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007 Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007 Nível: Intermediário Este tutorial tem como objetivo criar um simples componente que renderiza uma tag label utilizando recursos

Leia mais

Aula 4. Objetivos. Conteúdo dinâmico na internet.

Aula 4. Objetivos. Conteúdo dinâmico na internet. Aula 4 Objetivos Conteúdo dinâmico na internet. Para uma solicitação da Web mais simples, um navegador solicita um documento HTML e o servidor Web encontra o arquivo correspondente e devolve. Se o documento

Leia mais

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCE-557 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side

Leia mais

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada

Leia mais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition) Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) J2EE () Sumário Introdução J2EE () APIs J2EE Web Container: Servlets e JSP Padrão XML 2 J2EE é Uma especificação para servidores

Leia mais

ARQUITETURA DO SISTEMA ERP PEGASUS

ARQUITETURA DO SISTEMA ERP PEGASUS ARQUITETURA DO SISTEMA ERP PEGASUS Elaborado por: Bruno Duarte Nogueira Arquiteto de Software Data: 05/03/2012 1 Sumário 1. Introdução... 3 2. Tecnologias... 3 2.1. Web Tier... 3 2.1.1. Facelets 1.1.14...

Leia mais

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON) Márcio Koch 1 Currículo Formado na FURB em Ciência da Computação Pós graduado em Tecnologias para o desenvolvimento de aplicações web Mestrando em Computação Gráfica na UDESC Arquiteto de software na Senior

Leia mais

Manual de Procedimentos para Desenvolvimento de Softwares

Manual de Procedimentos para Desenvolvimento de Softwares Manual de Procedimentos para Desenvolvimento de Softwares Secretaria Geral de Informática Sin Universidade Federal de São Carlos - UFSCar Versão 2.1 O(s) critério(s) de escolha pelas tecnologias para desenvolvimento

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

JavaServer Faces. Parte 2

JavaServer Faces. Parte 2 JavaServer Faces Parte 2 Recapitulando Aplicações web são aplicações que executam em um servidor Recebem requisições de usuários Retornam respostas ao usuário Browsers só entendem e exibem html O servidor

Leia mais

Acessando um Banco de Dados

Acessando um Banco de Dados Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para

Leia mais

marcio@dsc.ufcg.edu.br priscillakmv@gmail.com

marcio@dsc.ufcg.edu.br priscillakmv@gmail.com DSC/CEEI/UFCG marcio@dsc.ufcg.edu.br priscillakmv@gmail.com 1 Realiza atividades com ênfase em Ensino, Pesquisa e Extensão (Ensino) 2 Configurando o projeto Adicionando código ao arquivo com o código-fonte

Leia mais

Material de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS - www.aas.pro.

Material de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS - www.aas.pro. Material de apoio a aulas de Desenvolvimento Web Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS AAS - www.aas.pro.net Março-2012 Este pequeno tutorial tem como objetivo conduzir o programador passo-a-passo

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc. http://about.

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc. http://about. PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução Compatibilidade Principais características

Leia mais

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux gustavo@4linux.com.br

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux gustavo@4linux.com.br Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces Gustavo Lira Consultor 4Linux gustavo@4linux.com.br Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces O que será apresentado é uma continuação

Leia mais

Java para WEB. Servlets

Java para WEB. Servlets Servlets Servlets são classes Java que são instanciadas e executadas em associação com servidores Web, atendendo requisições realizadas por meio do protocolo HTTP. Servlets é a segunda forma que veremos

Leia mais

Minha primeira aplicação utilizando Java Server Faces + Glassfish

Minha primeira aplicação utilizando Java Server Faces + Glassfish Minha primeira aplicação utilizando Java Server Faces + Glassfish Este tutorial apresenta de forma simples, como iniciar no desenvolvimento com o framework Java Server faces 1.2, utilizando-se o servidor

Leia mais

Sistemas para internet e software livre

Sistemas para internet e software livre Sistemas para internet e software livre Metodologia de modelagem de aplicações WEB Image: FreeDigitalPhotos.net Domínio: Elementos de aplicação WEB Páginas Web Scripts Formulários Applets e ActiveX Motivação

Leia mais

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. ANEXO 11 O MATRIZ Para o desenvolvimento de sites, objeto deste edital, a empresa contratada obrigatoriamente utilizará o framework MATRIZ desenvolvido pela PROCERGS e disponibilizado no início do trabalho.

Leia mais

Java 2 Enterprise Edition Componentes Web J2EE

Java 2 Enterprise Edition Componentes Web J2EE Java 2 Enterprise Edition Componentes Web J2EE Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Sobre este módulo Neste módulo conheceremos uma nova maneira de fazer deployment: arquivos WAR Com

Leia mais

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Arquiteturas de Aplicações Web Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aplicações Convencionais vs. Web Aplicações convencionais Escritas usando uma linguagem de programação (ex.: Java) Sites de

Leia mais

Programação Web Aula 12 - Java Web Software

Programação Web Aula 12 - Java Web Software Programação Web Aula 12 - Java Web Software Bruno Müller Junior Departamento de Informática UFPR 25 de Maio de 2015 1 Java 2 Java Web Software 3 Servlets Modelo de Trabalho Funcionamento API Java Código

Leia mais

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma

Leia mais

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala Programação para a Internet Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala A plataforma WEB Baseada em HTTP (RFC 2068) Protocolo simples de transferência de arquivos Sem estado

Leia mais

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2 Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2 Objetivo. O objetivo da disciplina é conhecer os princípios da programação de

Leia mais

Java para Desenvolvimento Web

Java para Desenvolvimento Web Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para

Leia mais

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:

Leia mais

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa Minicurso introdutório de desenvolvimento para dispositivos Android Cristiano Costa Desenvolvimento da interface estática Sobre mim Graduando em Engenharia Eletrônica - UNIFEI Trabalhou em desenvolvimento

Leia mais

Anotações e Navegação no JSF 2.0

Anotações e Navegação no JSF 2.0 1/16 Anotações e Navegação no JSF 2.0 Simplifique a navegação e a configuração XML com o JSF 2.0 Aprenda a utilizar anotações e navegações implícita e condicional em suas aplicações JSF 2.0 MARCEL TOKARSKI

Leia mais

Criação de um novo projeto no Eclipse utilizando Maven

Criação de um novo projeto no Eclipse utilizando Maven 1. Faça o download da versão mais atual do Eclipse IDE for Java EE Developers em https://www.eclipse.org/downloads/. 2. No Eclipse, crie um novo projeto Maven, em File >> New >> Maven Project 3. Marque

Leia mais

Web Design. Prof. Felippe

Web Design. Prof. Felippe Web Design Prof. Felippe 2015 Sobre a disciplina Fornecer ao aluno subsídios para o projeto e desenvolvimento de interfaces de sistemas Web eficientes, amigáveis e intuitivas. Conceitos fundamentais sobre

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

Programando em PHP. Conceitos Básicos

Programando em PHP. Conceitos Básicos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Conceitos Básicos Todo o escopo deste estudo estará voltado para a criação de sites com o uso dos diversos recursos de programação web

Leia mais

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS Pablo dos Santos Alves Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação Revisão bibliográfica

Leia mais

JSF2 e AJAX. Desenvolvimento Web com. Construa aplicações Web mais interativas e elegantes

JSF2 e AJAX. Desenvolvimento Web com. Construa aplicações Web mais interativas e elegantes Desenvolvimento Web com JSF2 e AJAX Construa aplicações Web mais interativas e elegantes Wagner Borges (wagner@quebrandoparadigmas.com): é formado em Sistemas de Informação pela FACID e especializado em

Leia mais

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Java Web Arquitetura Aplicações web são basicamente constituídas de: Requisições Respostas Model View Controller (MVC) O que é MVC? Padrão

Leia mais

Além do JSF: Matriz de Campos com Recursos e Práticas Incomuns

Além do JSF: Matriz de Campos com Recursos e Práticas Incomuns Décio Heinzelmann Luckow (decioluckow@gmail.com): é bacharel em Sistemas de Informação pela Univille e pósgraduando em Gestão de Projetos pela Sustentare Escola de Negócios. Já trabalhou com as linguagens

Leia mais

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br WebWork 2 João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 0.5 Última Atualização: Agosto/2005 1 Agenda Introdução WebWork 2 & XWork Actions Views Interceptadores Validação Inversão de Controle (IoC)

Leia mais

Desenvolvimento Web com Framework Demoiselle versão 1.0

Desenvolvimento Web com Framework Demoiselle versão 1.0 Desenvolvimento Web com Framework Demoiselle versão 1.0 Módulo 07: Outros Componentes Autor: Rodrigo Hjort Serpro / Coordenação Estratégica de Tecnologia / Curitiba www.frameworkdemoiselle.org.br Modificado

Leia mais

Scriptlets e Formulários

Scriptlets e Formulários 2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,

Leia mais

Documentação Usando o Javadoc

Documentação Usando o Javadoc Documentação Usando o Javadoc Prof. MSc. João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão 2.1 Última Atualização: 04/2005 1 Comentários e Documentação Comentários em Java Existem três tipos de comentários

Leia mais

Aplicativos para Internet Aula 01

Aplicativos para Internet Aula 01 Aplicativos para Internet Aula 01 Arquitetura cliente/servidor Introdução ao HTML, CSS e JavaScript Prof. Erika Miranda Universidade de Mogi das Cruzes Uso da Internet http://www.ibope.com.br/pt-br/noticias/paginas/world-wide-web-ou-www-completa-22-anos-nesta-terca-feira.aspx

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

NOME DA APRESENTAÇÃO

NOME DA APRESENTAÇÃO 25 DE MAIO @MICROSOFT Novidades de Java EE 7 Ernest Duarte NOME DA APRESENTAÇÃO Nome (Nick no Fórum) About me! Nickname na Comunidade Ernest Duarte Profissão Instrutor em Ciências e Tecnologias Numéricas

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Arquitetura de uma Webapp

Arquitetura de uma Webapp Arquitetura de uma Webapp Arquitetura J2EE Containers e componentes MVC: introdução Frederico Costa Guedes Pereira 2006 fredguedespereira@gmail.com Plataforma J2EE World Wide Web e a Economia da Informação

Leia mais

MÓDULO Programação para Web 2

MÓDULO Programação para Web 2 MÓDULO Programação para Web 2 Sistemas Web na JEE OBJETIVO DO MÓDULO Arquitetura Web em aplicações JEE Conceitos iniciais Desenvolvimento Web Aplicações web tornam-se mais e mais importantes Mais e mais

Leia mais

PROGRAMAÇÃO MANUAL DE INSTRUÇÕES SEJA BEM VINDO VERSÃO 1.4 10/01/2013 UDS SOLUÇÕES DIGITAIS

PROGRAMAÇÃO MANUAL DE INSTRUÇÕES SEJA BEM VINDO VERSÃO 1.4 10/01/2013 UDS SOLUÇÕES DIGITAIS VERSÃO 1.4 10/01/2013 UDS SOLUÇÕES DIGITAIS PROGRAMAÇÃO MANUAL DE INSTRUÇÕES Instruções, métodos e recomendações para desenvolvimento de sistemas na UDS. 1 Sumário Apresentação... 3 Estrutura de pastas:...

Leia mais

Introdução. História. Como funciona

Introdução. História. Como funciona Introdução O HTML é uma linguagem de marcação utilizada para desenvolvimento de sites. Esta linguagem surgiu junto com o HTTP, ambos possibilitaram a internet ser popularizada. História O HTML foi criado

Leia mais

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Criando uma Calculadora Primeiramente deve se criar uma estrutura para armazenar os arquivos necessários para o funcionamento da calculadora.

Leia mais

Kassius Vargas Prestes

Kassius Vargas Prestes Kassius Vargas Prestes Agenda 1. Introdução Web Services 2. XML, SOAP 3. Apache Tomcat 4. Axis 5. Instalação Tomcat e Axis 6. Criação de um Web Service 7. Criação de um cliente Baixar http://www.inf.ufrgs.br/~kvprestes/webservices/

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS Edi Carlos Siniciato ¹, William Magalhães¹ ¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil edysiniciato@gmail.com,

Leia mais

TUTORIAL SPRING SECURITY PROGRAMAÇÃO COM FRAMEWORKS Responsáveis: Ana Luíza Cruvinel, Maikon Franczak e Wendel Borges

TUTORIAL SPRING SECURITY PROGRAMAÇÃO COM FRAMEWORKS Responsáveis: Ana Luíza Cruvinel, Maikon Franczak e Wendel Borges Versão 1.0 TUTORIAL SPRING SECURITY PROGRAMAÇÃO COM FRAMEWORKS Responsáveis: Ana Luíza Cruvinel, Maikon Franczak e Wendel Borges Data: 01/12/2014 SUMÁRIO 1. INTRODUÇÃO... 2 2. O QUE É SPRING SECURITY?...

Leia mais

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Servlets Servlet Aplicação Java que é executada no servidor que estende a capacidade do servidor Web Alternativa Java para os scripts CGI Gerenciado

Leia mais

Java para WEB JSTL. JavaServer Pages Standard Tag Library

Java para WEB JSTL. JavaServer Pages Standard Tag Library JSTL JSTL JavaServer Pages Standard Tag Library API que encapsulou em tags simples toda a funcionalidade que diversas páginas Web precisam, como controle de laços (fors), controle de fluxo do tipo if else,

Leia mais

O que é o JavaScript?

O que é o JavaScript? JavaScript Introdução O JavaScript é utilizado por milhões de páginas na web para melhorar o design, validar forms, e muito mais O JavaScript foi inicialmente desenvolvido pela Netscape e é a linguagem

Leia mais

Introdução ao Android

Introdução ao Android Introdução ao Android André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida Parte 1 Conhecendo o Sistema e Primeiro Programa Roteiro Pré-requisitos Conceitos Básicos Configurando o Ambiente

Leia mais

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Programação Web Prof. Wladimir

Programação Web Prof. Wladimir Programação Web Prof. Wladimir Linguagem de Script e PHP @wre2008 1 Sumário Introdução; PHP: Introdução. Enviando dados para o servidor HTTP; PHP: Instalação; Formato básico de um programa PHP; Manipulação

Leia mais