Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é...

49
1 April 05 Prof. Ismael H. F. Santos - [email protected] 1 Módulo IVa - Servlets Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - [email protected] 2 Ementa Módulo IVa – Servlets Overview Servlets e JSP Ciclo de Vida HTTP Servlets Gerenciamento de Sessão Contêineres Web – Apache Tomcat Cookies

Transcript of Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é...

Page 1: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

1

April 05 Prof. Ismael H. F. Santos - [email protected] 1

Módulo IVa - Servlets

Prof. Ismael H F Santos

April 05 Prof. Ismael H. F. Santos - [email protected] 2

Ementa

Módulo IVa – ServletsOverview Servlets e JSPCiclo de VidaHTTP ServletsGerenciamento de SessãoContêineres Web – Apache TomcatCookies

Page 2: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

2

April 05 Prof. Ismael H. F. Santos - [email protected] 3

Linguagem de Programação JAVAIsmael H. F. Santos, Apostila UniverCidade, 2002

The Java Tutorial: A practical guide for programmersTutorial on-line: http://java.sun.com/docs/books/tutorial

Java in a NutshellDavid Flanagan, O´Reilly & Associates

Just Java 2Mark C. Chan, Steven W. Griffith e Anthony F. Iasi, Makron

Books.Java 1.2

Laura Lemay & Rogers Cadenhead, Editora Campos

Bibliografia

April 05 Prof. Ismael H. F. Santos - [email protected] 4

LivrosCore Java 2, Cay S. Horstmann, Gary Cornell

Volume 1 (Fundamentos)Volume 2 (Características Avançadas)

Java: Como Programar, Deitel & DeitelThinking in Patterns with JAVA, Bruce Eckel

Gratuito. http://www.mindview.net/Books/TIJ/

Page 3: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

3

April 05 Prof. Ismael H. F. Santos - [email protected] 5

ServletsE

JSP

POO-Java

April 05 Prof. Ismael H. F. Santos - [email protected] 6

Servlet API

Page 4: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

4

April 05 Prof. Ismael H. F. Santos - [email protected] 7

Java e Aplicações Web

April 05 Prof. Ismael H. F. Santos - [email protected] 8

Servlets - Introdução

Page 5: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

5

April 05 Prof. Ismael H. F. Santos - [email protected] 9

Primeiro Servlet

April 05 Prof. Ismael H. F. Santos - [email protected] 10

Primeiro JSP

Page 6: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

6

April 05 Prof. Ismael H. F. Santos - [email protected] 11

Pagina recebida no browser

April 05 Prof. Ismael H. F. Santos - [email protected] 12

JavaBeans

Page 7: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

7

April 05 Prof. Ismael H. F. Santos - [email protected] 13

Java Beans

Um Java Bean nada mais é do que uma classe Java com algumas características especiais:

Possui um construtor default (lista de parâmetros vazios)Possui propriedades (métodos de acesso get e setpara os seus atributos.). Forma geral:

public TipoPropriedade getPropriedade(); public voidsetPropriedade(TipoPropriedade valor);

Exemplo de bean:Usuario.java (nas paste web dos exemplos)

April 05 Prof. Ismael H. F. Santos - [email protected] 14

Exemplo de JavaBean

Page 8: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

8

April 05 Prof. Ismael H. F. Santos - [email protected] 15

Usando JavaBean em pagina JSP

Imprime: Hello, World

April 05 Prof. Ismael H. F. Santos - [email protected] 16

Componentes Web

Page 9: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

9

April 05 Prof. Ismael H. F. Santos - [email protected] 17

Contextos em Aplicações Web

April 05 Prof. Ismael H. F. Santos - [email protected] 18

Estrutura de uma Aplicação Web

Page 10: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

10

April 05 Prof. Ismael H. F. Santos - [email protected] 19

Componentes de um contexto

April 05 Prof. Ismael H. F. Santos - [email protected] 20

URL de acesso ao contexto

Page 11: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

11

April 05 Prof. Ismael H. F. Santos - [email protected] 21

