servlet jsp tomcat 8

30
SERVLET, JSP E TOMCAT 8.0 Max Rosan <[email protected]>

Upload: maxrosan

Post on 22-Jan-2018

147 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Servlet jsp tomcat 8

SERVLET, JSP E TOMCAT 8.0 Max Rosan

<[email protected]>

Page 2: Servlet jsp tomcat 8

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

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

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

HTTP: GET E POST

Page 6: Servlet jsp tomcat 8

HTTP: GET E POST

POST: é geralmente usado para enviar dados a serem processados no servidor.

Page 7: Servlet jsp tomcat 8

HTTP: GET E POST

Page 8: Servlet jsp tomcat 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.

Page 9: Servlet jsp tomcat 8

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

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

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

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

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

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

SERVLET: DEPLOYMENT

Vai ser utilizado aqui o Tomcat 8.0.

Page 16: Servlet jsp tomcat 8

SERVLET: EXEMPLO 01

Projeto: ExampleServlet02

Page 17: Servlet jsp tomcat 8

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

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

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

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

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

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

JSP

Outro elemento importante é do tipo diretiva:

Page 24: Servlet jsp tomcat 8

JSP

Projeto: JSPExample01

Page 25: Servlet jsp tomcat 8

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

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

SERVLETS E JSP: EXEMPLO

Projeto: DispatcherExample

Page 28: Servlet jsp tomcat 8

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

SERVLETS, JSP E MVC: EXEMPLO

Projeto: ExampleMVC

Page 30: Servlet jsp tomcat 8

TOMCAT, JSP E SERVLET

Dúvidas ?