servlet jsp tomcat 8
TRANSCRIPT
SERVLET, JSP E TOMCAT 8.0 Max Rosan
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 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.
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.
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.
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.
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í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
SERVLETS, JSP E MVC: EXEMPLO
Projeto: ExampleMVC
TOMCAT, JSP E SERVLET
Dúvidas ?