desenvolvimento web em java com jsp e servlets
DESCRIPTION
Palestrada ministrada na FATENE(Faculdade de Tecnologia do Nordeste) em junho de 2010 para a turma de servidores web do prof. Marcondes Alexandre.TRANSCRIPT
![Page 1: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/1.jpg)
1
IGO COELHO
http://twitter.com/igocoelho
http://www.igocoelho.com.br
http://www.javace.org
DESENVOLVIMENTO PARA WEB EM JAVA COM SERVLET E JSP
FATENE 06/2010
![Page 2: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/2.jpg)
2
![Page 3: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/3.jpg)
33
- Java e JEE
- HTTP
- Tomcat
- Servlet
- JSP
- TagLib
AGENDA
![Page 4: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/4.jpg)
44
Java e JEE
![Page 5: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/5.jpg)
55
1991 - Projeto Green
1992 - Protótipo *7, Duke e Linguagem OAK
1993 - Mosaic o primeiro navegador web
1995 - OAK passa a ser chamado de Java
2007 - Java open source
2009 - Sun é comprada pela Oracle
A HISTÓRIA
![Page 6: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/6.jpg)
66
1996 - Java 1.0
1997 - Java Development Kit 1.1
1998 - Java 2 Platform 1.2
2000 - Java 2 Platform 1.3
2002 - Java 2 Platform 1.4
2004 - Java 2 Platform 1.5 (Tiger ou Java 5)
2006 - Java 6 (Mustang)
???? - Java 7 (Dolphin)http://en.wikipedia.org/wiki/Java_version_history
A EVOLUÇÃO
![Page 7: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/7.jpg)
77
COMO FUNCIONA
![Page 8: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/8.jpg)
88
A PLATAFORMA
![Page 9: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/9.jpg)
99
- Servlets- JSP- JSF (desenvolvimento web baseado em componentes)
- JTA (padroniza o tratamento de transações dentro de uma aplicação Java)
- JPA (padroniza o acesso a banco de dados através de mapeamento Objeto/Relacional)
- EJB (utilizados no desenvolvimento de componentes de software)
- JCA (padroniza a ligação a aplicações legadas)
- JMS (troca de mensagens)
- JAX-* (xml, SOAP e muito mais)
API JEE
![Page 10: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/10.jpg)
1010
HTTP
![Page 11: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/11.jpg)
1111
- Hypertext Transfer Protocol- Seu uso para a obtenção de recursos levou ao estabelecimento da WWW- Primeira versão (HTTP/0.9) é de 1990- De 1992 a 1996 foi desenvolvida a versão 1.0- Em 1999 foi liberada a versão 1.1- Fica na camada de aplicação segundo o modelo OSI- Trafega sobre o protocolo TCP / IP- A comunicação entre o cliente e o servidor é por meio de mensagens- Não guarda estado entre as trocas de mensagens
HTTP
![Page 12: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/12.jpg)
1212
Possui 8 métodos que indicam a ação a ser realizada no recurso especificado
- GET (Solicita um recurso)- HEAD (Solicita metainformações de um recurso)- POST (Envia dados para serem processados)- PUT (Envia um recurso)- DELETE (Excluir o recurso)- TRACE (Ecoa a requisição)- OPTIONS (Recupera os métodos que o servidor aceita)- CONNECT (Uso com proxy para túnel SSL)
HTTP
![Page 13: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/13.jpg)
1313
COMO FUNCIONA
GET / HTTP/1.1Host: www.google.comUser-Agent: Mozilla/5.0 (Windows; pt-BR; rv:1.9.0.6) Firefox/3.0.6 Accept: text/html,application/xhtmlxml,application/xml;q=0.9,* *;q=0.8Accept-Language: pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3Accept-Encoding: gzip,deflateAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7Keep-Alive: 300Connection: keep-alive
Bom dia Google.com,Gostaria de ler sua página.Estou usando o navegador Firefox na versão 3.0.6.No momento eu aceito HTML.Gostaria de receber o conteúdo em português, mas também entendo inglês.Uso o padrão de caracteres (letras) ISO-8859 e UTF-8.
![Page 14: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/14.jpg)
1414
COMO FUNCIONA
HTTP/1.1 200 OKLocation: http://www.google.com.br/Cache-Control: privateContent-Type: text/html; charset=UTF-8Date: Fri, 11 Jun 2010 19:12:34 GMTContent-Length: 438<html>...</html>
Aqui é o Google.com.br.Estou enviando a página que pediu.Você pode guardar as informações e usa-las em outras visitas.Estou enviando apenas texto e HTML como você pediu.Essa carta foi feita as 19:12:34 horas do dia 11/06/2010.O conteúdo é formado por 438 letras, segue:...
![Page 15: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/15.jpg)
1515
Tomcat
![Page 16: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/16.jpg)
1616
- Container Servlet/JSP mais conhecido entre os desenvolvedores dessas tecnologias.
- Desenvolvido e mantido pela Apache Software Faundation, sua distribuição é de livre utilização, possuindo seu código-fonte aberto.
- Oficialmente endossado como a implementação de referência para as tecnologias JSP e Servlet.
- Tem a capacidade de atuar também como servidor web, ou pode funcionar integrado a um servidor web dedicado como o Apache ou o IIS.
TOMCAT
![Page 17: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/17.jpg)
17
COMO FUNCIONA
![Page 18: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/18.jpg)
18
ESTRUTURA BÁSICA
![Page 19: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/19.jpg)
1919
Mão na massa
![Page 20: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/20.jpg)
2020
Servlet
![Page 21: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/21.jpg)
2121
- O Servlet foi introduzido pela Sun Microsystems em 1996, aprimorando a funcionalidade de servidores da Web.
- É considerado eficiente para desenvolver soluções baseadas na Web, interagir com o banco de dados em favor de um cliente, gerar dinamicamente documentos HTML personalizados a serem exibidos por navegadores e manter informações de sessão exclusivas de cada cliente.
SERVLET
![Page 22: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/22.jpg)
2222
- Toda servlet é basicamente uma classe que processa requisições e respostas dinâmicamente.
- Uma Servlet necessita de um container Web para ser executado.
- Uma servlet funciona como um pequeno servidor que recebe chamadas de diversos clientes.
- Uma primeira idéia da servlet seria que cada uma delas é responsável por uma página, sendo que ela lê dados da requisição do cliente e responde com outros dados (html, gif etc).
SERVLET
![Page 23: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/23.jpg)
2323
- Resumindo, cada servlet é um objeto java que recebe tais requisições (request) e retorna algo (response), como por exemplo uma página html ou uma imagem do formato jpg.
- Diversas requisições podem ser feitas à uma mesma servlet ao mesmo tempo em um único servidor, por isso ela é mais rápida que um programa CGI comum. A especificação da servlet cita algumas vantagens que possui sobre o antigo CGI.
SERVLET
![Page 24: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/24.jpg)
24
<servlet> <servlet-name>OiMundo</servlet-name> <servlet-class>br.com.fatene.OiMundo</servlet-class> </servlet>
<servlet-mapping> <servlet-name>OiMundo</servlet-name> <url-pattern>/OiMundo</url-pattern> </servlet-mapping>
CRIANDO UM SERVLET
- Extenda a classe javax.servlet.http.HttpServlet- Declare o Servlet no web.xml
![Page 25: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/25.jpg)
2525
Mão na massa
![Page 26: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/26.jpg)
2626
JSP
![Page 27: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/27.jpg)
2727
- JSP (JavaServer Pages) é uma tecnologia baseada em Java que simplifica o processo de desenvolvimento de sites da web dinâmicos.
- Foi criada pela Sun Microsystems em junho de 1999 com o objetivo de simplificar a tecnologia Java Servlets, possuindo um suporte robusto e repleto de recursos Java no servidor, a fim de garantir uma plataforma estável e bem definida.
JSP
![Page 28: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/28.jpg)
28
COMO FUNCIONA
![Page 29: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/29.jpg)
2929
Mão na massa
![Page 30: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/30.jpg)
3030
TagLib
![Page 31: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/31.jpg)
3131
- É nada mais nada menos que uma biblioteca de tags customizadas que são utilizadas na composição de páginas JSP.
- É uma biblioteca de “classes Java” que são utilizadas “na forma de tags” para auxiliar na geração de conteúdo dinâmico em uma página JSP.
TAGLIB
![Page 32: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/32.jpg)
3232
- Nos ajudam a eliminar consideravelmente a utilização de scriptlets e redundância de código em páginas JSP.
- Uma tag customizada JSP é composta basicamente por dois elementos: • Uma classe Java sendo a sua implementação. • Um arquivo “.tld” contendo os seus metadados – suas descrições.
TAGLIB
![Page 33: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/33.jpg)
3333
Mão na massa
![Page 34: Desenvolvimento web em java com JSP e Servlets](https://reader035.vdocuments.pub/reader035/viewer/2022081801/548d17b9b47959e70c8b6555/html5/thumbnails/34.jpg)
34
Obrigado !!!
http://twitter.com/igocoelho
http://www.igocoelho.com.br
http://www.javace.org