A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Escopos de uma Aplicação Web Eduardo Martins Guerra Desenvolvimento de Soluções WEB.

Apresentações semelhantes


Apresentação em tema: "Escopos de uma Aplicação Web Eduardo Martins Guerra Desenvolvimento de Soluções WEB."— Transcrição da apresentação:

1 Escopos de uma Aplicação Web Eduardo Martins Guerra Desenvolvimento de Soluções WEB

2 Objetivo da Aula Apresentar com maiores detalhes como se trabalha com os diferentes escopos de uma aplicação web, como o request, session e context.

3 Contextos de uma Aplicação Web Parâmetros x Atributos Gerenciamento de Sessão Objeto HttpServletRequest Objeto HttpServletResponse Agenda da Apresentação

4 Escopos de Aplicações Web Context Contém informações globais a toda a aplicação. Todos na aplicação podem acessá-las. Exemplo: Número de usuários conectados. Contém informações acessíveis a apenas um usuário. Mantém o estado entre vários requests. Exemplo: Nome de login de um usuário. Session Contém informações referentes a uma requisição. Perde o estado entre requisições. Exemplo: Informações de um formulário. Request

5 Parâmetros X Atributos São colocados em um local onde pode-se recuperar aquela informação de outros locais. Passados externamente sem controle da aplicação para modificação. Atributos Parâmetros Context init parameters; Servlet init parameters; Request parameters; Context Attributes; Session Attributes; Request Attributes; Retorno: StringRetorno: Object Não pode ser modificado!setAttribute(String nome, Object val)

6 Parâmetros de Inicialização param value Servlet org.ServClass param value getServletContext().getInitParameter(param); getServletConfig().getInitParameter(param); O uso de parâmetros pode deixar um componente mais flexível e reutilizável.

7 Mantendo uma Sessão O protocolo HTTP não mantém a conexão entre as requisições e para um usuário ser reconhecido é preciso enviar algum identificador para o container web a cada requisição. Cookies Reescrita de URL Pode ser utilizado o cookie JSESSIONID para armazenar no browser cliente o identificador da sessão. O Web Container faz este trabalho por você! A reescrita de URL é a melhor alternativa quando o browser não aceitar cookies. As URLs são codificadas para URL + ;jsessionid= O método response.encodeURL(/servlet) faz isto para você e elas são reescritas apenas se o cliente não aceitar cookies. HttpSession session = request.getSession();

8 O Objeto HttpServletRequest Encapsula as informações referentes a uma requisição HTTP. Recuperação de um Header String agent = request.getHeader(User-Agent); Recuperação dos Cookies Cookies[] cookies = request.getCookies(); HTTP Method String method = request.getMethod(); InputStream do Request InputStream input = request.getInputStream();

9 O Objeto HttpServletResponse Encapsula as informações referentes a uma resposta de uma requisição HTTP. Retornando Texto PrintWriter writer = response.getWriter(); writer.println(... ); Retornando Outro tipo de Informação ServletOutputStream out = response.getOutputStream(); response.setContentType(application/jar); out.write(byteArray); Setando Headers response.setHeader(header-name,value); response.addHeader(header-name,value);

10 Redirect X Request Dispatch Quando ocorre um request dispatch, o web container chama internamente um outro recurso para processar a requisição. Quando ocorre um redirect, a aplicação envia uma resposta solicitando browser para chamar uma outra página. Request Dispatch Redirect Ei pag.jsp, preciso de sua ajuda para processar uma requisição! Agora eu estou ocupado! Chame a pag.jsp que ela vai poder te ajudar! RequestDispatcher view = request.getRequestDispatcher(pag.jsp) view.forward(request,response); response.sendRedirect(/pag.jsp);

11 Exercício – Usando os Escopos Escrever uma aplicação web que armazene contadores em diferentes escopos, que vão sendo incrementados a cada requisição. Criar uma página que exibe o valor dos contadores Acessar a aplicação com diversos browsers Desabilitar os cookies do browser Verificar a reescrita de URL


Carregar ppt "Escopos de uma Aplicação Web Eduardo Martins Guerra Desenvolvimento de Soluções WEB."

Apresentações semelhantes


Anúncios Google