Criando um contexto válido

April 05 Prof. Ismael H. F. Santos - [email protected] 22

Exemplo configuração (1/3)

Page 12: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

12

April 05 Prof. Ismael H. F. Santos - [email protected] 23

Exemplo configuração (2/3)

April 05 Prof. Ismael H. F. Santos - [email protected] 24

Exemplo configuração (3/3)

Page 13: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

13

April 05 Prof. Ismael H. F. Santos - [email protected] 25

Web Archive

April 05 Prof. Ismael H. F. Santos - [email protected] 26

Ciclode Vida

POO-Java

Page 14: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

14

April 05 Prof. Ismael H. F. Santos - [email protected] 27

Servlets - API

April 05 Prof. Ismael H. F. Santos - [email protected] 28

Servlets – Ciclo de Vida

Page 15: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

15

April 05 Prof. Ismael H. F. Santos - [email protected] 29

Servlets – Ciclo de Vida

April 05 Prof. Ismael H. F. Santos - [email protected] 30

Servlets – Métodos de Serviço

Page 16: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

16

April 05 Prof. Ismael H. F. Santos - [email protected] 31

Servlets – Métodos de Serviço (2)

April 05 Prof. Ismael H. F. Santos - [email protected] 32

HTTPServlets

POO-Java

Page 17: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

17

April 05 Prof. Ismael H. F. Santos - [email protected] 33

HTTP Servlets - API

April 05 Prof. Ismael H. F. Santos - [email protected] 34

Criando um HTTP servlet

Page 18: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

18

April 05 Prof. Ismael H. F. Santos - [email protected] 35

Métodos de serviço HTTP

April 05 Prof. Ismael H. F. Santos - [email protected] 36

Inicialização

Page 19: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

19

April 05 Prof. Ismael H. F. Santos - [email protected] 37

Requisição HTTP

April 05 Prof. Ismael H. F. Santos - [email protected] 38

Obtendo dados da requisição

Page 20: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

20

April 05 Prof. Ismael H. F. Santos - [email protected] 39

Resposta HTTP

April 05 Prof. Ismael H. F. Santos - [email protected] 40

Preenchimento da resposta

Page 21: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

21

April 05 Prof. Ismael H. F. Santos - [email protected] 41

doGet() e doPost()

April 05 Prof. Ismael H. F. Santos - [email protected] 42

Parâmetros da requisição

Page 22: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

22

April 05 Prof. Ismael H. F. Santos - [email protected] 43

Obtendo parâmetros da requisição

April 05 Prof. Ismael H. F. Santos - [email protected] 44

Gerando a resposta

Page 23: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

23

April 05 Prof. Ismael H. F. Santos - [email protected] 45

Compilação e implementação

April 05 Prof. Ismael H. F. Santos - [email protected] 46

Execução

Page 24: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

24

April 05 Prof. Ismael H. F. Santos - [email protected] 47

Instâncias de servlets

April 05 Prof. Ismael H. F. Santos - [email protected] 48

Servlet alias – mapeamento no web.xml

Page 25: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

25

April 05 Prof. Ismael H. F. Santos - [email protected] 49

Sintaxe de mapeamentos

April 05 Prof. Ismael H. F. Santos - [email protected] 50

Anatomia de uma URL

Page 26: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

26

April 05 Prof. Ismael H. F. Santos - [email protected] 51

ServletConfig

April 05 Prof. Ismael H. F. Santos - [email protected] 52

Parâmetros de inicialização

Page 27: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

27

April 05 Prof. Ismael H. F. Santos - [email protected] 53

Lendo Parâmetros de inicialização

April 05 Prof. Ismael H. F. Santos - [email protected] 54

ServletContext

Page 28: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

28

April 05 Prof. Ismael H. F. Santos - [email protected] 55

Inicialização de contexto

April 05 Prof. Ismael H. F. Santos - [email protected] 56

Carregamento de arquivos no contexto

Page 29: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

29

April 05 Prof. Ismael H. F. Santos - [email protected] 57

