Solicitação do cliente JSP, resposta do servidor & Códigos de status HTTP

Índice:

Anonim

Ações JSP que usam construções na sintaxe XML para controlar o comportamento do mecanismo de servlet. Aprenderemos mais detalhadamente sobre vários elementos de ação JSP, como solicitação do cliente, resposta do servidor, códigos de status HTTP.

Neste tutorial, você aprenderá-

  • Solicitação de cliente JSP
  • Resposta do servidor JSP
  • Códigos de status JSP HTTP

Solicitação de cliente JSP

  • Quando a página da web é solicitada, ela envia informações ao servidor da web no cabeçalho HTTP.
  • Podemos usar essas informações usando o objeto HTTPServletRequest.
  • As informações enviadas pelo navegador são armazenadas no cabeçalho da solicitação HTTP.
  • Estamos usando cabeçalhos diferentes para enviar informações ao objeto de solicitação.

Cabeçalhos diferentes são descritos abaixo:

Cabeçalho Descrição Exemplo
Aceitar Ele especifica os tipos de MIME que o navegador ou outros clientes podem manipular Imagem / png ou imagem / jpeg.webp
Aceitar conjunto de caracteres Ele usa o conjunto de caracteres usado pelo navegador para exibir as informações ISO-8859-1
Aceitar - Codificação Ele especifica o tipo de codificação tratada pelo navegador Gzip ou compactação
Linguagem de aceitação Ele especifica o idioma especificado pelos clientes En, en_us
Autorização Cabeçalho usado por clientes ao tentar acessar páginas da web protegidas por senha
Conexão Indica se o cliente pode lidar com conexões HTTP persistentes (o navegador pode recuperar vários arquivos) Mantenha vivo
Comprimento do conteúdo Aplicável para postar solicitações. Dá o tamanho dos dados de postagem de bytes
Biscoito Retorna o cookie para o servidor (aqueles que foram enviados anteriormente para o navegador)
Hospedeiro Especifica o host e a porta do URL original
Se modificado desde Indica que requer apenas uma página se ela foi alterada ou modificada
Se não modificado desde Indica que requer uma página apenas se ela não foi alterada ou modificada
Referrer Indica o URL da página de URL de referência
Agente de usuário Identifica o navegador ou cliente que faz a solicitação

Os seguintes métodos são usados ​​para ler o cabeçalho HTTP na página JSP:

  1. Cookie [] getCookies () - retorna uma matriz contendo objetos de cookie que o cliente enviou
  2. Enumeration getAttributeNames () - contém a enumeração de nomes de atributos para solicitação
  3. Enumeration getHeaderNames () - contém a enumeração dos nomes do cabeçalho.
  4. Enumeration getParameterNames () - contém a enumeração dos nomes dos parâmetros de obtenção na solicitação.
  5. HttpSessiongetSession () - retorna a sessão atual associada à solicitação ou, se não houver uma sessão, será criada uma nova.
  6. Locale getLocale () - retorna o local preferido no qual o cliente aceitará o conteúdo. Ele foi atribuído à resposta. Por padrão, o valor será a localidade padrão do servidor.
  7. Object getAttribute (String name) - retorna o valor do atributo nomeado como um objeto.
  8. ServletInputStreamgetInputStream () - recupera o corpo da solicitação como dados binários.
  9. String getAuthType () - retorna o nome do esquema de autenticação para proteger o servlet
  10. String getCharacterEncoding () - retorna o nome da codificação de caracteres usada no corpo da solicitação.
  11. String getContentType () - retorna o tipo MIME do corpo da solicitação.
  12. String getContextPath () - retorna a parte do URI do pedido, indica o caminho do contexto do URI
  13. String getHeader (String name) - retorna o cabeçalho da solicitação como uma string
  14. String getMethod () - retorna o nome do método HTTP como GET, POST
  15. String getParameter (String name) - retorna o parâmetro da solicitação como uma string.
  16. String getPathInfo () - retorna as informações do caminho associadas ao URL
  17. String getQueryString () - retorna a string de consulta associada ao URL de solicitação
  18. String getServletPath () - retorna a parte dos URLs da solicitação que chama o JSP
  19. String [] getParameterValues ​​(String name) - retorna a matriz de objetos de string contendo os valores que o parâmetro de solicitação possui

Exemplo:

No exemplo abaixo, estamos usando métodos diferentes usando o objeto de solicitação

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1" pageEncoding = "ISO-8859-1"%><% @ page import = "java.io. * java.util. *"%> Cliente Request Guru JSP 

Cliente Solicitar Guru JSP

<%HttpSession gurusession = request.getSession ();out.print (" ");Locale gurulocale = request.getLocale ();out.print (" ");Caminho da string = request.getPathInfo ();out.print (" ");String lpath = request.get ();out.print (" ");String servername = request.getServerName ();out.print (" ");nome da porta int = request.getServerPort ();out.print (" ");Enumeração hnames = request.getHeaderNames ();while (hnames.hasMoreElements ()) {String paramName = (String) hnames.nextElement ();out.print (" ");String paramValue = request.getHeader (paramName);out.println (" ");}%>

