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:
Cookie [] getCookies () - retorna uma matriz contendo objetos de cookie que o cliente enviou
Enumeration getAttributeNames () - contém a enumeração de nomes de atributos para solicitação
Enumeration getHeaderNames () - contém a enumeração dos nomes do cabeçalho.
Enumeration getParameterNames () - contém a enumeração dos nomes dos parâmetros de obtenção na solicitação.
HttpSessiongetSession () - retorna a sessão atual associada à solicitação ou, se não houver uma sessão, será criada uma nova.
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.
Object getAttribute (String name) - retorna o valor do atributo nomeado como um objeto.
ServletInputStreamgetInputStream () - recupera o corpo da solicitação como dados binários.
String getAuthType () - retorna o nome do esquema de autenticação para proteger o servlet
String getCharacterEncoding () - retorna o nome da codificação de caracteres usada no corpo da solicitação.
String getContentType () - retorna o tipo MIME do corpo da solicitação.
String getContextPath () - retorna a parte do URI do pedido, indica o caminho do contexto do URI
String getHeader (String name) - retorna o cabeçalho da solicitação como uma string
String getMethod () - retorna o nome do método HTTP como GET, POST
String getParameter (String name) - retorna o parâmetro da solicitação como uma string.
String getPathInfo () - retorna as informações do caminho associadas ao URL
String getQueryString () - retorna a string de consulta associada ao URL de solicitação
String getServletPath () - retorna a parte dos URLs da solicitação que chama o JSP
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
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
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:
String encodeRedirectURL (String URL) - codifica a URL no método redirectURL.
String encodeURL (String URL) - codifica o URL incluindo o ID da sessão.
Boolean containsHeader (String name) - contém um cabeçalho no JSP ou não.
Boolean isCommited () - a resposta foi confirmada ou não.
Void addCookie (Cookie cookie) - adiciona cookie à resposta
Void addDateHeader (String name, String value) - adiciona o nome e o valor da data do cabeçalho da resposta
Void addHeader (String name, String value) - adiciona cabeçalho de resposta com nome e valor
Void addIntHeader (String name, int value) - adiciona cabeçalho de resposta com nome e valor inteiro
Void flushBuffer () - força o conteúdo do buffer para a saída para o cliente.
Redefinir void () - limpa os dados no buffer.
Void resetBuffer - limpa o buffer de conteúdo na resposta sem limpar os códigos de status.
Void sendError (intsc, Stringmsg) - envia uma resposta de erro ao cliente usando o código de status.
Void sendRedirect (String location) - envia uma resposta de redirecionamento temporária ao cliente.
Void setBufferSize (int size) - define o tamanho do buffer do corpo
Void setCharacterEncoding (String charset) - define a codificação de caracteres
Void setContentType (String type) - define o tipo de conteúdo da resposta
Void setContentLength (intlen) - define o comprimento do conteúdo da resposta
Void setLocale (Locale lcl) - define o tipo de local da resposta
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:
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
Public void sendRedirect (String URL)
Ele gera uma resposta 302 junto com o cabeçalho do local, dando a URL do novo documento
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.
Código de status - pode ser qualquer um dos itens acima. Neste caso, descrevemos como 404
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.