SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
SERVLET, JSP E TOMCAT 8.0 Max Rosan
<max.rosan@ymail.com>
HTTP: GET E POST
HTTP: protocolo baseado no padrão cliente/servidor usado na Web.
Um cliente (browser) envia requisições e um servidor as responde.
Qualquer servidor Web implementa pelo menos o básico do HTTP.
HTTP: GET E POST
Passos ao acessar uma página:
1) Resolução de endereço por DNS
2) Envio do HTTP Request (GET ou POST)
3) Servidor vai interpretar a requisição (HTTP Request)
4) Servidor envia uma resposta (HTTP Response)
5) Browser interpreta a resposta e renderiza o resultado
HTTP: GET E POST
Essas requisições podem ser: GET, POST, PUT, DELETE, etc.
GET: é usado para requisitar dados sobre um recurso no servidor.
HTTP: GET E POST
HTTP: GET E POST
POST: é geralmente usado para enviar dados a serem processados no servidor.
HTTP: GET E POST
WEB ESTÁTICA
É possível construir páginas estáticas somente com HTML.
Não há processamento de dados e, portanto, não há interatividade com o usuário.
Qualquer atualização nas páginas teria que ser feita na mão.
Há algum tempo já é possível ter maior dinamismo na Web, várias tecnologias
permitem que o usuário tenha maior interatividade com o lado servidor.
WEB DINÂMICA COM SERVLETS E JSP
Duas dessas tecnologias são JSP e Servlets.
A cada requisição, JSPs e Servlets são interpretados/compilados e/ou executados.
JSP: linguagem de script com código Java; Servlet: classes Java
Repassa requisição para engine
responsável.
Converte para Servlet.
Executa Servlet e constrói
a resposta com HTML.
SERVLETS
Surgiram como uma resposta ao CGI (Common Gateway Interface).
Possuem esse nome por desempenharem funções semelhantes a um servidor
Web simples (GET, POST, etc.).
Consiste em uma classe Java que herda da classe HttpServlet.
Roda dentro de um chamado container Servlet, que recebe requisições
do servidor e as repassa para as instâncias de Servlets.
Nos Servlets implementa-se os métodos correspondentes ao tipo de requisição
que se quer tratar:
 GET : doGet
 POST: doPost
 PUT doPut
 Etc.
SERVLETS
Herda de HttpServlet.
Exemplo de implementação
do doGet.
Parâmetros e atributos da
requisição.
Parâmetros e atributos a serem
passados para resposta.
Métodos prints do PrinterWriter vão ser
usados para construir o corpo da resposta.
SERVLETS: EXEMPLO
Como construir uma página HTML com Servlets ?
É necessário definir o tipo da saída, definindo
o cabeçalho Content-type.
Todo o HTML vai ser passado
como String nas funções print do
PrintWriter.
SERVLETS: CICLO DE VIDA
Servlets são instanciados uma vez por JVM
(no geral).
init: Chamado assim que o Servlet é instanciado.
Utilizado para alocação de recursos.
service: Chamado para tratar cada requisição.
destroy: Chamado quando a instância do servlet vai ser
destruída. Deve ser utilizado para desalocação
de recursos.
service não é thread-safe (não garante execução segura p/várias threads), então é
necessário ter cuidado com o uso concorrente dos recursos.
SERVLET: COMO ACESSAR?
Nas versões mais antigas da API dos Servlets
era necessário editar o arquivo web.xml para
mapear os endereços dos Servlets.
Nas versões mais recentes, basta utilizar anota-
ções.
Anotações permitem a configuração dos objetos
ou classes ainda no código, em vez de criar um
XML à parte. São trechos de códigos pré-
processados.
SERVLET: DEPLOYMENT
Vai ser utilizado aqui o Tomcat 8.0.
SERVLET: EXEMPLO 01
Projeto: ExampleServlet02
HTML: FORMULÁRIOS
Formulários são elementos bem utilizados em páginas em HTML.
Permitem a interação com o lado servidor.
Duas tags importantes: <form> e <input>.
Type pode ter os seguintes valores:
• radio
• checkbox
• text
• submit
• Etc.
HTML: FORMULÁRIOS
<form> possuem dois atributos:
 Action: define o destino dos dados colocados no formulário;
 Method: define a forma como os dados vão ser enviados, por GET ou POST.
