Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Java4web

440 views

Published on

  • Be the first to comment

  • Be the first to like this

Java4web

  1. 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 20121 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  2. 2. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseRoteiro 1 Introdu¸˜o ca 2 Java EE (Enterprise Edition) 3 Desenvolvimento Java Web com Eclipse2 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  3. 3. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseObserva¸˜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 IFALPrograma¸˜o para Web ca
  4. 4. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseConte´do est´tico X Conte´do dinˆmico u a u aRevendo 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 a4 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  5. 5. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseConte´do est´tico X Conte´do dinˆmico u a u aRevendo 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 Web4 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  6. 6. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipsePrograma¸˜o Client-Side x Server-Side caRevendo 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! a5 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  7. 7. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipsePrograma¸˜o Client-Side x Server-Side caRevendo 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 IFALPrograma¸˜o para Web ca
  8. 8. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipsePrograma¸˜o Client-Side x Server-Side caQuest˜o de segurana¸a a c Porque uma aplica¸˜o servidora deve realizar a mesma checagem ca realizada por uma aplica¸˜o cliente? ca6 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  9. 9. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipsePrograma¸˜o Client-Side x Server-Side caQuest˜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! ca6 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  10. 10. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseExtendendo a arquitetura JavaExtendendo 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 IFALPrograma¸˜o para Web ca
  11. 11. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseExtendendo a arquitetura JavaExtendendo 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 Java7 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  12. 12. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseExtendendo a arquitetura JavaExtendendo 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! :)) co7 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  13. 13. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseIntrodu¸˜o caO 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 Software8 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  14. 14. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseIntrodu¸˜o caO 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! ca8 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  15. 15. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseIntrodu¸˜o caO 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 J2EE8 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  16. 16. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseIntrodu¸˜o caJava EE ´ apenas uma especifica¸˜o de uma linguagem de e caprograma¸˜o? ca9 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  17. 17. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseIntrodu¸˜o caJava EE ´ apenas uma especifica¸˜o de uma linguagem de e caprograma¸˜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 a9 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  18. 18. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseIntrodu¸˜o caEspecifica¸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 Interface10 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  19. 19. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseServidores 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 co11 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  20. 20. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseServidores 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. a12 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  21. 21. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseServidores 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 servidor13 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  22. 22. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseServidores 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 ca14 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  23. 23. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseServidores 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 ca15 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  24. 24. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseEtapa inicialCria¸˜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 Web16 / 17 Ivo Calado IFALPrograma¸˜o para Web ca
  25. 25. Introdu¸˜o ca Java EE (Enterprise Edition) Desenvolvimento Java Web com EclipseEtapa inicialEstrutura 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´ a17 / 17 Ivo Calado IFALPrograma¸˜o para Web ca

×