Explicação do código:

Linha de código 17: Usando o objeto de solicitação, estamos obtendo o objeto de sessão dessa sessão particular e obtemos o valor do objeto dessa sessão

Linha de código 19: Usando o objeto de solicitação, estamos obtendo a localidade dessa sessão particular i.een_US locale para esse JSP.

Linha de código 21: Usando o objeto de solicitação, estamos obtendo informações de caminho para esse JSP. Nesse caso, é nulo, pois não há nenhum caminho para a URL mencionada.

Linha de código 23: usando o objeto de solicitação, estamos obtendo o caminho do contexto, ou seja, o caminho raiz

Linha de código 25: Usando o objeto de solicitação, estamos obtendo o nome do servidor.

Linha de código 27: Usando o objeto de solicitação, estamos obtendo a porta do servidor.

Linha de código 29-35: Usando o objeto de solicitação, estamos obtendo nomes de cabeçalho que aparecem como enumeração e, portanto, obtemos todos os valores de cabeçalho nos nomes de cabeçalho.

Nisto, obtemos todos os valores de cabeçalho como um cookie, host, conexão, idioma de aceitação, codificação de aceitação.

Ao executar o código acima, você obtém a seguinte saída:

Produto :

Estamos obtendo a série de valores como nome da sessão, nome do local, nome do caminho, nome do servidor, nome da porta, host, caminho do contexto e todos os valores de cabeçalho desse JSP.

Resposta do servidor JSP

  • Quando uma solicitação é processada e, em seguida, a resposta é gerada a partir do servidor da web. Consiste em uma linha de status, cabeçalhos de resposta, uma linha em branco e um documento.
  • É o objeto de HTTPServletResponseclass, que é um objeto de resposta.
  • A linha de status é uma versão do HTML.

Os cabeçalhos de resposta são mencionados abaixo:

cabeçalho do guru Valor (es) do cabeçalho do guru
Nome da sessão é " + gurusession + "
Nome do local é " + gurulocale + "
Nome do caminho é " + caminho + "
O caminho de contexto é " + lipath + "
Nome do servidor é " + servername + "
A porta do servidor é " + portname + "
" + paramName + "" + paramValue + "
Cabeçalho Descrição
Permitir Ele especifica os métodos de solicitação como GET, POST que o servidor está solicitando
Cache-control O documento de resposta pode ser armazenado em cache. Pode ser público, privado e sem cache. Nenhum cache especifica que o documento não deve ser armazenado em cache
Conexão Ele instrui se o navegador deve usar SavedHTTPConnections ou não. O valor de fechamento representa que o navegador não deve usar persistente em HTTPConnections e "keep-alive" significa usar conexões persistentes
Disposição de conteúdo Para perguntar ao usuário se deseja salvar a resposta no disco ou não
Codificação de conteúdo A página deve ser codificada durante a transmissão
Comprimento do conteúdo Número de bytes na resposta
Tipo de conteúdo Ele especifica o tipo MIME de resposta
Expira Especifica até quando o conteúdo deve ser considerado desatualizado e não deve ser armazenado em cache
Última modificação Indica quando o documento foi modificado pela última vez
Localização Deve ser incluído em todas as respostas que têm código de status e 300 como código de status
Atualizar Ele especifica como encontrar a página atualizada.
Tentar novamente depois Ele pode ser usado com a resposta 503 para informar o cliente de quando ele pode repetir a solicitação
Set-cookie Especifica o cookie associado à página

A seguir estão os métodos que usam o objeto de resposta:

  1. String encodeRedirectURL (String URL) - codifica a URL no método redirectURL.
  2. String encodeURL (String URL) - codifica o URL incluindo o ID da sessão.
  3. Boolean containsHeader (String name) - contém um cabeçalho no JSP ou não.
  4. Boolean isCommited () - a resposta foi confirmada ou não.
  5. Void addCookie (Cookie cookie) - adiciona cookie à resposta
  6. Void addDateHeader (String name, String value) - adiciona o nome e o valor da data do cabeçalho da resposta
  7. Void addHeader (String name, String value) - adiciona cabeçalho de resposta com nome e valor
  8. Void addIntHeader (String name, int value) - adiciona cabeçalho de resposta com nome e valor inteiro
  9. Void flushBuffer () - força o conteúdo do buffer para a saída para o cliente.
  10. Redefinir void () - limpa os dados no buffer.
  11. Void resetBuffer - limpa o buffer de conteúdo na resposta sem limpar os códigos de status.
  12. Void sendError (intsc, Stringmsg) - envia uma resposta de erro ao cliente usando o código de status.
  13. Void sendRedirect (String location) - envia uma resposta de redirecionamento temporária ao cliente.
  14. Void setBufferSize (int size) - define o tamanho do buffer do corpo
  15. Void setCharacterEncoding (String charset) - define a codificação de caracteres
  16. Void setContentType (String type) - define o tipo de conteúdo da resposta
  17. Void setContentLength (intlen) - define o comprimento do conteúdo da resposta
  18. Void setLocale (Locale lcl) - define o tipo de local da resposta
  19. Void setStatus (intsc) - define o código de status da resposta

