Buscar

Desenvolvimento Web com Servlets

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

BACKEND
DESENVOLVIMENTO	DE	
APLICAÇÕES	WEB
Antonio Podgorski
afbezerra@unicarioca.edu.br
SERVLETS
HISTÓRIA	DO	DESENVOLVIMENTO	WEB
Applets
- Download muito longos
- Código fica na máquina do cliente
CGI
- Código para interagir com servidor web
- Brecha de Segurança
Java Servlets
- Padrão, interação fácil com servidores web
- Segurança e autenticação
- ImplementaSessões
HISTÓRIA	DO	DESENVOLVIMENTO	WEB	- SERVLETS
Uso Inicial
- Simples, fácil de usar em aplicações
- WebMVC todo implementado em um grande servlet
Muito complexo
Problemas demanutenção
Não é escalável
Atualmente
- Menor	é melhor
- Usado para:
- Recuperar e validar dados de entrada do usuário
- Coordenar as saídas
- Lógica de negócios mínima
- Redirecionamento da página web
O	QUE	SÃO	SERVLETS
Extensão de	servidor escrita em Java
- Serve	para	estender qualquer aplicaçãoque seja do	modelo requisição,	
resposta.
- Todo servlet	implementa a	interface	javax.servlet.Servlet
Servlets	HTTP
- Extensões para	servidoresWeb
- Lidam com	características típicas do	HTTP	como seusmétodosGET,	POST,	
PUT,	…
O protocolo HTTP define um conjunto de métodos que o cliente
pode invocar, que funcionam como comandos enviados ao
servidor web. As mensagens de requisição e resposta do
protocolo HTTP seguem um padrão, em que uma requisição
primeiramente é constituída de uma linha informando o
método a ser executado.
MÉTODOS	HTTP	– DEFINIÇÃO
GET:Método que solicita algum recurso ou objeto ao servidor
POST:Método usado para envio de arquivo dados ou formulário
PUT:Método para criar ou modificar algum objeto do servidor.
DELETE: Método que informa através da URL o objeto a ser
deletado.
MÉTODOS	HTTP	– TIPOS
HEAD: Método que solicita informações de um determinado
objeto sem que esse seja enviado ao cliente, apenas para testar
a validade do último acesso.
CONNECT: Método usado para envio de arquivo dados ou
formulário
OPTIONS: Método em que cliente obtém as propriedades do
servidor.
TRACE: Método para estabelece comunicação com servidores
Proxy.
MÉTODOS	HTTP	– TIPOS
É o bloco básico do desenvolvimentoweb em Java.
Servlets são classes hospedadas num servidor que
respondema requisições HTTP.
De maneira informal e resumida, servlets são classes java
que geram páginas HTML.
Um servlet é uma especialização da classe
javax.servlet.http.HttpServlet
DEFINIÇÃO	SERVLETS	HTTP	
SERVLET	HTTP
Trata estes métodosHTTP específicos, a exemplo:
doGet(HttpServletRequest req, HttpServletResponse resp)
doPost(HttpServletRequest req, HttpServletResponse resp)
doPut(HttpServletRequest req, HttpServletResponse resp)
doDelete(HttpServletRequest req,HttpServletResponse resp)
SERVLET	HTTP	– EM	RESUMO
SERVLET	HTTP
Os métodosdoGet( ), doPost( ),recebem dois parâmetros:
HttpServletRequest
- encapsula os parâmetros da requisição
HttpServletResponse
- encapsula a resposta ao cliente
SERVLET	HTTP	
Diagrama
SERVLET	HTTP	- HTTPSERVLETREQUEST
Interface que encapsula a requisição feita pelo cliente através do
protocoloHTTP
Possui métodos que permitem recuperar os dados da requisição:
- cabeçalho
- dados de formulários ou parâmetros enviados
- informações sobre a sessão do cliente
SERVLET	HTTP	- HTTPSERVLETRESPONSE
Interface que encapsula a resposta ao cliente
Também é possível configurar qual	 é o tipo dos dados que estão
sendo enviados de para o cliente setContentType( String
type)
Os tiposmais comuns são:
text/html,
text/xml,
text/json
O método setContentType deve ser chamado antes do método
getWriter
SERVLET	HTTP	– PrimeiroServlet
SERVLET	HTTP	– PrimeiroServlet
SERVLET	HTTP	– PrimeiroServlet
SERVLET	HTTP	– PrimeiroServlet
SERVLET	HTTP	– PrimeiroServlet
SERVLET	HTTP	– PrimeiroServlet
SERVLET	HTTP	– PrimeiroServlet
SERVLET	HTTP	– PrimeiroServlet
SERVLET	HTTP	– PrimeiroServlet
SERVLET	HTTP	– CICLO	DE	VIDA
1.	O	ciclo de	vida de	um	servlet	é	controlado por um	container
2.	Quando o	servidor recebe uma requisição,	ela	é	repassada para	o	container	que a	
delega a	um	servlet.	O	container:	
Carrega a	classe na memória
Cria uma instância da	classe do	servlet
Inicializa a	instância chamandoo	métodoinit() 
3.	Depois queo	servlet	foi inicializado,	cada requisição	é	executada em um	método
service()
4.	O	container	cria um	objeto de	requisição (ServletRequest)	e	de	resposta
(ServletResponse)	e	depois chama service() passando os objetoscomo
param̂etros public	void	service(ServletRequest, ServletResponse) 
5.	Quando a	resposta	é	enviada,	os objetos são destruídos
6.	Quando o	container	decidir remover	o	servlet	da	memória,	ele o	finaliza chamando
destroy( ) 
SERVLET	HTTP	– CICLO	DE	VIDA
SERVLET	HTTP	– CICLO	DE	VIDA
SERVLET	HTTP	– Implantação Básica
O arquivo chave para implantação de um servlet é o web.xml
(descritor de implantação).
É um documento XML que contém informações que descrevem os
servlets.
Possui a tagweb-app que descreve todos os servlets da aplicação.
SERVLET	HTTP	– web.xml
SERVLET	HTTP	– web.xml
<servlet-name> é o nome que os servidores, por exemplo, Tomcat ou GlassFish irá
referenciar o servlet.
SERVLET	HTTP	– web.xml
<servlet-class> é o nome efetivo do servlet sem a extensão *.class.
SERVLET	HTTP	– web.xml
<servlet-mapping> utiliza a tag <url-pattern> define um nome que estará
associado ao servlet desejado.
Mais falta - TOM	”O	GATO”	ou TomCat
O Tomcat é um servidor web Java, mais especificamente,
um container de servlets. O Tomcat implementa, dentre
outras de menor relevância, as tecnologias Java Servlet e
JavaServer Pages (JSP). Desenvolvido pela Apache
Software Foundation,é distribuído como software livre.
http://ftp.unicamp.br/pub/apache/tomcat
/tomcat-7/v7.0.72/bin/apache-tomcat-
7.0.72-deployer.zip
TOMCAT

Outros materiais