SlideShare a Scribd company logo
1 of 25
Download to read offline
Programação Server Side I

                Aula 2
               Cookies

    Prof. Elton R C Spode, MsC

       E-mail: espode@brturbo.com
      http://www.inf.unifra.br/~espode
Cookies
• São pequenas seqüências de bits armazenadas no
  cliente pelo browser
• Surgiram no Netscape para guardar informações
  persistentes no cliente
• Existem restrições para o seu uso:
   – Podem ser acessados apenas pelo domínio que os
      criou
   – Podem ser desabilitados pelo usuário (privacidade)
• Cookies são enviados de volta sempre que o usuário
  retorna ao domínio que gravou-os
Aplicações de Cookies
• Os usos mais comuns de cookies são:
   – Identificação de usuários durante uma sessão de
     comércio eletrônico
   – Diminuir a necessidade de solicitação de senhas para
     o usuário
   – Customização de sites de acordo com as preferências
     de cada visitante
   – Propaganda dirigida
• Como cookies são gravados como arquivos texto eles
  não representam ameaça à segurança do usuário,
  apenas à sua privacidade
Criação de Cookies
• Para criar um cookie:
   – Criar um objeto da classe Cookie passando o nome
     do cookie e seu valor
   – Indicar o tempo de validade do cookie (em segundos)
     com o método setMaxAge. Se não for indicado
     nenhum, o cookie é valido até que o browser seja
     fechado
   – Enviar o cookie para o cliente usando o método
     addCookie do objeto response
• Mesmo que sejam criados vários cookies, todos eles
  serão gravados em apenas um arquivo
Criação de Cookies (cont.)
• O nome do cookie não pode conter os seguintes
  caracteres: [ ] ( ) = , “ / ? @ : ;
• O conteúdo do cookie não pode conter o ;
• Criando um cookie com a duração de 1 hora:
  Cookie cookie = new Cookie(“nome”, “João”);
  cookie.setMaxAge(60*60);
  response.addCookie(cookie);
• Se o cookie não existir, será criado. Caso contrário será
  alterado.
• Também podem ser criados cookies inserindo-se as
  Headers adequadas no objeto response.
Leitura de Cookies
• Todos os cookies referentes ao domínio que está
  sendo solicitado são automaticamente enviados
  juntos com a requisição
• Eles estão disponíveis no objeto request e
  podem ser recuperados com getCookies
• Este método retorna um array de cookies
• Para recuperar um cookie específico é
  necessário fazer a varredura do array
  comparando o nome procurado com
  cookie.getName
Cookies API
• A API de cookies possui métodos para assinalar
  e pegar atributos disponíveis no cookie:
• set/getComment
• set/getDomain
• set/getMaxAge
• set/getName
• set/getPath
• set/getSecure
• set/getValue
• set/getVersion
Cookies API (cont.)
• Alguns métodos são de interesse especial:
• setDomain - altera o domínio do cookie mas não
  pode ser usado livremente, apenas em situações
  bem específicas.
• setPath -altera o path para o qual o cookie se
  aplica. Em geral é utilizado na forma:
    cookie.setPath(“/”);
• Este comando indica que todas as páginas neste
  servidor devem receber o cookie de volta.
Exercício
• Alterar o servlet LoginServlet para gravar o id do
  usuário em um cookie. Caso o cookie já exista
  não solicitar a senha, apenas redirecionar para o
  CadastroServlet
Sessão
• O protocolo HTTP é “stateless”, ou seja, ele não
  mantém informações entre conexões
• Após a resposta ser enviada a uma requisição, a
  conexão é fechada
• Entretanto, é comum o envio de requisições
  interligadas por um mesmo cliente, como
  operações de conta corrente ou compras
• Este conjunto de requisições e respostas é
  chamado de sessão
Rastreamento de Sessões
• Para atingir o objetivo de ligar conexões é necessário
  rastrear cada sessão, ou seja, verificar a qual usuário
  pertence cada requisição
• Este método de rastreamento consiste em:
   – Associar cada requisição recebida com uma sessão
     específica
   – Se for uma nova sessão, gerar um identificador único
     para ela
   – Recuperar dados da sessão (produtos comprados por
     exemplo) de um conjunto (lista, tabela hash, etc)
Rastreamento de Sessões
• Este controle pode ser feito “manualmente”
  através do uso de cookies.
• Como o usuário pode desabilitar os cookies em
  sua máquina, os processos alternativos são: uso
  de campos escondidos em formulários HTML ou
  através de reescrita de URLs