SERVLET E FORMULÁRIOS: EXEMPLO 02
Com Servlets pode-se processar dados provenientes de formulários HTML.
Para isso, utiliza-se getParameter do HTTPServletRequest.
Exemplo: ExampleServletForm
JSP
Criar páginas em HTML com Servlets é um processo laborioso.
Além disso, mistura-se parte estática das páginas com a parte dinâmica.
Haveria código de lógica de negócio, com apresentação, com a parte de controle,
etc.
JSP facilita enormente o processo de desenvolvimento e organização do projeto.
Permite embutir código Java em meio ao HTML, e não o contrário.
Cada JSP é convertido para um Servlet pelo servidor.
JSP
O código JSP é dividido nos seguintes elementos: diretivas, declarações, scriptlets e
expressões.
Scriptlets são trechos de códigos Java cercados por <% e %>.
JSP
Elementos de expressão imprimem o resultado da avaliação de uma expressão Java.
São cercados por <%= e %>
Elemento de diretiva
JSP
Outro elemento importante é do tipo diretiva:
JSP
Projeto: JSPExample01
SERVLETS E JSP
Qual usar ? JSP ou Servlet ? Ambos...
Delega-se toda a parte de visão e interface para o JSP, enquanto para o Servlet
põe-se tarefas mais complexas, como controle e interface com a parte de
negócios/modelo.
Os Servlets podem fazer o processamento inicial dos parâmetros de requisições e
enviar os resultados para exibição para o JSP.
Isso é realizado com o RequestDispatcher no Servlet:
SERVLETS E JSP
Como passar dados do Servlet p/JSP ?
Usa-se setAttribute do HttpServletRequest no Servlet;
E para pegar os dados no JSP usa-se getAttribute do objeto request.
SERVLETS E JSP: EXEMPLO
Projeto: DispatcherExample
SERVLETS E JSP: MVC
Com Servlet e JSP é possível
implementar o padrão MVC:
 Controller: Servlet
 Interpreta as requisições
 Atualiza os modelos/dados e os recupera
para apresentação
 View: JSP
 Responsável por renderização dos dados
 Model: parte de negócios, acesso aos dados
SERVLETS, JSP E MVC: EXEMPLO
Projeto: ExampleMVC
TOMCAT, JSP E SERVLET
Dúvidas ?

Contenu connexe

Tendances

Aula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageAula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageEvandro Júnior
 
Introdução à programação para web com Java - Módulo 03: Conceitos básicos de...
Introdução à programação para web com Java -  Módulo 03: Conceitos básicos de...Introdução à programação para web com Java -  Módulo 03: Conceitos básicos de...
Introdução à programação para web com Java - Módulo 03: Conceitos básicos de...Professor Samuel Ribeiro
 
PhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha CamaradaPhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha CamaradaHenrique Gogó
 
Engenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoEngenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoGuilhermePetrosky
 
Tomcat e Aplicações Web
Tomcat e Aplicações WebTomcat e Aplicações Web
Tomcat e Aplicações Webelliando dias
 
Interagindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPInteragindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPEduardo Cesar
 
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...Professor Samuel Ribeiro
 
Explorando mule esb sftp adapter
Explorando mule esb sftp adapterExplorando mule esb sftp adapter
Explorando mule esb sftp adapterJeison Barros
 
Transformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para jsonTransformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para jsonJeison Barros
 
Introdução ao desenvolvimento web com Java
Introdução ao desenvolvimento web com JavaIntrodução ao desenvolvimento web com Java
Introdução ao desenvolvimento web com JavaFellipeFonseca
 
Uma abordagem ao Java EE 6
Uma abordagem ao Java EE 6Uma abordagem ao Java EE 6
Uma abordagem ao Java EE 6danielfcampos
 

