SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Introdu¸˜o
       ca                   Java EE (Enterprise Edition)            Desenvolvimento Java Web com Eclipse




                              Programa¸˜o para Web
                                      ca
                                                 Java EE


                                               Ivo Calado

                   Instituto Federal de Educa¸˜o, Ciˆncia e Tecnologia de Alagoas
                                             ca     e


                                   12 de Novembro de 2012




1 / 17                                             Ivo Calado                                      IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                 Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse




Roteiro



         1   Introdu¸˜o
                    ca

         2   Java EE (Enterprise Edition)

         3   Desenvolvimento Java Web com Eclipse




2 / 17                                           Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse




Observa¸˜o sobre o conte´do
       ca               u




         Parte deste material ´ baseada na apostila FJ-21 - Java para
                              e
         Desenvolvimento Web desenvolvido pela Caelum
         (www.caelum.com.br)




3 / 17                                          Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                        Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse



Conte´do est´tico X Conte´do dinˆmico
     u      a            u      a


Revendo as diferen¸as
                  c


         Existem v´rias diferen¸as entre aplica¸˜es Web de conte´do
                   a           c               co               u
         est´tico e conte´do dinˆmico. Quais seriam elas?
            a            u       a




4 / 17                                                  Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                        Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse



Conte´do est´tico X Conte´do dinˆmico
     u      a            u      a


Revendo as diferen¸as
                  c


         Existem v´rias diferen¸as entre aplica¸˜es Web de conte´do
                   a           c               co               u
         est´tico e conte´do dinˆmico. Quais seriam elas?
            a            u       a
              Momento da gera¸˜o
                             ca
              Contexto da requisi¸˜o (conte´do personalizado)
                                 ca        u
              Linguagem utilizada
              Armazenamento em cache Web




4 / 17                                                  Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                         Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse



Programa¸˜o Client-Side x Server-Side
        ca


Revendo as diferen¸as
                  c
         Server-side
               A programa¸˜o server-side ´ utilizada para gerar a informa¸˜o
                           ca             e                              ca
               a ser enviada
               ´
               E transparente ao usu´rio!
                                    a




5 / 17                                                   Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                         Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse



Programa¸˜o Client-Side x Server-Side
        ca


Revendo as diferen¸as
                  c
         Server-side
               A programa¸˜o server-side ´ utilizada para gerar a informa¸˜o
                           ca             e                              ca
               a ser enviada
               ´
               E transparente ao usu´rio! Ele enxerga apenas o HTML!
                                    a
               Diversas linguagens de programa¸˜o podem ser utilizadas
                                              ca
               (PHP, Java, Python, C++!)
         Client-side
               Client-side ´ utilizado para manipular a informa¸˜o recebida
                           e                                   ca
               O usu´rio tem acesso a todo o c´digo!
                    a                         o
               Existem basicamente dois tipos de suporte a programa¸˜o:
                                                                   ca
               JavaScript e Applets!
5 / 17                                                   Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                         Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse



Programa¸˜o Client-Side x Server-Side
        ca


Quest˜o de segurana¸a
     a             c




         Porque uma aplica¸˜o servidora deve realizar a mesma checagem
                           ca
         realizada por uma aplica¸˜o cliente?
                                 ca




6 / 17                                                   Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                         Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse



Programa¸˜o Client-Side x Server-Side
        ca


Quest˜o de segurana¸a
     a             c




         Porque uma aplica¸˜o servidora deve realizar a mesma checagem
                           ca
         realizada por uma aplica¸˜o cliente?
                                 ca
         Como o c´digo cliente est´ dispon´ a requisi¸˜o a ser enviada
                   o              a        ıvel        ca
         pode ser manipulada alterando o formato da requisi¸˜o!
                                                           ca




6 / 17                                                   Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                       Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse



Extendendo a arquitetura Java


Extendendo a arquitetura Java


         At´ agora vocˆs viram a plataforma Java executada sobre apenas
           e          e
         uma plataforma, por´m esta n˜o ´ a unica!
                             e        a e ´




7 / 17                                                 Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                       Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse



Extendendo a arquitetura Java