Exemplo:

Neste exemplo, estamos cobrindo diferentes métodos getLocale, flushbuffer, getWriter, get ContentType, setIntHeader.

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1" pageEncoding = "ISO-8859-1"%><% @ page import = "java.io. * java.util. *"%> Resposta de ação do guru 

Resposta do Guru

<%Localidade lcl = response.getLocale ();out.println ("Localidade é: + lcl + "\ n");response.flushBuffer ();Saída PrintWriter = response.getWriter ();output.println ("Isto é do objeto gravador");Tipo de string = response.getContentType ();out.println ("O tipo de conteúdo: + tipo + "\ n");// Defina o tempo de atualização e carregamento automático como 5 segundosresponse.setIntHeader ("Atualizar", 5);// Obtenha a hora atualData dt = nova data ();out.println ("A data de hoje é: + dt.toString () + "\ n");%>

Explicação do código:

Linha de código 13: Usando o objeto de resposta, obtemos o objeto de localidade desta sessão JSP

Linha de código 15: usando o objeto de resposta, flushbuffer é usado para forçar o conteúdo do buffer no cliente

Linha de código 16: usando o objeto de resposta, obtemos o objeto escritor que obtém a saída no fluxo de saída

Linha de código 18: usando o objeto de resposta, obtemos o tipo de conteúdo, ou seja, o tipo MIME do objeto de resposta

Linha de código 21: usando o objeto de resposta, é usado para carregamento automático a cada 5 segundos, pois 5 é definido como o segundo parâmetro

Ao executar o código acima, você obtém a seguinte saída:

Resultado:

  • Aqui obtemos a saída, pois é do objeto escritor de getWriter, que nos dá o objeto e podemos produzir no fluxo de saída.
  • Obtemos o local como en_us e o tipo de conteúdo como text / html
  • Obtemos o conjunto de caracteres como ISO 8859
  • A data de hoje como a data atual.

Códigos de status JSP HTTP

  • Quando a solicitação é processada, a resposta é gerada. A linha de status de resposta consiste na versão HTTP, um código de status e uma mensagem associada.
  • A mensagem está diretamente associada ao código de status e à versão HTTP e é determinada pelo servidor.
  • Por padrão, 200 é definido como um código de status em JSP, portanto, não precisamos definir explicitamente.
  • Podemos definir como método response.setStatus ()

Os códigos se enquadram nas 5 categorias a seguir:

  • 100-199 - Aqui o cliente indica que deve responder com alguma ação
  • 200-299 - Significa que a solicitação foi bem-sucedida
  • 300-399 - Eles são usados ​​para arquivos que foram movidos e geralmente incluem um cabeçalho de localização indicando o novo endereço
  • 400-499 - Indica erro do cliente
  • 500-599 - Indica erro do servidor

Alguns dos códigos de status comuns estão abaixo:

  • 200 - Indica que está tudo bem
  • 301 - Ele foi movido permanentemente
  • 304 - Não modificado desde a última alteração
  • 400 - Pedido inválido
  • 404 não encontrado
  • 405 - Método não encontrado
  • 500 - Erro interno do servidor
  • 503 serviço indisponível
  • 505 - versão HTTP não compatível

Alguns de seus métodos estão listados abaixo:

  1. Public void setStatus (intstatusCode)

    Ele define o código de status que quisermos definir nessa página JSP. Isso nos dará a mensagem do código de status que foi definido

  2. Public void sendRedirect (String URL)

    Ele gera uma resposta 302 junto com o cabeçalho do local, dando a URL do novo documento

  3. Public void sendError (intcode, Stringmsg)

    Ele envia o código de status junto com a mensagem curta e é formatado dentro do documento HTML.

Exemplo:

Neste exemplo, estamos enviando um erro para a página JSP explicitamente.

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1" pageEncoding = "ISO-8859-1"%> Código de status do Guru <% response.sendError (404, "Página do Guru não encontrada"); %>

Explicação do código:

Linha de código 10: Usando o objeto de resposta, estamos enviando o erro para uma página com dois parâmetros.

  1. Código de status - pode ser qualquer um dos itens acima. Neste caso, descrevemos como 404
  2. Mensagem - pode ser qualquer mensagem específica que queremos mostrar o erro

Se você executar o código acima, obterá a seguinte saída:

Resultado:

Aqui, obtemos o código de erro 404, que foi enviado do código e também exibe a mensagem "Página do Guru não encontrada" exibida na saída.

Resumo:

  • Neste artigo, aprendemos sobre a solicitação do cliente e a resposta do servidor sobre como a solicitação é interceptada e como as respostas são manipuladas.
  • Além disso, aprendemos sobre os códigos de status HTTP para mostrar códigos de erro ou códigos de sucesso para um arquivo específico.