JSF e outras tecnologias Java Web - IMES.java
Upcoming SlideShare
Loading in...5
×
 

JSF e outras tecnologias Java Web - IMES.java

on

  • 8,618 views

 

Statistics

Views

Total Views
8,618
Views on SlideShare
7,187
Embed Views
1,431

Actions

Likes
3
Downloads
215
Comments
0

16 Embeds 1,431

http://javawora.blogspot.com 761
http://javawora.blogspot.com.br 419
http://www.javawora.blogspot.com.br 131
http://www.javawora.blogspot.com 50
http://www.infoblogs.com.br 23
http://www.portaljava.com 18
http://www.slideshare.net 10
http://portaljava.com 6
http://javawora.blogspot.pt 3
http://javawora.blogspot.ca 3
http://javawora.blogspot.com.ar 2
http://www.portaljava.com.br:8080 1
http://infoblogs.com.br 1
http://s3.amazonaws.com 1
file:// 1
http://www.linkedin.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

JSF e outras tecnologias Java Web - IMES.java JSF e outras tecnologias Java Web - IMES.java Presentation Transcript

  • JSF e outras tecnologias Web
  • Apresentação
    • Eduardo Bregaida
      • Analista de sistemas Java da Masterdom;
      • Instrutor Java da IT Training;
      • Fundador da FireAnt Software;
      • Fundador do IMES.java;
      • Membro do Java Community Process (JCP);
      • Agente Certificador do projeto JEDI na região do grande ABC;
      • Fundador do Blog Java Anhywhere.
  • JSF e outras tecnologias Web
    • Um pouco de história
      • HTML
      • Servlets
      • JSP
    • Frameworks
      • Action Based
      • Component Based
    • Demonstração
    • Bate-Papo
  • JSF e outras tecnologias Web
    • HTML
      • Estático;
      • Não tem conexão com Base De Dados;
      • Simples.
  • JSF e outras tecnologias Web
    • OlaMundo.html
    <html> <head> <title>Olá Mundo</title> </head> <body> Olá Mundo. </body> </html>
  • JSF e outras tecnologias Web
    • Servlets
      • É uma extensão de servidores;
      • Disponibiliza uma interface para o servidor;
      • Recursos Dinâmicos para web;
      • Interage com os clientes;
      • Necessita de um Servlet Container.
  • JSF e outras tecnologias Web
    • OlaMundoServlet.java
    import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorldServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(&quot;text/html&quot;); PrintWriter out = response.getWriter(); out.println(&quot;<html><body>Olá Mundo</body></html>&quot;); out.close(); } }
  • JSF e outras tecnologias Web
    • Java Server Pages – JSP
      • O JSP foi desenvolvido APENAS para mostrar resultados, o SERVLET deveria fazer a ponte com o banco de dados e fazer as regras de negócio;
      • Facilitar a criação de HTML;
      • Scriplets NOJENTO, colocar código Java no JSP.
  • JSF e outras tecnologias Web
    • OlaMundo.jsp
      • <html>
        • <body>
          • <% String mensagem = &quot;Olá Mundo!&quot;;
          • out.println(mensagem); %>
          • <br>
          • Muito mais simples de editar o html e muito mais complicado de editar o codigo Java<br>
        • </body>
      • </html>
  • JSF e outras tecnologias Web
    • Frameworks
      • Frameworks são projetados com a intenção de facilitar o desenvolvimento de software, habilitando designers e programadores a gastarem mais tempo determinando as exigências do software do que com detalhes de baixo nível do sistema.
  • JSF e outras tecnologias Web
    • Frameworks MVC Action Based
      • Frameworks baseados em ações, respondem a chamada de Actions.
  • JSF e outras tecnologias Web
    • Struts Framework
      • MVC-2 para construções de aplicações WEB;
      • Cada solicitação HTTP tem que ser respondida com uma resposta HTTP;
      • O .do é mapeada no arquivo struts-config.xml;
      • O ActionServlet define o Action correspondente para a solicitação;
      • o ActionServlet coloca a entrada em um JavaBean , estes JavaBeans são definidos como FormBeans;
      • O Action pode acessar o FormBean efetuar qualquer operação e armazenar o resultado em um ResultBean;
      • O Action interage com a camada de negócio onde uma base de dados poderá ser atualizada.
  • JSF e outras tecnologias Web
    • Demonstração Struts Framework
  • JSF e outras tecnologias Web
    • Struts 2
      • Action Based;
      • WebWork engine;
      • Marketing sobre o nome Struts.
    • ?
  • JSF e outras tecnologias Web
    • HelloWorldStruts2.java
    • package br.com.struts2.actions;
    • import com.opensymphony.xwork2.ActionSupport;
    • public class TesteAction extends ActionSupport {
      • private static final long serialVersionUID = 218L;
        • private String message;
        • //getters and setters para Action
      • public String execute() throws Exception {
        • this.showHelloWorld();
        • return SUCCESS;
      • }
      • public void showHelloWorld() throws Exception {
        • String strReturn = &quot;Olá Mundo&quot;;
        • setMessage(strReturn);
      • }
    • }
  • JSF e outras tecnologias Web
    • hello.jsp
    • <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot; ?>
      • <%@ taglib prefix=&quot;s&quot; uri=&quot;/struts-tags&quot; %>
      • <%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=ISO-8859-1&quot; pageEncoding=&quot;ISO-8859-1&quot;%>
      • <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;>
    • <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;>
      • <head>
        • <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=ISO-8859-1&quot; />
        • <title>HelloWorld</title>
      • </head>
      • <body>
        • <h1>HelloWorld</h1>
      • </body>
    • </html>
  • JSF e outras tecnologias Web
    • Existem milhares de outros frameworks Action Based:
      • Mentawai;
      • Vraptor;
      • WebWork;
      • E cada dia surge mais.
  • JSF e outras tecnologias Web
    • Component Based
      • Rápido aprendizado;
      • Baseado em Componentes;
      • Deixa o programador despreocupado com a parte visual;
      • Programação Web como Desktop;
      • Simplicidade;
      • Agilidade.
  • JSF e outras tecnologias Web
    • Frameworks Web Component Based
      • JavaServer Faces
        • RichFaces
        • MyFaces
        • JbossSeam
      • Wicket
  • JSF e outras tecnologias Web
    • JavaServer Faces – JSF
  • JSF e outras tecnologias Web
    • JavaServer Faces – JSF
      • É mais do que um framework, é uma especificação baseada em MVC;
      • Suporte a internacionalização;
      • Facilita criação de telas;
      • Facilita a transferência dos dados entre telas e camadas de negócio através da EL;
      • Produtividade para conversores recebidos do formulário para os tipos nas classes;
      • Flexibilidade para renderização;
      • Criar modelos simples de eventos entre interfaces gráficas e as classes no servidor;
      • Mecanismos produtivos para validação de campos na tela;
      • Facilidade para criação de componentes.
  • JSF e outras tecnologias Web
    • Especificações
      • JSF 1.0 e 1.1 – JSR 127
        • Problemas com renderização
        • ELs diferentes entre JSP e JSF
        • Não portava a tag JSTL <c:forEach>
      • JSF 1.2 – JSR 252
        • Resolveram todos os problemas de incompatibilidade, pois o JSF 1.2 e o JSP 2.1 tiveram muitas uniões e estão dentro do JEE.
      • JSF 2.0 – JSR 314
        • Em desenvolvimento, porém estão planejando deixar bem integrado e intuitivo JSF e JSP para criação de CRUDS.
  • JSF e outras tecnologias Web
    • Managed Beans
      • É uma classe que expões objetos de negócio para camada de apresentação;
      • Registrados no faces-config.xml;
      • Objetos que sofrerão alterações em seus atributos durante uma requisição, assim como seus métodos podem ser chamados a partir de um command;
      • São como as Actions do Struts, porém os form beans são injetados por setters dentro do seu próprio bean;
      • Os ManagedBeans serão usados na EL das páginas.
  • JSF e outras tecnologias Web
    • Expression Language - EL
      • É uma poderosa linguagem de expressão (Linguagem de navegação) para acessar propriedades de beans e coleções;
      • Quando ocorrer uma requisição pelo browser é preenchido dinamicamente os elementos da página pela camada de negócios;
      • Quando ocorre um Submit ocorre a modificação no estado da camada de negócio.
  • JSF e outras tecnologias Web
    • Ciclo de Vida - JSF
  • JSF e outras tecnologias Web
    • Roteiro de Uso
      • Criar um bean que represente o formulário;
      • Usar f:view e h:form para formulários;
      • Especificar o Action Controller com o atributo de ação h:commandButton;
      • Criar um controlador que leia os dados do formulário, chame a lógica de negócio, guarde os resultados em Beans e tenha um retorno;
      • No faces-config é usado para declarar o form bean e as regras de navegação;
      • Criar os JSP ́s responsáveis por cada retorno declarado.
  • JSF e outras tecnologias Web
    • Customizações
      • Facilidade na customização de:
        • Validadores;
        • Conversores;
        • Componentes de Interface;
        • Renderizadores;
        • Mensagens.
  • JSF e outras tecnologias Web
    • Pequenas mudanças no Default
      • Montagem de templates: como Clay (Shale) e Facelets e substituir um pelo outro é questão de uma linha de configuração;
      • A beans factory: podemos usar os beans do Spring ao invés dos managed beans do faces-config.xml;
      • Renderização dos componentes: existem implementações, utilizando por exemplo XUL ou HTML + Ajax.
  • JSF e outras tecnologias Web
    • Implementações
      • Apache
        • MyFaces
        • Tomahawk/ Sandbox/ Tobago/ Trinidad/ Orchestra
    • Red Hat/JBoss
      • RichFaces
      • Ajax4JSF
      • Jboss Seam
    • ICEsoft Technologies Inc.
      • ICEfaces
  • JSF e outras tecnologias Web
    • JSF 2.0
      • Suporte a templates, baseado no Facelets, Tiles, dentre outros;
      • Simplificar a criação de aplicações do tipo CRUD;
      • Melhor tratamento de mensagens de erro;
      • Mecanismo de tratamento de exceções padrão;
      • Criação de aplicações Web sem XML, utilizando anotações;
      • Simplificação no desenvolvimento de componentes;
      • Especificar onde os artefatos (Conversores, Renderizadores, etc.) devem ser colocados no WAR, permitindo ao container encontrá-los sem a necessidade de sua definição em arquivos de configuração;
      • Permitir que artefatos sejam alterados sem a necessidade de reinicializar o servidor.
  • JSF e outras tecnologias Web
    • Wicket
  • JSF e outras tecnologias Web
    • Wicket
      • Modelos HTML sem tags ou scripts proprietários;
      • Pura orientação a objeto nos componentes e páginas;
      • Suporte nativo e extensivo a validações e conversões;
      • Mensagens de erros fáceis de se entender e corrigir;
      • Integração com Spring, Ajax, segurança, suporte a POJO, reusabilidade através de componentização;
      • Sem arquivos de configuração.
  • JSF e outras tecnologias Web
    • Código Wicket – Classe Principal:
      • public class JavaForDinnerApplication extends WebApplication{
      • public JavaForDinnerApplication(){
      • super();
      • }
      • public Class getHomePage(){
        • return Index.class;
        • }
        • @Override
        • protected void init() {
        • super.init();
        • }
      • }
  • JSF e outras tecnologias Web
    • Código Wicket – Página Inicial:
      • public class Index extends WebPage {
      • private static final long serialVersionUID = 1L;
        • public Index(final PageParameters parameters) {
        • add(new Label(&quot;label&quot;, &quot;Olá Wicket&quot;));
        • }
      • }
  • JSF e outras tecnologias Web
    • Código Wicket – Página HTML:
      • <html&quot;>
        • <head>
        • </head>
        • <body>
          • <span wicket:id=&quot;label&quot;></span>
        • </body>
      • </html>
  • JSF e outras tecnologias Web
    • Frameworks, muitos frameworks:
      • Echo Cocoon Millstone OXF Struts
      • Tapestry WebWork RIFE Spring MVC Canyamo
      • JPublish JATO Folium Jucas Verge
      • Bishop Barracuda Action Framework Shocks TeaServlet
      • Expresso Bento jStatemachine jZonic OpenEmcee
      • Turbine Scope Warfare JWAA Jaffa
      • Jacquard Macaw SOFIA wingS Maverick
      • Smile MyFaces Chiba Jbanana Niggle
      • Jeenius JWarp Genie Melati Dovetail
      • Click GWT Xoplon Japple Vraptor
      • Nacho Helma Baritus Stripes Cassandra
      • Mentawai Cameleon Jformular Dinamica WebOnSwing
  • JSF e outras tecnologias Web
    • Referências
      • http://www.caelum.com.br
      • http://javawora.blogspot.com/search/label/JSF
      • http://www.ittraining.com.br
      • http://www.masterdom.inf.br
      • http://www.guj.com.br/java.tutorial.artigo.158.1.guj
      • http://java.sun.com/javaee/javaserverfaces/
      • http://www.jspolympus.com/JSF/JSFLifeCycle.jsp
      • http://www.nabble.com/Struts-+-JSF:-Vale-a-Pena--t4056131.html
      • http://myfaces.apache.org/
      • http://wicket.apache.org/
      • http://www.icefaces.org/main/home/index.jsp
      • https://ajax4jsf.dev.java.net/
    • Revistas:
      • Mundo Java no: 21.
      • Java Magazine no: 23; 26; 43; 44; 45; 46; 47; 48.
  • Agradecimentos
    • Obrigado