• Entretanto, como este é um processo comum e
  trabalhoso, existe uma API que realiza todo o
  tratamento de maneira simples e transparente
  para o programador: HttpSession
Campos Escondidos
• Consiste na inserção do id único do usuário em cada
  página gerada através do uso de campos escondidos:
  <input type=“hidden” name=“id” value= “...”>
• O id é então recuperado através do getParameter
• Este método apresenta duas desvantagens:
   – Só funciona para páginas geradas dinamicamente pois
     o id deve ser inserido no HTML
   – É obrigatório o uso de forms com botões, não sendo
     possível o uso de links para páginas que façam parte
     da sessão
Reescrita de URLs
• Neste método, o id da sessão de cada usuário é
  adicionado ao fim de toda URL:
  http://www.xyz.com;id=563248712354
• Para recuperá-lo, também utiliza-se método
  getParameter
• Funciona em qualquer browser, mesmo se o
  usuário desabilitar os cookies
• Entretanto se o usuário acessar a mesma página
  através de um outro link ou bookmark, a sessão
  será perdida
Cookies
• Para cada nova requisição, um cookie com o id da
  sessão é gravado no browser do cliente
• O id é recuperado através do cookie
• Se puder ser usada, é a melhor solução pois funciona em
  todos os casos.
• Como desvantagem, temos a tarefa relativamente
  trabalhosa de:
   – Extrair o cookie de id do array
   – Assinalar um tempo de validade adequado
   – Associar cada requisição com uma sessão
   – Gerar os ids únicos
HttpSession API
• Para simplificar o rastreamento de sessões utilizamos a
  interface HttpSession que realiza as seguintes tarefas de
  maneira transparente:
   – Gera ids únicos
   – Mantém informações de todas as sessões atuais
   – Associa requisições com suas respectivas sessões
   – Utiliza o método de rastreamento disponível para cada
     usuário: cookies se estiverem habilitados ou reescrita
     de URLs
   – Possibilita o armazenamento de objetos na sessão
   – Descarta sessões completas ou abandonadas
Criando e Recuperando
           Sessões
• Para recuperar uma sessão utiliza-se o método
  getSession do objeto request:
  HttpSession session = request.getSession();
• Se não existir sessão o método retorna null
• Para criar uma sessão deve-se usar:
   HttpSession session =
  request.getSession(boolean criar);
• Se o parâmetro for true uma sessão será criada
  caso não exista, se for false o método retornará
  null como no caso anterior
• Para verificar se ela é nova usa-se isNew()
Inserindo um Atributo
• Para inserir atributos deve-se usar os métodos
  setAttribute (2.2) e putValue de HttpSession
• Sintaxe:
  void putValue(String nome, Object
  Valor);
• Objetos inseridos com este método estarão
  disponíveis até que a sessão do usuário
  correspondente termine
• Como cada usuário terá sua própria sessão, esta
  é uma excelente maneira de armazenar e
  organizar os dados de cada um
Recuperando Atributos
• Para recuperar atributos da sessão, usa-se getAttribute
  (2.2) e getValue de HttpSession
• Sintaxe:
  Object getValue(String nome);
• Se o atributo não existir, será retornado null
• Para se recuperar todos os atributos associados com
  uma sessão, usa-se getAttributeNames(2.2) ou
  getValueNames
• Sintaxe:
  Enumeration getAttributeNames();
  String [] getValueNames();
Descartando Sessões
• Quando o usuário terminar sua sessão, deve-se
  eliminá-la usando o método invalidate()
• Sintaxe:
  void invalidate();
• Este método finaliza a sessão e retira a ligação
  de todos os objetos anteriormente associados
• Repare que ele não libera os objetos associados,
  apenas elimina suas ligações
Outros Métodos
• removeAtribute - elimina o atributo da sessão
• getId - recupera o ID único gerado
• getCreationTime - recupera a hora de criação da
  sessão em milisegundos
• getLastAccessedTime - recupera o último acesso
  a esta sessão em milisegundos
• setMaxInactiveInterval - altera o tempo de
  inatividade em que uma sessão será invalidada
• getMaxInactiveInterval - recupera o tempo de
  inatividade
Codificação de URLs
• O HttpSession escolherá o método de reescrita
  de URLs caso não possa usar cookies
• Neste caso, o id da sessão será adicionado a
  toda URL requisitada