Gravação de atributos no contexto

April 05 Prof. Ismael H. F. Santos - [email protected] 58

Escopo e Threads

Page 30: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

30

April 05 Prof. Ismael H. F. Santos - [email protected] 59

Repasse de requisição

April 05 Prof. Ismael H. F. Santos - [email protected] 60

Redirecionamento x Repasse

Page 31: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

31

April 05 Prof. Ismael H. F. Santos - [email protected] 61

GerenciamentoSessão

POO-Java

April 05 Prof. Ismael H. F. Santos - [email protected] 62

Sessões

Page 32: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

32

April 05 Prof. Ismael H. F. Santos - [email protected] 63

Sessões

April 05 Prof. Ismael H. F. Santos - [email protected] 64

Compartilhamento objetos na seção

Page 33: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

33

April 05 Prof. Ismael H. F. Santos - [email protected] 65

Sessão

April 05 Prof. Ismael H. F. Santos - [email protected] 66

Escopo de objetos em servlets

Page 34: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

34

April 05 Prof. Ismael H. F. Santos - [email protected] 67

Escopo de objetos em servlets: resumo

April 05 Prof. Ismael H. F. Santos - [email protected] 68

Recursos compartilhados

Page 35: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

35

April 05 Prof. Ismael H. F. Santos - [email protected] 69

Acesso a Bancos de Dados

April 05 Prof. Ismael H. F. Santos - [email protected] 70

Acesso ao pool de conexões

Page 36: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

36

April 05 Prof. Ismael H. F. Santos - [email protected] 71

Configurando o Tomcat

POO-Java

April 05 Prof. Ismael H. F. Santos - [email protected] 72

Contêineres WEBOs scriptlets contidos nas páginas JSP são processados pelo Contêiner JSP;

Ao browser, chega apenas a página HTML resultante do processamento do arquivo .jsp. Ou seja scriptlets(<% ... %>) nunca chegam ao browser.

Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web.

Um Contêiner Web pode estar executando como parte de um servidor HTTP ou pode ele próprio ser o servidor.

Page 37: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

37

April 05 Prof. Ismael H. F. Santos - [email protected] 73

Contêineres WEBO Contêiner Web é responsável por:

transformar arquivos JSP em arquivos fonte em Java (mais especificamente, em fontes servlets)compilar esses arquivos fonte, criando arquivos .classrepassar esses arquivos .class à JVM para para execução.

Existem diversos Contêineres WEB atualmente...

April 05 Prof. Ismael H. F. Santos - [email protected] 74

Contêineres WEB (cont.)Apache Tomcat

http://jakarta.apache.org/tomcat/Sun JSWDK

http://java.sun.com/products/servlet/download.htmlAllaire JRun

http://www.allaire.com/products/jrun/New Atlanta ServletExec

http://newatlanta.com/Gefion Software LiteWebServer

http://www.gefionsoftware.com/LiteWebServer/Sun Java Web Server™

http://www.sun.com/software/jwebserver/try/

Page 38: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

38

April 05 Prof. Ismael H. F. Santos - [email protected] 75

Contêineres WEB (cont.)Bluestone

http://www.bluestone.comBorland Enterprise Server

http://www.inprise.comiPlanet Application Server

http://www.iplanet.comOrbix E2A (formally iPortal)

http://www.iona.comJetty

http://www.mortbay.comJRun

http://www.allaire.com

April 05 Prof. Ismael H. F. Santos - [email protected] 76

Contêineres WEB (cont.)

Orion Application Serverhttp://www.orionserver.com

Resinhttp://www.caucho.com

SilverStreamhttp://www.silverstream.com

Weblogic Application Serverhttp://www.bea.com

WebSpherehttp://www-4.ibm.com/sfotware/webservers/appserv

Page 39: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

39

April 05 Prof. Ismael H. F. Santos - [email protected] 77

Tomcat

É um servidor Web (open source) do projeto Apache.Atualmente, na versão 5.0.xO dois principais módulos do Tomcat são