Extendendo a arquitetura Java


         At´ agora vocˆs viram a plataforma Java executada sobre apenas
            e         e
         uma plataforma, por´m esta n˜o ´ a unica! Existem trˆs
                             e        a e ´                  e
         plataformas para desenvolvimento com a linguagem Java




7 / 17                                                 Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                       Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse



Extendendo a arquitetura Java


Extendendo a arquitetura Java


         At´ agora vocˆs viram a plataforma Java executada sobre apenas
            e         e
         uma plataforma, por´m esta n˜o ´ a unica! Existem trˆs
                             e        a e ´                  e
         plataformas para desenvolvimento com a linguagem Java
              Java SE: Aplica¸˜es Desktop
                             co
              Java Me: aplica¸˜es m´veis (A plataforma Android n˜o
                             co    o                            a
              implementa essa especifica¸˜o!)
                                       ca
              Java EE: Aplica¸˜es corporativas (Nosso foco! :))
                             co




7 / 17                                                 Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca               Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse



Introdu¸˜o
       ca


O que ´?
      e


             Consiste de uma s´rie de especifica¸˜es bem detalhadas
                              e                co
             definidas pela Sun (agora Oracle), dando uma receita de como
             deve ser implementado um Software




8 / 17                                         Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca               Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse



Introdu¸˜o
       ca


O que ´?
      e


             Consiste de uma s´rie de especifica¸˜es bem detalhadas
                              e                co
             definidas pela Sun (agora Oracle), dando uma receita de como
             deve ser implementado um Software
             Deve-se da ˆnfase ao termo especifica¸˜o e n˜o
                        e                        ca     a
             implementa¸˜o!
                         ca




8 / 17                                         Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca               Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse



Introdu¸˜o
       ca