• Nas respostas enviadas pelos servlets é comum
  a inserção de URLs em links, ações de
  formulários ou em redirecionamentos
• Para o correto funcionamento da sessão é
  necessária a inserção do id nestas URLs
• Usam-se os métodos do objeto response:
  encondeURL e encodeRedirectURL
URLs em Links
• Para codificar URLs do próprio site que serão
  colocadas em links ou em ações de formulários
  utiliza-se o método encodeURL
• Sintaxe:
  String encodeURL(String URL);
• Exemplo:
  String novaURL = response.encodeURL(URL);
  out.println(“<a href=” + novaURL + ”>Clique
  aqui </a>);
URLs em sendRedirect
• Para os casos em que a requisição deva ser
  redirecionada para outra URL no mesmo site
  usa-se encodeRedirectURL
• Sintaxe:
  String encodeRedirectURL(String
  URL);
• Exemplo:
  String URL =
  response.encodeRedirectURL(URL);
  response.sendRedirect(novaURL);
Exercício
• Completar o sistema: Cada opção chamada do
  menu deverá operar sobre a conta corrente atual.

More Related Content

Similar to Programação Server Side I - Aula 2

Aula 11 - Controle de sessão em PHP - Programação Web
Aula 11  - Controle de sessão em PHP - Programação WebAula 11  - Controle de sessão em PHP - Programação Web
Aula 11 - Controle de sessão em PHP - Programação WebDalton Martins
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesDaniel Brandão
 
Programação web ii aulas 05 e 06
Programação web ii   aulas 05 e 06Programação web ii   aulas 05 e 06
Programação web ii aulas 05 e 06Yuri Bispo
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018André Luiz Forchesatto
 
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2Rodrigo Cândido da Silva
 
TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2Rodrigo Cândido da Silva
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos WebSergio Henrique
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com CodeceptionQualister
 
ASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidadesASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidadesC. Augusto Proiete
 
OAuth 2.0 refresher
OAuth 2.0 refresherOAuth 2.0 refresher
OAuth 2.0 refreshermarcwan
 

Similar to Programação Server Side I - Aula 2 (20)

Aula 5 - Cookies e sessões em PHP
Aula 5 - Cookies e sessões em PHPAula 5 - Cookies e sessões em PHP
Aula 5 - Cookies e sessões em PHP
 
Aula 5 - Cookies e Sessões em PHP
Aula 5 - Cookies e Sessões em PHPAula 5 - Cookies e Sessões em PHP
Aula 5 - Cookies e Sessões em PHP
 
Aula 11 - Controle de sessão em PHP - Programação Web
Aula 11  - Controle de sessão em PHP - Programação WebAula 11  - Controle de sessão em PHP - Programação Web
Aula 11 - Controle de sessão em PHP - Programação Web
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e Sessoes
 
Programação web ii aulas 05 e 06
Programação web ii   aulas 05 e 06Programação web ii   aulas 05 e 06
Programação web ii aulas 05 e 06
 
Sessao
SessaoSessao
Sessao
 
Tema 4 | Sessão
Tema 4 | SessãoTema 4 | Sessão
Tema 4 | Sessão
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Bloco 5.4
Bloco 5.4Bloco 5.4
Bloco 5.4
 
Aula 5 - Cookies e Sessões em PHP
Aula 5 - Cookies e Sessões em PHPAula 5 - Cookies e Sessões em PHP
Aula 5 - Cookies e Sessões em PHP
 
Aula 5
Aula 5Aula 5
Aula 5
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Aplicações web parte 2
Aplicações web parte 2Aplicações web parte 2
Aplicações web parte 2
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018
 
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
 
TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2
 
Segurança em Aplicativos Web
Segurança em Aplicativos WebSegurança em Aplicativos Web
Segurança em Aplicativos Web
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
 
ASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidadesASP .NET 4.0 WebForms, Novas funcionalidades
ASP .NET 4.0 WebForms, Novas funcionalidades
 
OAuth 2.0 refresher
OAuth 2.0 refresherOAuth 2.0 refresher
OAuth 2.0 refresher
 