Tendances (20)

jsp-intro
jsp-introjsp-intro
jsp-intro
 
Curso de JSP
Curso de JSPCurso de JSP
Curso de JSP
 
Aula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server PageAula 1 - curso java web - JSP Java Server Page
Aula 1 - curso java web - JSP Java Server Page
 
Ajax
AjaxAjax
Ajax
 
Introdução à programação para web com Java - Módulo 03: Conceitos básicos de...
Introdução à programação para web com Java -  Módulo 03: Conceitos básicos de...Introdução à programação para web com Java -  Módulo 03: Conceitos básicos de...
Introdução à programação para web com Java - Módulo 03: Conceitos básicos de...
 
PhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha CamaradaPhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha Camarada
 
Engenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galoEngenharia da Computação: Resumo servlet + jsp br galo
Engenharia da Computação: Resumo servlet + jsp br galo
 
Tomcat e Aplicações Web
Tomcat e Aplicações WebTomcat e Aplicações Web
Tomcat e Aplicações Web
 
ASP.NET AJAX
ASP.NET AJAXASP.NET AJAX
ASP.NET AJAX
 
Interagindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPInteragindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHP
 
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...
 
Explorando mule esb sftp adapter
Explorando mule esb sftp adapterExplorando mule esb sftp adapter
Explorando mule esb sftp adapter
 
Contextos
ContextosContextos
Contextos
 
Java Server Pages
Java Server PagesJava Server Pages
Java Server Pages
 
Transformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para jsonTransformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para json
 
servlet-introducao
servlet-introducaoservlet-introducao
servlet-introducao
 
Tag Libraries e JSTL
Tag Libraries e JSTLTag Libraries e JSTL
Tag Libraries e JSTL
 
Vhosts dinâmico
Vhosts dinâmicoVhosts dinâmico
Vhosts dinâmico
 
Introdução ao desenvolvimento web com Java
Introdução ao desenvolvimento web com JavaIntrodução ao desenvolvimento web com Java
Introdução ao desenvolvimento web com Java
 
Uma abordagem ao Java EE 6
Uma abordagem ao Java EE 6Uma abordagem ao Java EE 6
Uma abordagem ao Java EE 6
 

Similaire à HTTP GET e POST com Servlets e JSP

Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Helder da Rocha
 
02 - Fundamentos de Servlets
02 - Fundamentos de Servlets02 - Fundamentos de Servlets
02 - Fundamentos de ServletsMarcio Marinho
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationMario Sergio
 
Trabalho ProgramaçãO Comercial Ii
Trabalho ProgramaçãO Comercial IiTrabalho ProgramaçãO Comercial Ii
Trabalho ProgramaçãO Comercial IiMateus Ramos Pereira
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves PagesAmanda Luz
 
Revisao Geral
Revisao GeralRevisao Geral
Revisao GeralOscar
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev IntroduçãoMarcio Marinho
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Rafael Benevides
 
Introdução de web
Introdução de webIntrodução de web
Introdução de webSedu
 
Desenvolvimento de sistemas web com php Frameworks - Aula 1
Desenvolvimento de sistemas web com php Frameworks - Aula 1Desenvolvimento de sistemas web com php Frameworks - Aula 1
Desenvolvimento de sistemas web com php Frameworks - Aula 1Thyago Maia
 
De Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações MashupDe Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações MashupWagner Roberto dos Santos
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojofabioginzel
 

Similaire à HTTP GET e POST com Servlets e JSP (20)

Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)
 
02 - Fundamentos de Servlets
02 - Fundamentos de Servlets02 - Fundamentos de Servlets
02 - Fundamentos de Servlets
 
Curso de Servlets
Curso de ServletsCurso de Servlets
Curso de Servlets
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
 
Servlets
ServletsServlets
Servlets
 
Trabalho ProgramaçãO Comercial Ii
Trabalho ProgramaçãO Comercial IiTrabalho ProgramaçãO Comercial Ii
Trabalho ProgramaçãO Comercial Ii
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves Pages
 