Catalina, o contêiner WEB do Tomcat.Jasper, o compilador de páginas JSPConectores. O conector padrão é o HTTP.

Por default, o Tomcat ocupará a porta 8080 da máquina onde estiver executando.Pasta de instalação default (CATALINA_HOME)

C:\Program Files\Apache Software Foundation\Tomcat 5.0

April 05 Prof. Ismael H. F. Santos - [email protected] 78

Estrutura de pastas do Tomcat 5.0

work: onde são gerados os .java das servlets a partir de JSPsbin: executáveis do Tomcatcommons: classes utilizadas pelo Tomcat que também estão disponíveis para as aplicações implantadas.webapps: pastas de contextos (para conter as aplicações Web)shared: contém classes que visíveis para todas as aplicações (e.g., driver JDBC)

Page 40: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

40

April 05 Prof. Ismael H. F. Santos - [email protected] 79

Estrutura de pastas do Tomcat 5.0

server: classes que formam o servidor Tomcat e o seu contêiner WEB.conf: arquivos de configuração (server.xml e outros)logs: arquivos de log para as aplicações. Refira-se a esses arquivos para depurar suas aplicações.temp: diretório temporário utilizado internamente pelo Tomcat

April 05 Prof. Ismael H. F. Santos - [email protected] 80

Operação com o Tomcat

Derrubando e levantando: para levantar ou derrubar o Tomcat, utilize a ferramenta Tomcat Monitor.

Alternativamente, pode-se fazer isso com os scripts localizados na pasta bin: startup.bat e shutdown.bat.

Abra um navegador WEB e acesse a página cujo endereço é http://localhost:8080O resultado é a página principal do Tomcat

Com links para documentação a para administração do servidorTomcat Manager (gerenciamento das aplicações WEB)Tomcat Administration (configuração do servidor WEB)Exemplos de JSPs e de servlets

Page 41: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

41

April 05 Prof. Ismael H. F. Santos - [email protected] 81

Contextos

Um contexto é um diretório que deve ser criado pelo programador para que o Tomcat reconheça os arquivos e recursos de uma aplicação Web.Esses diretórios armazenam os recursos (arquivos) de uma aplicação WEB.No Tomcat, há três maneiras de criar o contexto de uma aplicação WEB:1. Transferir os arquivos da aplicação (JSP, servlets, imagens,

etc.) para contextos predefinidos pelo servidor.2. Configurar o servidor para que reconheça um novo contexto

onde os arquivos da aplicação residem (server.xml)3. Implantar a aplicação como um WebArchive (WAR)

April 05 Prof. Ismael H. F. Santos - [email protected] 82

Implantação de aplicações no Tomcat

O contexto raiz chama-se ROOT.Arquivos copiados para <CATALINA_HOME>\webapps\ROOT podem ser acessados via http://servidor:8080/Servlets em <CATALINA_HOME>\webapps\ROOT\WEB-INF\classes podem ser acessados via http://servidor:8080/servlet/

Page 42: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

42

April 05 Prof. Ismael H. F. Santos - [email protected] 83

Implantação de aplicações no Tomcat

Para informar o Tomcat de um contexto externo à raiz, o arquivo server.xml deve ser editado.

Esse arquivo é armazenado em <CATALINA_HOME>\confExemplo: contexto expljsp.

Para aplicações complexas, crie um ou mais arquivos WAR (Web ARchive)

Use a ferramenta jar para empacotar os arquivos da aplicação.Renomeie o arquivo com a extensão war.Copie esse arquivo para a pasta raiz do contêiner.

April 05 Prof. Ismael H. F. Santos - [email protected] 84

Construção de uma servletPassos para construir uma servlet1. Crie uma estrutura de diretórios para a sua aplicação.

Pastas WEB-INF e classesNota: o conteúdo de WEB-INF não é visível a partir do browser.

2. Escreva o código fonte da servlet.É necessário importar os pacotes javax.servlet e javax.servlet.http.

