Download - Java4web
![Page 1: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/1.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Programacao para WebJava EE
Ivo Calado
Instituto Federal de Educacao, Ciencia e Tecnologia de Alagoas
12 de Novembro de 2012
1 / 17 Ivo Calado IFAL
Programacao para Web
![Page 2: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/2.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Roteiro
1 Introducao
2 Java EE (Enterprise Edition)
3 Desenvolvimento Java Web com Eclipse
2 / 17 Ivo Calado IFAL
Programacao para Web
![Page 3: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/3.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Observacao sobre o conteudo
Parte deste material e baseada na apostila FJ-21 - Java paraDesenvolvimento Web desenvolvido pela Caelum(www.caelum.com.br)
3 / 17 Ivo Calado IFAL
Programacao para Web
![Page 4: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/4.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Conteudo estatico X Conteudo dinamico
Revendo as diferencas
Existem varias diferencas entre aplicacoes Web de conteudoestatico e conteudo dinamico. Quais seriam elas?
Momento da geracao
Contexto da requisicao (conteudo personalizado)
Linguagem utilizada
Armazenamento em cache Web
4 / 17 Ivo Calado IFAL
Programacao para Web
![Page 5: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/5.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Conteudo estatico X Conteudo dinamico
Revendo as diferencas
Existem varias diferencas entre aplicacoes Web de conteudoestatico e conteudo dinamico. Quais seriam elas?
Momento da geracao
Contexto da requisicao (conteudo personalizado)
Linguagem utilizada
Armazenamento em cache Web
4 / 17 Ivo Calado IFAL
Programacao para Web
![Page 6: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/6.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Programacao Client-Side x Server-Side
Revendo as diferencas
Server-side
A programacao server-side e utilizada para gerar a informacaoa ser enviada
E transparente ao usuario!
Ele enxerga apenas o HTML!
Diversas linguagens de programacao podem ser utilizadas(PHP, Java, Python, C++!)
Client-side
Client-side e utilizado para manipular a informacao recebida
O usuario tem acesso a todo o codigo!
Existem basicamente dois tipos de suporte a programacao:JavaScript e Applets!
5 / 17 Ivo Calado IFAL
Programacao para Web
![Page 7: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/7.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Programacao Client-Side x Server-Side
Revendo as diferencas
Server-side
A programacao server-side e utilizada para gerar a informacaoa ser enviada
E transparente ao usuario! Ele enxerga apenas o HTML!
Diversas linguagens de programacao podem ser utilizadas(PHP, Java, Python, C++!)
Client-side
Client-side e utilizado para manipular a informacao recebida
O usuario tem acesso a todo o codigo!
Existem basicamente dois tipos de suporte a programacao:JavaScript e Applets!
5 / 17 Ivo Calado IFAL
Programacao para Web
![Page 8: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/8.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Programacao Client-Side x Server-Side
Questao de seguranaca
Porque uma aplicacao servidora deve realizar a mesma checagemrealizada por uma aplicacao cliente?
Como o codigo cliente esta disponıvel a requisicao a ser enviadapode ser manipulada alterando o formato da requisicao!
6 / 17 Ivo Calado IFAL
Programacao para Web
![Page 9: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/9.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Programacao Client-Side x Server-Side
Questao de seguranaca
Porque uma aplicacao servidora deve realizar a mesma checagemrealizada por uma aplicacao cliente?
Como o codigo cliente esta disponıvel a requisicao a ser enviadapode ser manipulada alterando o formato da requisicao!
6 / 17 Ivo Calado IFAL
Programacao para Web
![Page 10: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/10.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Extendendo a arquitetura Java
Extendendo a arquitetura Java
Ate agora voces viram a plataforma Java executada sobre apenasuma plataforma, porem esta nao e a unica!
Existem tresplataformas para desenvolvimento com a linguagem Java
Java SE: Aplicacoes Desktop
Java Me: aplicacoes moveis (A plataforma Android naoimplementa essa especificacao!)
Java EE: Aplicacoes corporativas (Nosso foco! :))
7 / 17 Ivo Calado IFAL
Programacao para Web
![Page 11: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/11.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Extendendo a arquitetura Java
Extendendo a arquitetura Java
Ate agora voces viram a plataforma Java executada sobre apenasuma plataforma, porem esta nao e a unica! Existem tresplataformas para desenvolvimento com a linguagem Java
Java SE: Aplicacoes Desktop
Java Me: aplicacoes moveis (A plataforma Android naoimplementa essa especificacao!)
Java EE: Aplicacoes corporativas (Nosso foco! :))
7 / 17 Ivo Calado IFAL
Programacao para Web
![Page 12: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/12.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Extendendo a arquitetura Java
Extendendo a arquitetura Java
Ate agora voces viram a plataforma Java executada sobre apenasuma plataforma, porem esta nao e a unica! Existem tresplataformas para desenvolvimento com a linguagem Java
Java SE: Aplicacoes Desktop
Java Me: aplicacoes moveis (A plataforma Android naoimplementa essa especificacao!)
Java EE: Aplicacoes corporativas (Nosso foco! :))
7 / 17 Ivo Calado IFAL
Programacao para Web
![Page 13: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/13.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Introducao
O que e?
Consiste de uma serie de especificacoes bem detalhadasdefinidas pela Sun (agora Oracle), dando uma receita de comodeve ser implementado um Software
Deve-se da enfase ao termo especificacao e naoimplementacao! Mas, porque isso?
Diversos grupos podem fazer a implementacao da mesmaesperificacao (analogia a classes abstratas e concretas!)
Antigamente conhecida como J2EE
8 / 17 Ivo Calado IFAL
Programacao para Web
![Page 14: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/14.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Introducao
O que e?
Consiste de uma serie de especificacoes bem detalhadasdefinidas pela Sun (agora Oracle), dando uma receita de comodeve ser implementado um Software
Deve-se da enfase ao termo especificacao e naoimplementacao!
Mas, porque isso?
Diversos grupos podem fazer a implementacao da mesmaesperificacao (analogia a classes abstratas e concretas!)
Antigamente conhecida como J2EE
8 / 17 Ivo Calado IFAL
Programacao para Web
![Page 15: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/15.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Introducao
O que e?
Consiste de uma serie de especificacoes bem detalhadasdefinidas pela Sun (agora Oracle), dando uma receita de comodeve ser implementado um Software
Deve-se da enfase ao termo especificacao e naoimplementacao! Mas, porque isso?
Diversos grupos podem fazer a implementacao da mesmaesperificacao (analogia a classes abstratas e concretas!)
Antigamente conhecida como J2EE
8 / 17 Ivo Calado IFAL
Programacao para Web
![Page 16: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/16.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Introducao
Java EE e apenas uma especificacao de uma linguagem deprogramacao?
NAO!
Java EE pode ser considerada uma especificacao bastantecomplexa
Envolve conceitos que vao alem de uma linguagem deprogramacao, como: persistencia em banco de dados,transacao, acesso remoto, web services, gerenciamento dethreads, gerenciamento de conexoes HTTP, cache de objetos,gerenciamento da sessao web, balanceamento de carga etc
9 / 17 Ivo Calado IFAL
Programacao para Web
![Page 17: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/17.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Introducao
Java EE e apenas uma especificacao de uma linguagem deprogramacao?
NAO!
Java EE pode ser considerada uma especificacao bastantecomplexa
Envolve conceitos que vao alem de uma linguagem deprogramacao, como: persistencia em banco de dados,transacao, acesso remoto, web services, gerenciamento dethreads, gerenciamento de conexoes HTTP, cache de objetos,gerenciamento da sessao web, balanceamento de carga etc
9 / 17 Ivo Calado IFAL
Programacao para Web
![Page 18: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/18.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Introducao
Especificacoes Java EE
Como discutido, existem diversas especificacoes que fazem partedo Java EE. Eis algumas:
JavaServer Pages (JSP), Java Servlets, Java Server Faces(JSF)
Enterprise Javabeans Components (EJB) e Java PersistenceAPI (JPA). (objetos distribuıdos, clusters, acesso remoto aobjetos 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
Programacao para Web
![Page 19: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/19.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Servidores de aplicacoes
O que sao?
Servidores de aplicacao Java EE sao implementacoes daespecificacao Java EE ou de parte dela
Recebem esse nome por serem software que tem papel deservir sua aplicacao para auxilia-la com servicos deinfraestrutura
A partir da versao Java EE 6 passou-se a utilizar o termoapplication server web profile para os servidores que naooferecem suporta a todas especificacoes!
11 / 17 Ivo Calado IFAL
Programacao para Web
![Page 20: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/20.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Servidores de aplicacoes
Exemplos de servidores de aplicacoes
Glassfish: solucao desenvolvida pela Sun/Oracle. Trata-se deuma opcao open source e gratuita porem nao e lıder demercado
JBoss: e um dos lıderes do mercado e tem a vantagem de sergratuito e open source. Bastante utilizado por aplicacoes quedesejam um alto grau de escalabilidade!
Apache Tomcat: solucao focada nas especificacoes Web,mais especificamente JSP e Servlets
No nosso curso utilizaremos o servidor Tomcat mas todoconhecimento adquirido aqui pode ser aplicado com facilidade paraos outros servidores compatıveis, mudando apenas a forma deconfigura-los.
12 / 17 Ivo Calado IFAL
Programacao para Web
![Page 21: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/21.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Servidores de aplicacoes
Instalando o Tomcat
Baixe o Tomcat em http://tomcat.apache.org
Mesmo no windows, de preferencia a versao zip, para voceentender melhor o processo de inicializacao do servidor
A versao executavel e apenas um wrapper para executar aJVM, ja que o Tomcat e 100% Java.
Entre no diretorio de instalacao e execute o script startup.shpara iniciar o servidor
Entre no diretorio de instalacao e execute o scriptshutdown.sh para parar o servidor
13 / 17 Ivo Calado IFAL
Programacao para Web
![Page 22: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/22.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Servidores de aplicacoes
O plugin WTP
O WTP, Web Tools Platform, e um conjunto de plugins parao Eclipse que auxilia o desenvolvimento de aplicacoes JavaEE, em particular, de aplicacoes Web
Contem desde editores para JSP, CSS, JS e HTML ateperspectivas e jeitos de rodar servidores de dentro do Eclipse
Para instalar o eclipse com WTP basta ir no site do Eclipse eselecionar a opcao Java EE Developers
14 / 17 Ivo Calado IFAL
Programacao para Web
![Page 23: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/23.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Servidores de aplicacoes
Configurando o Tomcat no WTP
Mude a perspectiva do Eclipse para Java (e nao Java EE, porenquanto)Abra a View de Servers na perspectiva atual. Aperte Ctrl + 3e digite ServersClique com o botao direito dentro da aba Servers e va emNew > ServerSelecione o Apache Tomcat 6.0 e clique em NextNa proxima tela, selecione o diretorio onde vocedescompactou o Tomcat e clique em FinishNa aba Servers, de dois cliques no servidor Tomcat que umatela de configuracao se abrira. Localize a secao ServerLocations. Repare que a opcao use workspace metadata estamarcada. Marque a opcao Use Tomcat installation
15 / 17 Ivo Calado IFAL
Programacao para Web
![Page 24: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/24.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Etapa inicial
Criacao do projeto
Para criar um novo projeto Java Web siga as seguintes etapas:
Va em New > Project e selecione Dynamic Web Project eclique Next
Defina o nome do projeto e a versao do Tomcat a ser utilizadae selecione Finish
Na aba Servers, clique com o botao direito no Tomcat e vaem Add and Remove e selecione a aplicacao para associa-la aum container Web
16 / 17 Ivo Calado IFAL
Programacao para Web
![Page 25: Java4web](https://reader033.vdocuments.mx/reader033/viewer/2022060200/5598f9581a28ab78278b47ed/html5/thumbnails/25.jpg)
Introducao Java EE (Enterprise Edition) Desenvolvimento Java Web com Eclipse
Etapa inicial
Estrutura do projeto
src - codigo fonte Java (.java)
build - onde o Eclipse compila as classes (.class)
WebContent - content directory (paginas, imagens, css etcvao aqui)
WebContent/WEB-INF/ - pasta oculta com configuracoes erecursos do projeto
WebContent/WEB-INF/lib/ - bibliotecas .jar
WebContent/WEB-INF/classes/ - arquivos compilados saocopiados para ca
17 / 17 Ivo Calado IFAL
Programacao para Web