O que ´?
      e


             Consiste de uma s´rie de especifica¸˜es bem detalhadas
                              e                co
             definidas pela Sun (agora Oracle), dando uma receita de como
             deve ser implementado um Software
             Deve-se da ˆnfase ao termo especifica¸˜o e n˜o
                        e                        ca     a
             implementa¸˜o! Mas, porque isso?
                         ca
             Diversos grupos podem fazer a implementa¸˜o da mesma
                                                         ca
             esperifica¸˜o (analogia ` classes abstratas e concretas!)
                      ca            a
             Antigamente conhecida como J2EE



8 / 17                                         Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca              Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse



Introdu¸˜o
       ca


Java EE ´ apenas uma especifica¸˜o de uma linguagem de
        e                     ca
programa¸˜o?
        ca




9 / 17                                        Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca               Java EE (Enterprise Edition)        Desenvolvimento Java Web com Eclipse



Introdu¸˜o
       ca


Java EE ´ apenas uma especifica¸˜o de uma linguagem de
        e                     ca
programa¸˜o?
        ca

          ˜
         NAO!
             Java EE pode ser considerada uma especifica¸˜o bastante
                                                       ca
             complexa
             Envolve conceitos que v˜o al´m de uma linguagem de
                                    a    e
             programa¸˜o, como: persistˆncia em banco de dados,
                       ca               e
             transa¸˜o, acesso remoto, web services, gerenciamento de
                   ca
             threads, gerenciamento de conex˜es HTTP, cache de objetos,
                                             o
             gerenciamento da sess˜o web, balanceamento de carga etc
                                  a



9 / 17                                         Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                 Java EE (Enterprise Edition)         Desenvolvimento Java Web com Eclipse



Introdu¸˜o
       ca


Especifica¸oes Java EE
         c˜
          Como discutido, existem diversas especifica¸oes que fazem parte
                                                    c
          do Java EE. Eis algumas:
              JavaServer Pages (JSP), Java Servlets, Java Server Faces
              (JSF)
              Enterprise Javabeans Components (EJB) e Java Persistence
              API (JPA). (objetos distribu´
                                          ıdos, clusters, acesso remoto a
              objetos etc)
              Java API for XML Web Services (JAX-WS)
              Java Autenthication and Authorization Services
              Java Message Services
              Java Naming and Directory Interface

10 / 17                                           Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                  Java EE (Enterprise Edition)         Desenvolvimento Java Web com Eclipse



Servidores de aplica¸oes
                    c˜


O que s˜o?
       a


               Servidores de aplica¸˜o Java EE s˜o implementa¸˜es da
                                   ca           a            co
               especifica¸˜o Java EE ou de parte dela
                        ca
               Recebem esse nome por serem software que tem papel de
               servir sua aplica¸˜o para auxilia-la com servi¸os de
                                ca                           c
               infraestrutura
               A partir da vers˜o Java EE 6 passou-se a utilizar o termo
                               a
               application server web profile para os servidores que n˜oa
               oferecem suporta ` todas especifica¸˜es!
                                 a               co



11 / 17                                            Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                  Java EE (Enterprise Edition)         Desenvolvimento Java Web com Eclipse



Servidores de aplica¸oes
                    c˜


Exemplos de servidores de aplica¸˜es
                                co

               Glassfish: solu¸˜o desenvolvida pela Sun/Oracle. Trata-se de
                             ca
               uma op¸˜o open source e gratuita por´m n˜o ´ l´
                     ca                             e   a e ıder de
               mercado
               JBoss: ´ um dos l´
                       e         ıderes do mercado e tem a vantagem de ser
               gratuito e open source. Bastante utilizado por aplica¸˜es que
                                                                    co
               desejam um alto grau de escalabilidade!
               Apache Tomcat: solu¸ao focada nas especifica¸˜es Web,
                                    c                     co
               mais especificamente JSP e Servlets
          No nosso curso utilizaremos o servidor Tomcat mas todo
          conhecimento adquirido aqui pode ser aplicado com facilidade para
          os outros servidores compat´
                                     ıveis, mudando apenas a forma de
          configur´-los.
                  a
12 / 17                                            Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                  Java EE (Enterprise Edition)         Desenvolvimento Java Web com Eclipse



Servidores de aplica¸oes
                    c˜


Instalando o Tomcat


               Baixe o Tomcat em http://tomcat.apache.org
               Mesmo no windows, dˆ preferˆncia a vers˜o zip, para vocˆ
                                    e      e             a             e
               entender melhor o processo de inicializa¸˜o do servidor
                                                       ca
               A vers˜o execut´vel ´ apenas um wrapper para executar a
                     a        a e
               JVM, j´ que o Tomcat ´ 100% Java.
                      a               e
               Entre no diret´rio de instala¸˜o e execute o script startup.sh
                              o             ca
               para iniciar o servidor
               Entre no diret´rio de instala¸˜o e execute o script
                             o              ca
               shutdown.sh para parar o servidor


13 / 17                                            Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                  Java EE (Enterprise Edition)         Desenvolvimento Java Web com Eclipse



Servidores de aplica¸oes
                    c˜


O plugin WTP



               O WTP, Web Tools Platform, ´ um conjunto de plugins para
                                              e
               o Eclipse que auxilia o desenvolvimento de aplica¸˜es Java
                                                                co
               EE, em particular, de aplica¸˜es Web
                                           co
               Cont´m desde editores para JSP, CSS, JS e HTML at´
                    e                                                 e
               perspectivas e jeitos de rodar servidores de dentro do Eclipse
               Para instalar o eclipse com WTP basta ir no site do Eclipse e
               selecionar a op¸˜o Java EE Developers
                              ca




14 / 17                                            Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                  Java EE (Enterprise Edition)         Desenvolvimento Java Web com Eclipse



Servidores de aplica¸oes
                    c˜


Configurando o Tomcat no WTP
               Mude a perspectiva do Eclipse para Java (e n˜o Java EE, por
                                                             a
               enquanto)
               Abra a View de Servers na perspectiva atual. Aperte Ctrl + 3
               e digite Servers
               Clique com o bot˜o direito dentro da aba Servers e v´ em
                                 a                                  a
               New > Server
               Selecione o Apache Tomcat 6.0 e clique em Next
               Na pr´xima tela, selecione o diret´rio onde vocˆ
                     o                           o             e
               descompactou o Tomcat e clique em Finish
               Na aba Servers, dˆ dois cliques no servidor Tomcat que uma
                                 e
               tela de configura¸˜o se abrir´. Localize a se¸˜o Server
                                ca          a              ca
               Locations. Repare que a op¸˜o use workspace metadata est´
                                           ca                            a
               marcada. Marque a op¸˜o Use Tomcat installation
                                      ca
15 / 17                                            Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                  Java EE (Enterprise Edition)         Desenvolvimento Java Web com Eclipse



Etapa inicial


Cria¸˜o do projeto
    ca


          Para criar um novo projeto Java Web siga as seguintes etapas:
                V´ em New > Project e selecione Dynamic Web Project e
                  a
                clique Next
                Defina o nome do projeto e a vers˜o do Tomcat a ser utilizada
                                                a
                e selecione Finish
                Na aba Servers, clique com o bot˜o direito no Tomcat e v´
                                                a                       a
                em Add and Remove e selecione a aplica¸˜o para associ´-la a
                                                        ca            a
                um container Web



16 / 17                                            Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca                   Java EE (Enterprise Edition)         Desenvolvimento Java Web com Eclipse



Etapa inicial


Estrutura do projeto

                src - c´digo fonte Java (.java)
                       o
                build - onde o Eclipse compila as classes (.class)
                WebContent - content directory (p´ginas, imagens, css etc
                                                 a
                v˜o aqui)
                 a
                WebContent/WEB-INF/ - pasta oculta com configura¸˜es e
                                                               co
                recursos do projeto
                WebContent/WEB-INF/lib/ - bibliotecas .jar
                WebContent/WEB-INF/classes/ - arquivos compilados s˜o
                                                                   a
                copiados para c´
                               a


17 / 17                                             Ivo Calado                                  IFAL
Programa¸˜o para Web
        ca

Más contenido relacionado

Destacado

Lesson12 recovery architectures
Lesson12 recovery architecturesLesson12 recovery architectures
Lesson12 recovery architecturesRaval Vijay
 
Presentaciones online
Presentaciones onlinePresentaciones online
Presentaciones onlinesofiayca
 
YOUR NEEDS ARE ALREADY MET!
YOUR NEEDS ARE ALREADY MET!YOUR NEEDS ARE ALREADY MET!
YOUR NEEDS ARE ALREADY MET!arnoldclegg
 
Articul Media: Производительность - неотъемлемая составляющая качества проекта
Articul Media: Производительность - неотъемлемая составляющая качества проектаArticul Media: Производительность - неотъемлемая составляющая качества проекта
Articul Media: Производительность - неотъемлемая составляющая качества проектаArticul Media
 
SENTENÇAS POÉTICAS
SENTENÇAS POÉTICASSENTENÇAS POÉTICAS
SENTENÇAS POÉTICASguest906d53
 
Brad Kwasny - Resume 2016
Brad Kwasny - Resume 2016Brad Kwasny - Resume 2016
Brad Kwasny - Resume 2016Brad Kwasny
 

Destacado (17)

Villanova
VillanovaVillanova
Villanova
 
Degree certificate
Degree certificateDegree certificate
Degree certificate
 
Limousine UAE
Limousine UAELimousine UAE
Limousine UAE
 
Lesson12 recovery architectures
Lesson12 recovery architecturesLesson12 recovery architectures
Lesson12 recovery architectures
 
Presentaciones online
Presentaciones onlinePresentaciones online
Presentaciones online
 
resume_2016
resume_2016resume_2016
resume_2016
 
amberresume
amberresumeamberresume
amberresume
 
Abd El-Rahman Wakeb CV
Abd El-Rahman Wakeb CVAbd El-Rahman Wakeb CV
Abd El-Rahman Wakeb CV
 
YOUR NEEDS ARE ALREADY MET!
YOUR NEEDS ARE ALREADY MET!YOUR NEEDS ARE ALREADY MET!
YOUR NEEDS ARE ALREADY MET!
 
JenniferWatkins
JenniferWatkinsJenniferWatkins
JenniferWatkins
 
Articul Media: Производительность - неотъемлемая составляющая качества проекта
Articul Media: Производительность - неотъемлемая составляющая качества проектаArticul Media: Производительность - неотъемлемая составляющая качества проекта
Articul Media: Производительность - неотъемлемая составляющая качества проекта
 
Stress tests
Stress testsStress tests
Stress tests
 
Museo de cerámica
Museo de cerámicaMuseo de cerámica
Museo de cerámica
 
Prueba paz
Prueba pazPrueba paz
Prueba paz
 
Jubilacion de lujo
Jubilacion de lujoJubilacion de lujo
Jubilacion de lujo
 
SENTENÇAS POÉTICAS
SENTENÇAS POÉTICASSENTENÇAS POÉTICAS
SENTENÇAS POÉTICAS
 
Brad Kwasny - Resume 2016
Brad Kwasny - Resume 2016Brad Kwasny - Resume 2016
Brad Kwasny - Resume 2016
 

Similar a Java EE e Desenvolvimento Web com Eclipse

Java Server Pages
Java Server PagesJava Server Pages
Java Server PagesIvo Calado
 
Iniciação JSP!
Iniciação JSP!Iniciação JSP!
Iniciação JSP!JErickPPTs
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavajesuinoPower
 
JavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBJavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBjesuinoPower
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1PeslPinguim
 
Guia para o Profissional Java
Guia para o Profissional JavaGuia para o Profissional Java
Guia para o Profissional Javaarmeniocardoso
 
Java: o que estudar para o mercado de trabalho
Java: o que estudar para o mercado de trabalhoJava: o que estudar para o mercado de trabalho
Java: o que estudar para o mercado de trabalhoPedro Cavalero
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo JavaTI Infnet
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão GeralEder Nogueira
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Aécio Costa
 
Introdução a Tecnologia Java
Introdução a Tecnologia JavaIntrodução a Tecnologia Java
Introdução a Tecnologia JavaThiago Gonzaga
 
Dominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E Jpa
Dominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E JpaDominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E Jpa
Dominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E JpaAna Albert
 
Java Bahia Desenvolvimento Java Area1
Java Bahia Desenvolvimento Java Area1Java Bahia Desenvolvimento Java Area1
Java Bahia Desenvolvimento Java Area1guestc9a1c7
 
GlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEGlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEBruno Borges
 

Similar a Java EE e Desenvolvimento Web com Eclipse (20)

Tutorial Java EE
Tutorial Java EETutorial Java EE
Tutorial Java EE
 
Java Server Pages
Java Server PagesJava Server Pages
Java Server Pages
 
Iniciação JSP!
Iniciação JSP!Iniciação JSP!
Iniciação JSP!
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma Java
 
Java Servlets
Java ServletsJava Servlets
Java Servlets
 
[OFICINA JAVA] - Conhecendo Java
[OFICINA JAVA] - Conhecendo Java[OFICINA JAVA] - Conhecendo Java
[OFICINA JAVA] - Conhecendo Java
 
Javascript
JavascriptJavascript
Javascript
 
JavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEBJavaFX: Desktop para desenvolvedores WEB
JavaFX: Desktop para desenvolvedores WEB
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1
 
Guia para o Profissional Java
Guia para o Profissional JavaGuia para o Profissional Java
Guia para o Profissional Java
 
Web eclipse
Web eclipseWeb eclipse
Web eclipse
 
Java: o que estudar para o mercado de trabalho
Java: o que estudar para o mercado de trabalhoJava: o que estudar para o mercado de trabalho
Java: o que estudar para o mercado de trabalho
 
MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)
 