Revisao Geral
Revisao GeralRevisao Geral
Revisao Geral
 
Te servelts
Te serveltsTe servelts
Te servelts
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007Apostilava Java EE 5 - 2007
Apostilava Java EE 5 - 2007
 
Web Sphere
Web SphereWeb Sphere
Web Sphere
 
Aplicações web parte 2
Aplicações web parte 2Aplicações web parte 2
Aplicações web parte 2
 
Introdução de web
Introdução de webIntrodução de web
Introdução de web
 
Desenvolvimento de sistemas web com php Frameworks - Aula 1
Desenvolvimento de sistemas web com php Frameworks - Aula 1Desenvolvimento de sistemas web com php Frameworks - Aula 1
Desenvolvimento de sistemas web com php Frameworks - Aula 1
 
Java Web 1 Introducao
Java Web 1 IntroducaoJava Web 1 Introducao
Java Web 1 Introducao
 
De Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações MashupDe Web Services RESTful a Aplicações Mashup
De Web Services RESTful a Aplicações Mashup
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
 
Fundamentos de arquitetura Web
Fundamentos de arquitetura WebFundamentos de arquitetura Web
Fundamentos de arquitetura Web
 
Aplicações web parte 1
Aplicações web parte 1Aplicações web parte 1
Aplicações web parte 1
 

