Download - Servlet jsp tomcat 8
![Page 2: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/2.jpg)
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.
![Page 3: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/3.jpg)
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
![Page 4: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/4.jpg)
HTTP: GET E POST
Essas requisições podem ser: GET, POST, PUT, DELETE, etc.
GET: é usado para requisitar dados sobre um recurso no servidor.
![Page 5: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/5.jpg)
HTTP: GET E POST
![Page 6: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/6.jpg)
HTTP: GET E POST
POST: é geralmente usado para enviar dados a serem processados no servidor.
![Page 7: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/7.jpg)
HTTP: GET E POST
![Page 8: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/8.jpg)
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.
![Page 9: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/9.jpg)
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.
![Page 10: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/10.jpg)
SERVLETS
Surgiram como uma resposta ao CGI (Common Gateway Interface).
Possuem esse nome por desempenharem funções semelhantes a um servidorWeb simples (GET, POST, etc.).
Consiste em uma classe Java que herda da classe HttpServlet.
Roda dentro de um chamado container Servlet, que recebe requisiçõesdo servidor e as repassa para as instâncias de Servlets.
Nos Servlets implementa-se os métodos correspondentes ao tipo de requisiçãoque se quer tratar: GET : doGet
POST: doPost
PUT doPut
Etc.
![Page 11: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/11.jpg)
SERVLETSHerda 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.
![Page 12: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/12.jpg)
SERVLETS: EXEMPLOComo 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.
![Page 13: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/13.jpg)
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 serdestruída. Deve ser utilizado para desalocaçãode 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.
![Page 14: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/14.jpg)
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.
![Page 15: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/15.jpg)
SERVLET: DEPLOYMENT
Vai ser utilizado aqui o Tomcat 8.0.
![Page 16: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/16.jpg)
SERVLET: EXEMPLO 01
Projeto: ExampleServlet02
![Page 17: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/17.jpg)
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.
![Page 18: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/18.jpg)
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.
![Page 19: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/19.jpg)
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
![Page 20: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/20.jpg)
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.
![Page 21: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/21.jpg)
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 %>.
![Page 22: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/22.jpg)
JSP
Elementos de expressão imprimem o resultado da avaliação de uma expressão Java.
São cercados por <%= e %>
Elemento de diretiva
![Page 23: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/23.jpg)
JSP
Outro elemento importante é do tipo diretiva:
![Page 24: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/24.jpg)
JSP
Projeto: JSPExample01
![Page 25: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/25.jpg)
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:
![Page 26: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/26.jpg)
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.
![Page 27: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/27.jpg)
SERVLETS E JSP: EXEMPLO
Projeto: DispatcherExample
![Page 28: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/28.jpg)
SERVLETS E JSP: MVC
Com Servlet e JSP é possívelimplementar o padrão MVC:
Controller: Servlet
Interpreta as requisições
Atualiza os modelos/dados e os recuperapara apresentação
View: JSP
Responsável por renderização dos dados
Model: parte de negócios, acesso aos dados
![Page 29: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/29.jpg)
SERVLETS, JSP E MVC: EXEMPLO
Projeto: ExampleMVC
![Page 30: Servlet jsp tomcat 8](https://reader036.vdocuments.mx/reader036/viewer/2022081800/58ee990d1a28abbf398b460b/html5/thumbnails/30.jpg)
TOMCAT, JSP E SERVLET
Dúvidas ?