Programação Server Side I - Aula 2

  • 1. Programação Server Side I Aula 2 Cookies Prof. Elton R C Spode, MsC E-mail: espode@brturbo.com http://www.inf.unifra.br/~espode
  • 2. Cookies • São pequenas seqüências de bits armazenadas no cliente pelo browser • Surgiram no Netscape para guardar informações persistentes no cliente • Existem restrições para o seu uso: – Podem ser acessados apenas pelo domínio que os criou – Podem ser desabilitados pelo usuário (privacidade) • Cookies são enviados de volta sempre que o usuário retorna ao domínio que gravou-os
  • 3. Aplicações de Cookies • Os usos mais comuns de cookies são: – Identificação de usuários durante uma sessão de comércio eletrônico – Diminuir a necessidade de solicitação de senhas para o usuário – Customização de sites de acordo com as preferências de cada visitante – Propaganda dirigida • Como cookies são gravados como arquivos texto eles não representam ameaça à segurança do usuário, apenas à sua privacidade
  • 4. Criação de Cookies • Para criar um cookie: – Criar um objeto da classe Cookie passando o nome do cookie e seu valor – Indicar o tempo de validade do cookie (em segundos) com o método setMaxAge. Se não for indicado nenhum, o cookie é valido até que o browser seja fechado – Enviar o cookie para o cliente usando o método addCookie do objeto response • Mesmo que sejam criados vários cookies, todos eles serão gravados em apenas um arquivo
  • 5. Criação de Cookies (cont.) • O nome do cookie não pode conter os seguintes caracteres: [ ] ( ) = , “ / ? @ : ; • O conteúdo do cookie não pode conter o ; • Criando um cookie com a duração de 1 hora: Cookie cookie = new Cookie(“nome”, “João”); cookie.setMaxAge(60*60); response.addCookie(cookie); • Se o cookie não existir, será criado. Caso contrário será alterado. • Também podem ser criados cookies inserindo-se as Headers adequadas no objeto response.
  • 6. Leitura de Cookies • Todos os cookies referentes ao domínio que está sendo solicitado são automaticamente enviados juntos com a requisição • Eles estão disponíveis no objeto request e podem ser recuperados com getCookies • Este método retorna um array de cookies • Para recuperar um cookie específico é necessário fazer a varredura do array comparando o nome procurado com cookie.getName
  • 7. Cookies API • A API de cookies possui métodos para assinalar e pegar atributos disponíveis no cookie: • set/getComment • set/getDomain • set/getMaxAge • set/getName • set/getPath • set/getSecure • set/getValue • set/getVersion
  • 8. Cookies API (cont.) • Alguns métodos são de interesse especial: • setDomain - altera o domínio do cookie mas não pode ser usado livremente, apenas em situações bem específicas. • setPath -altera o path para o qual o cookie se aplica. Em geral é utilizado na forma: cookie.setPath(“/”); • Este comando indica que todas as páginas neste servidor devem receber o cookie de volta.
  • 9. Exercício • Alterar o servlet LoginServlet para gravar o id do usuário em um cookie. Caso o cookie já exista não solicitar a senha, apenas redirecionar para o CadastroServlet
  • 10. Sessão • O protocolo HTTP é “stateless”, ou seja, ele não mantém informações entre conexões • Após a resposta ser enviada a uma requisição, a conexão é fechada • Entretanto, é comum o envio de requisições interligadas por um mesmo cliente, como operações de conta corrente ou compras • Este conjunto de requisições e respostas é chamado de sessão
  • 11. Rastreamento de Sessões • Para atingir o objetivo de ligar conexões é necessário rastrear cada sessão, ou seja, verificar a qual usuário pertence cada requisição • Este método de rastreamento consiste em: – Associar cada requisição recebida com uma sessão específica – Se for uma nova sessão, gerar um identificador único para ela – Recuperar dados da sessão (produtos comprados por exemplo) de um conjunto (lista, tabela hash, etc)
  • 12. Rastreamento de Sessões • Este controle pode ser feito “manualmente” através do uso de cookies. • Como o usuário pode desabilitar os cookies em sua máquina, os processos alternativos são: uso de campos escondidos em formulários HTML ou através de reescrita de URLs • Entretanto, como este é um processo comum e trabalhoso, existe uma API que realiza todo o tratamento de maneira simples e transparente para o programador: HttpSession
  • 13. Campos Escondidos • Consiste na inserção do id único do usuário em cada página gerada através do uso de campos escondidos: <input type=“hidden” name=“id” value= “...”> • O id é então recuperado através do getParameter • Este método apresenta duas desvantagens: – Só funciona para páginas geradas dinamicamente pois o id deve ser inserido no HTML – É obrigatório o uso de forms com botões, não sendo possível o uso de links para páginas que façam parte da sessão
  • 14. Reescrita de URLs • Neste método, o id da sessão de cada usuário é adicionado ao fim de toda URL: http://www.xyz.com;id=563248712354 • Para recuperá-lo, também utiliza-se método getParameter • Funciona em qualquer browser, mesmo se o usuário desabilitar os cookies • Entretanto se o usuário acessar a mesma página através de um outro link ou bookmark, a sessão será perdida
  • 15. Cookies • Para cada nova requisição, um cookie com o id da sessão é gravado no browser do cliente • O id é recuperado através do cookie • Se puder ser usada, é a melhor solução pois funciona em todos os casos. • Como desvantagem, temos a tarefa relativamente trabalhosa de: – Extrair o cookie de id do array – Assinalar um tempo de validade adequado – Associar cada requisição com uma sessão – Gerar os ids únicos
  • 16. HttpSession API • Para simplificar o rastreamento de sessões utilizamos a interface HttpSession que realiza as seguintes tarefas de maneira transparente: – Gera ids únicos – Mantém informações de todas as sessões atuais – Associa requisições com suas respectivas sessões – Utiliza o método de rastreamento disponível para cada usuário: cookies se estiverem habilitados ou reescrita de URLs – Possibilita o armazenamento de objetos na sessão – Descarta sessões completas ou abandonadas
  • 17. Criando e Recuperando Sessões • Para recuperar uma sessão utiliza-se o método getSession do objeto request: HttpSession session = request.getSession(); • Se não existir sessão o método retorna null • Para criar uma sessão deve-se usar: HttpSession session = request.getSession(boolean criar); • Se o parâmetro for true uma sessão será criada caso não exista, se for false o método retornará null como no caso anterior • Para verificar se ela é nova usa-se isNew()
  • 18. Inserindo um Atributo • Para inserir atributos deve-se usar os métodos setAttribute (2.2) e putValue de HttpSession • Sintaxe: void putValue(String nome, Object Valor); • Objetos inseridos com este método estarão disponíveis até que a sessão do usuário correspondente termine • Como cada usuário terá sua própria sessão, esta é uma excelente maneira de armazenar e organizar os dados de cada um
  • 19. Recuperando Atributos • Para recuperar atributos da sessão, usa-se getAttribute (2.2) e getValue de HttpSession • Sintaxe: Object getValue(String nome); • Se o atributo não existir, será retornado null • Para se recuperar todos os atributos associados com uma sessão, usa-se getAttributeNames(2.2) ou getValueNames • Sintaxe: Enumeration getAttributeNames(); String [] getValueNames();
  • 20. Descartando Sessões • Quando o usuário terminar sua sessão, deve-se eliminá-la usando o método invalidate() • Sintaxe: void invalidate(); • Este método finaliza a sessão e retira a ligação de todos os objetos anteriormente associados • Repare que ele não libera os objetos associados, apenas elimina suas ligações
  • 21. Outros Métodos • removeAtribute - elimina o atributo da sessão • getId - recupera o ID único gerado • getCreationTime - recupera a hora de criação da sessão em milisegundos • getLastAccessedTime - recupera o último acesso a esta sessão em milisegundos • setMaxInactiveInterval - altera o tempo de inatividade em que uma sessão será invalidada • getMaxInactiveInterval - recupera o tempo de inatividade
  • 22. Codificação de URLs • O HttpSession escolherá o método de reescrita de URLs caso não possa usar cookies • Neste caso, o id da sessão será adicionado a toda URL requisitada • Nas respostas enviadas pelos servlets é comum a inserção de URLs em links, ações de formulários ou em redirecionamentos • Para o correto funcionamento da sessão é necessária a inserção do id nestas URLs • Usam-se os métodos do objeto response: encondeURL e encodeRedirectURL
  • 23. URLs em Links • Para codificar URLs do próprio site que serão colocadas em links ou em ações de formulários utiliza-se o método encodeURL • Sintaxe: String encodeURL(String URL); • Exemplo: String novaURL = response.encodeURL(URL); out.println(“<a href=” + novaURL + ”>Clique aqui </a>);
  • 24. URLs em sendRedirect • Para os casos em que a requisição deva ser redirecionada para outra URL no mesmo site usa-se encodeRedirectURL • Sintaxe: String encodeRedirectURL(String URL); • Exemplo: String URL = response.encodeRedirectURL(URL); response.sendRedirect(novaURL);
  • 25. Exercício • Completar o sistema: Cada opção chamada do menu deverá operar sobre a conta corrente atual.