3. Compile o código fonte. O arquivo servlet-api.jar deve estar no classpath

Localizado em <CATALINA_HOME>\common\lib\servlet-api.jar

Page 43: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

43

April 05 Prof. Ismael H. F. Santos - [email protected] 85

Construção de uma servletPassos para construir uma servlet (cont.)

4. Crie um descritor de implantação (deploymentdescriptor).

Passo opcional.Um descritor de implantação é um arquivo XML (web.xml)

5. Execute o Tomcat. 6. Chame a servlet a partir de um navegador web.

April 05 Prof. Ismael H. F. Santos - [email protected] 86

Jakarta Tomcat - Configuração

Registrando ServletsO arquivo web.xml

Localizado em geral no diretório:%CATALINA_HOME%\webapps\<Aplicacao>\WEB-INF

Registrando um servlet:<web-app>

<servlet><servlet-name>ServletSes</servlet-name><servlet-class>interfPesquisa.ServletSes</servlet-class>

</servlet></web-app>

Page 44: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

44

April 05 Prof. Ismael H. F. Santos - [email protected] 87

Jakarta Tomcat - Configuração

Parametros de inicializaçãoMuitas vezes existem valores que são constantes durante a execução do servlet, mas que podem mudar durante a vida da aplicação:Exemplo:

Localização de recursos, Mensagens padrão

Principais métodos Classes Servlet e ServletConfig

public java.util.Enumeration getInitParameterNames()public java.lang.StringgetInitParameter(java.lang.String name)

April 05 Prof. Ismael H. F. Santos - [email protected] 88

Parâmetros de InicializaçãoConfigurando no Tomcat

Arquivo web.xml

Page 45: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

45

April 05 Prof. Ismael H. F. Santos - [email protected] 89

Jakarta Tomcat - Configuração

init( ServletConfig config )

April 05 Prof. Ismael H. F. Santos - [email protected] 90

CookiesPOO-Java

Page 46: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

46

April 05 Prof. Ismael H. F. Santos - [email protected] 91

Controle de sessão

April 05 Prof. Ismael H. F. Santos - [email protected] 92

Cookies

Page 47: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

47

April 05 Prof. Ismael H. F. Santos - [email protected] 93

Exemplo com cookies: Loja Virtual

April 05 Prof. Ismael H. F. Santos - [email protected] 94

Cookies

Um cookie corresponde a uma informação que o servidor requisita que seja armazenada no cliente.

Seguem sempre o formato: nome=valorExemplos: usuario=bezerra, id=1234

Cookies são criados através de cabeçalhos HTTP, pelo uso da diretiva Set-Cookie.Exemplo:Content-type: text/htmlContent-length: 43894Set-Cookie: usuario=bezerraSet-Cookie: ultimologin=13%09%2004

Page 48: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

48

April 05 Prof. Ismael H. F. Santos - [email protected] 95

Cookies (cont.)

Usos típicos de cookies:Identificar um usuário durante uma sessão de e-commerce.Evitar utilização de nome de usuário e senhaCustomização de sitesPropaganda direcionada

Enviando um cookie para o browser em JSP:<%Cookie c = new Cookie(“usuario”, “bezerra”);c.setMaxAge(2592000); // Secondsresponse.addCookie(c);%>

April 05 Prof. Ismael H. F. Santos - [email protected] 96

Cookies (cont.)Enviando um cookie para o browser em uma servlet:...Cookie c = new Cookie("name", "value");c.setMaxAge(...);response.addCookie(c);...

Page 49: Módulo IVa - Servletsismael/Cursos/XJavaWebXML/... · Para executar servlets e arquivos JSP, é preciso implantá-los em um Contêiner Web. ...

49

April 05 Prof. Ismael H. F. Santos - [email protected] 97

Cookies (cont.)

Lendo cookies do browser em uma servlet:...Cookie[] cookies = response.getCookies();

for(int i=0; i<cookies.length; i++) {Cookie c = cookies[i];if (c.getName().equals("someName")) {doSomethingWith(c);break;

}}...