Conhecendo Java
Conhecendo JavaConhecendo Java
Conhecendo Java
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão Geral
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!
 
Introdução a Tecnologia Java
Introdução a Tecnologia JavaIntrodução a Tecnologia Java
Introdução a Tecnologia Java
 
Dominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E Jpa
Dominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E JpaDominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E Jpa
Dominando Jsf E Facelets Utilizando Spring 2.5, Hibernate E Jpa
 
Java Bahia Desenvolvimento Java Area1
Java Bahia Desenvolvimento Java Area1Java Bahia Desenvolvimento Java Area1
Java Bahia Desenvolvimento Java Area1
 
GlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEGlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EE
 

Más de Ivo Calado

Tutorial sobre Jquery
Tutorial sobre JqueryTutorial sobre Jquery
Tutorial sobre JqueryIvo Calado
 
Tutorial sobre Bootstrap
Tutorial sobre BootstrapTutorial sobre Bootstrap
Tutorial sobre BootstrapIvo Calado
 
Programação para Kernel Linux - Parte 2
Programação para Kernel Linux - Parte 2Programação para Kernel Linux - Parte 2
Programação para Kernel Linux - Parte 2Ivo Calado
 
Programação para Kernel Linux - Parte 1
Programação para Kernel Linux - Parte 1Programação para Kernel Linux - Parte 1
Programação para Kernel Linux - Parte 1Ivo Calado
 
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)Ivo Calado
 