HTTP GET e POST com Servlets e JSP

  • 1. SERVLET, JSP E TOMCAT 8.0 Max Rosan <max.rosan@ymail.com>
  • 2. HTTP: GET E POST HTTP: protocolo baseado no padrão cliente/servidor usado na Web. Um cliente (browser) envia requisições e um servidor as responde. Qualquer servidor Web implementa pelo menos o básico do HTTP.
  • 3. HTTP: GET E POST Passos ao acessar uma página: 1) Resolução de endereço por DNS 2) Envio do HTTP Request (GET ou POST) 3) Servidor vai interpretar a requisição (HTTP Request) 4) Servidor envia uma resposta (HTTP Response) 5) Browser interpreta a resposta e renderiza o resultado
  • 4. HTTP: GET E POST Essas requisições podem ser: GET, POST, PUT, DELETE, etc. GET: é usado para requisitar dados sobre um recurso no servidor.
  • 5. HTTP: GET E POST
  • 6. HTTP: GET E POST POST: é geralmente usado para enviar dados a serem processados no servidor.
  • 7. HTTP: GET E POST
  • 8. WEB ESTÁTICA É possível construir páginas estáticas somente com HTML. Não há processamento de dados e, portanto, não há interatividade com o usuário. Qualquer atualização nas páginas teria que ser feita na mão. Há algum tempo já é possível ter maior dinamismo na Web, várias tecnologias permitem que o usuário tenha maior interatividade com o lado servidor.
  • 9. WEB DINÂMICA COM SERVLETS E JSP Duas dessas tecnologias são JSP e Servlets. A cada requisição, JSPs e Servlets são interpretados/compilados e/ou executados. JSP: linguagem de script com código Java; Servlet: classes Java Repassa requisição para engine responsável. Converte para Servlet. Executa Servlet e constrói a resposta com HTML.
  • 10. SERVLETS Surgiram como uma resposta ao CGI (Common Gateway Interface). Possuem esse nome por desempenharem funções semelhantes a um servidor Web simples (GET, POST, etc.). Consiste em uma classe Java que herda da classe HttpServlet. Roda dentro de um chamado container Servlet, que recebe requisições do servidor e as repassa para as instâncias de Servlets. Nos Servlets implementa-se os métodos correspondentes ao tipo de requisição que se quer tratar:  GET : doGet  POST: doPost  PUT doPut  Etc.
  • 11. SERVLETS Herda de HttpServlet. Exemplo de implementação do doGet. Parâmetros e atributos da requisição. Parâmetros e atributos a serem passados para resposta. Métodos prints do PrinterWriter vão ser usados para construir o corpo da resposta.
  • 12. SERVLETS: EXEMPLO Como construir uma página HTML com Servlets ? É necessário definir o tipo da saída, definindo o cabeçalho Content-type. Todo o HTML vai ser passado como String nas funções print do PrintWriter.
  • 13. SERVLETS: CICLO DE VIDA Servlets são instanciados uma vez por JVM (no geral). init: Chamado assim que o Servlet é instanciado. Utilizado para alocação de recursos. service: Chamado para tratar cada requisição. destroy: Chamado quando a instância do servlet vai ser destruída. Deve ser utilizado para desalocação de recursos. service não é thread-safe (não garante execução segura p/várias threads), então é necessário ter cuidado com o uso concorrente dos recursos.
  • 14. SERVLET: COMO ACESSAR? Nas versões mais antigas da API dos Servlets era necessário editar o arquivo web.xml para mapear os endereços dos Servlets. Nas versões mais recentes, basta utilizar anota- ções. Anotações permitem a configuração dos objetos ou classes ainda no código, em vez de criar um XML à parte. São trechos de códigos pré- processados.
  • 15. SERVLET: DEPLOYMENT Vai ser utilizado aqui o Tomcat 8.0.
  • 16. SERVLET: EXEMPLO 01 Projeto: ExampleServlet02
  • 17. HTML: FORMULÁRIOS Formulários são elementos bem utilizados em páginas em HTML. Permitem a interação com o lado servidor. Duas tags importantes: <form> e <input>. Type pode ter os seguintes valores: • radio • checkbox • text • submit • Etc.
  • 18. HTML: FORMULÁRIOS <form> possuem dois atributos:  Action: define o destino dos dados colocados no formulário;  Method: define a forma como os dados vão ser enviados, por GET ou POST.
  • 19. SERVLET E FORMULÁRIOS: EXEMPLO 02 Com Servlets pode-se processar dados provenientes de formulários HTML. Para isso, utiliza-se getParameter do HTTPServletRequest. Exemplo: ExampleServletForm
  • 20. JSP Criar páginas em HTML com Servlets é um processo laborioso. Além disso, mistura-se parte estática das páginas com a parte dinâmica. Haveria código de lógica de negócio, com apresentação, com a parte de controle, etc. JSP facilita enormente o processo de desenvolvimento e organização do projeto. Permite embutir código Java em meio ao HTML, e não o contrário. Cada JSP é convertido para um Servlet pelo servidor.
  • 21. JSP O código JSP é dividido nos seguintes elementos: diretivas, declarações, scriptlets e expressões. Scriptlets são trechos de códigos Java cercados por <% e %>.
  • 22. JSP Elementos de expressão imprimem o resultado da avaliação de uma expressão Java. São cercados por <%= e %> Elemento de diretiva
  • 23. JSP Outro elemento importante é do tipo diretiva:
  • 25. SERVLETS E JSP Qual usar ? JSP ou Servlet ? Ambos... Delega-se toda a parte de visão e interface para o JSP, enquanto para o Servlet põe-se tarefas mais complexas, como controle e interface com a parte de negócios/modelo. Os Servlets podem fazer o processamento inicial dos parâmetros de requisições e enviar os resultados para exibição para o JSP. Isso é realizado com o RequestDispatcher no Servlet:
  • 26. SERVLETS E JSP Como passar dados do Servlet p/JSP ? Usa-se setAttribute do HttpServletRequest no Servlet; E para pegar os dados no JSP usa-se getAttribute do objeto request.
  • 27. SERVLETS E JSP: EXEMPLO Projeto: DispatcherExample
  • 28. SERVLETS E JSP: MVC Com Servlet e JSP é possível implementar o padrão MVC:  Controller: Servlet  Interpreta as requisições  Atualiza os modelos/dados e os recupera para apresentação  View: JSP  Responsável por renderização dos dados  Model: parte de negócios, acesso aos dados
  • 29. SERVLETS, JSP E MVC: EXEMPLO Projeto: ExampleMVC
  • 30. TOMCAT, JSP E SERVLET Dúvidas ?