XHTML: eXtensible Hypertext Markup Language
XHTML: eXtensible Hypertext Markup LanguageXHTML: eXtensible Hypertext Markup Language
XHTML: eXtensible Hypertext Markup LanguageIvo Calado
 

Más de Ivo Calado (8)

Tutorial sobre Jquery
Tutorial sobre JqueryTutorial sobre Jquery
Tutorial sobre Jquery
 
Tutorial sobre Bootstrap
Tutorial sobre BootstrapTutorial sobre Bootstrap
Tutorial sobre Bootstrap
 
Programação para Kernel Linux - Parte 2
Programação para Kernel Linux - Parte 2Programação para Kernel Linux - Parte 2
Programação para Kernel Linux - Parte 2
 
Programação para Kernel Linux - Parte 1
Programação para Kernel Linux - Parte 1Programação para Kernel Linux - Parte 1
Programação para Kernel Linux - Parte 1
 
Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)Introdução a eXtensible Markup Language (XML)
Introdução a eXtensible Markup Language (XML)
 
XHTML: eXtensible Hypertext Markup Language
XHTML: eXtensible Hypertext Markup LanguageXHTML: eXtensible Hypertext Markup Language
XHTML: eXtensible Hypertext Markup Language
 
HTML
HTMLHTML
HTML
 
CSS
CSSCSS
CSS
 

Java EE e Desenvolvimento Web com Eclipse

  • 1. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Programa¸˜o para Web ca Java EE Ivo Calado Instituto Federal de Educa¸˜o, Ciˆncia e Tecnologia de Alagoas ca e 12 de Novembro de 2012 1 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 2. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Roteiro 1 Introdu¸˜o ca 2 Java EE (Enterprise Edition) 3 Desenvolvimento Java Web com Eclipse 2 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 3. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Observa¸˜o sobre o conte´do ca u Parte deste material ´ baseada na apostila FJ-21 - Java para e Desenvolvimento Web desenvolvido pela Caelum (www.caelum.com.br) 3 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 4. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Conte´do est´tico X Conte´do dinˆmico u a u a Revendo as diferen¸as c Existem v´rias diferen¸as entre aplica¸˜es Web de conte´do a c co u est´tico e conte´do dinˆmico. Quais seriam elas? a u a 4 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 5. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Conte´do est´tico X Conte´do dinˆmico u a u a Revendo as diferen¸as c Existem v´rias diferen¸as entre aplica¸˜es Web de conte´do a c co u est´tico e conte´do dinˆmico. Quais seriam elas? a u a Momento da gera¸˜o ca Contexto da requisi¸˜o (conte´do personalizado) ca u Linguagem utilizada Armazenamento em cache Web 4 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 6. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Programa¸˜o Client-Side x Server-Side ca Revendo as diferen¸as c Server-side A programa¸˜o server-side ´ utilizada para gerar a informa¸˜o ca e ca a ser enviada ´ E transparente ao usu´rio! a 5 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 7. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Programa¸˜o Client-Side x Server-Side ca Revendo as diferen¸as c Server-side A programa¸˜o server-side ´ utilizada para gerar a informa¸˜o ca e ca a ser enviada ´ E transparente ao usu´rio! Ele enxerga apenas o HTML! a Diversas linguagens de programa¸˜o podem ser utilizadas ca (PHP, Java, Python, C++!) Client-side Client-side ´ utilizado para manipular a informa¸˜o recebida e ca O usu´rio tem acesso a todo o c´digo! a o Existem basicamente dois tipos de suporte a programa¸˜o: ca JavaScript e Applets! 5 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 8. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Programa¸˜o Client-Side x Server-Side ca Quest˜o de segurana¸a a c Porque uma aplica¸˜o servidora deve realizar a mesma checagem ca realizada por uma aplica¸˜o cliente? ca 6 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 9. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Programa¸˜o Client-Side x Server-Side ca Quest˜o de segurana¸a a c Porque uma aplica¸˜o servidora deve realizar a mesma checagem ca realizada por uma aplica¸˜o cliente? ca Como o c´digo cliente est´ dispon´ a requisi¸˜o a ser enviada o a ıvel ca pode ser manipulada alterando o formato da requisi¸˜o! ca 6 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 10. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Extendendo a arquitetura Java Extendendo a arquitetura Java At´ agora vocˆs viram a plataforma Java executada sobre apenas e e uma plataforma, por´m esta n˜o ´ a unica! e a e ´ 7 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 11. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Extendendo a arquitetura Java Extendendo a arquitetura Java At´ agora vocˆs viram a plataforma Java executada sobre apenas e e uma plataforma, por´m esta n˜o ´ a unica! Existem trˆs e a e ´ e plataformas para desenvolvimento com a linguagem Java 7 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 12. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Extendendo a arquitetura Java Extendendo a arquitetura Java At´ agora vocˆs viram a plataforma Java executada sobre apenas e e uma plataforma, por´m esta n˜o ´ a unica! Existem trˆs e a e ´ e plataformas para desenvolvimento com a linguagem Java Java SE: Aplica¸˜es Desktop co Java Me: aplica¸˜es m´veis (A plataforma Android n˜o co o a implementa essa especifica¸˜o!) ca Java EE: Aplica¸˜es corporativas (Nosso foco! :)) co 7 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 13. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Introdu¸˜o ca O que ´? e Consiste de uma s´rie de especifica¸˜es bem detalhadas e co definidas pela Sun (agora Oracle), dando uma receita de como deve ser implementado um Software 8 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 14. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Introdu¸˜o ca O que ´? e Consiste de uma s´rie de especifica¸˜es bem detalhadas e co definidas pela Sun (agora Oracle), dando uma receita de como deve ser implementado um Software Deve-se da ˆnfase ao termo especifica¸˜o e n˜o e ca a implementa¸˜o! ca 8 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 15. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Introdu¸˜o ca O que ´? e Consiste de uma s´rie de especifica¸˜es bem detalhadas e co definidas pela Sun (agora Oracle), dando uma receita de como deve ser implementado um Software Deve-se da ˆnfase ao termo especifica¸˜o e n˜o e ca a implementa¸˜o! Mas, porque isso? ca Diversos grupos podem fazer a implementa¸˜o da mesma ca esperifica¸˜o (analogia ` classes abstratas e concretas!) ca a Antigamente conhecida como J2EE 8 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 16. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Introdu¸˜o ca Java EE ´ apenas uma especifica¸˜o de uma linguagem de e ca programa¸˜o? ca 9 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 17. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Introdu¸˜o ca Java EE ´ apenas uma especifica¸˜o de uma linguagem de e ca programa¸˜o? ca ˜ NAO! Java EE pode ser considerada uma especifica¸˜o bastante ca complexa Envolve conceitos que v˜o al´m de uma linguagem de a e programa¸˜o, como: persistˆncia em banco de dados, ca e transa¸˜o, acesso remoto, web services, gerenciamento de ca threads, gerenciamento de conex˜es HTTP, cache de objetos, o gerenciamento da sess˜o web, balanceamento de carga etc a 9 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 18. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Introdu¸˜o ca Especifica¸oes Java EE c˜ Como discutido, existem diversas especifica¸oes que fazem parte c do Java EE. Eis algumas: JavaServer Pages (JSP), Java Servlets, Java Server Faces (JSF) Enterprise Javabeans Components (EJB) e Java Persistence API (JPA). (objetos distribu´ ıdos, clusters, acesso remoto a objetos etc) Java API for XML Web Services (JAX-WS) Java Autenthication and Authorization Services Java Message Services Java Naming and Directory Interface 10 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 19. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Servidores de aplica¸oes c˜ O que s˜o? a Servidores de aplica¸˜o Java EE s˜o implementa¸˜es da ca a co especifica¸˜o Java EE ou de parte dela ca Recebem esse nome por serem software que tem papel de servir sua aplica¸˜o para auxilia-la com servi¸os de ca c infraestrutura A partir da vers˜o Java EE 6 passou-se a utilizar o termo a application server web profile para os servidores que n˜oa oferecem suporta ` todas especifica¸˜es! a co 11 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 20. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Servidores de aplica¸oes c˜ Exemplos de servidores de aplica¸˜es co Glassfish: solu¸˜o desenvolvida pela Sun/Oracle. Trata-se de ca uma op¸˜o open source e gratuita por´m n˜o ´ l´ ca e a e ıder de mercado JBoss: ´ um dos l´ e ıderes do mercado e tem a vantagem de ser gratuito e open source. Bastante utilizado por aplica¸˜es que co desejam um alto grau de escalabilidade! Apache Tomcat: solu¸ao focada nas especifica¸˜es Web, c co mais especificamente JSP e Servlets No nosso curso utilizaremos o servidor Tomcat mas todo conhecimento adquirido aqui pode ser aplicado com facilidade para os outros servidores compat´ ıveis, mudando apenas a forma de configur´-los. a 12 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 21. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Servidores de aplica¸oes c˜ Instalando o Tomcat Baixe o Tomcat em http://tomcat.apache.org Mesmo no windows, dˆ preferˆncia a vers˜o zip, para vocˆ e e a e entender melhor o processo de inicializa¸˜o do servidor ca A vers˜o execut´vel ´ apenas um wrapper para executar a a a e JVM, j´ que o Tomcat ´ 100% Java. a e Entre no diret´rio de instala¸˜o e execute o script startup.sh o ca para iniciar o servidor Entre no diret´rio de instala¸˜o e execute o script o ca shutdown.sh para parar o servidor 13 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 22. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Servidores de aplica¸oes c˜ O plugin WTP O WTP, Web Tools Platform, ´ um conjunto de plugins para e o Eclipse que auxilia o desenvolvimento de aplica¸˜es Java co EE, em particular, de aplica¸˜es Web co Cont´m desde editores para JSP, CSS, JS e HTML at´ e e perspectivas e jeitos de rodar servidores de dentro do Eclipse Para instalar o eclipse com WTP basta ir no site do Eclipse e selecionar a op¸˜o Java EE Developers ca 14 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 23. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Servidores de aplica¸oes c˜ Configurando o Tomcat no WTP Mude a perspectiva do Eclipse para Java (e n˜o Java EE, por a enquanto) Abra a View de Servers na perspectiva atual. Aperte Ctrl + 3 e digite Servers Clique com o bot˜o direito dentro da aba Servers e v´ em a a New > Server Selecione o Apache Tomcat 6.0 e clique em Next Na pr´xima tela, selecione o diret´rio onde vocˆ o o e descompactou o Tomcat e clique em Finish Na aba Servers, dˆ dois cliques no servidor Tomcat que uma e tela de configura¸˜o se abrir´. Localize a se¸˜o Server ca a ca Locations. Repare que a op¸˜o use workspace metadata est´ ca a marcada. Marque a op¸˜o Use Tomcat installation ca 15 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 24. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Etapa inicial Cria¸˜o do projeto ca Para criar um novo projeto Java Web siga as seguintes etapas: V´ em New > Project e selecione Dynamic Web Project e a clique Next Defina o nome do projeto e a vers˜o do Tomcat a ser utilizada a e selecione Finish Na aba Servers, clique com o bot˜o direito no Tomcat e v´ a a em Add and Remove e selecione a aplica¸˜o para associ´-la a ca a um container Web 16 / 17 Ivo Calado IFAL Programa¸˜o para Web ca
  • 25. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse Etapa inicial Estrutura do projeto src - c´digo fonte Java (.java) o build - onde o Eclipse compila as classes (.class) WebContent - content directory (p´ginas, imagens, css etc a v˜o aqui) a WebContent/WEB-INF/ - pasta oculta com configura¸˜es e co recursos do projeto WebContent/WEB-INF/lib/ - bibliotecas .jar WebContent/WEB-INF/classes/ - arquivos compilados s˜o a copiados para c´ a 17 / 17 Ivo Calado IFAL Programa¸˜o para Web ca