English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O objeto Response é responsável por retornar o resultado processado pelo contêiner JSP ao cliente. Pode ser configurado através da variável response para definir o estado HTTP e enviar dados ao cliente, como Cookie, informações de cabeçalhos HTTP, etc.
Uma resposta típica parece assim:
HTTP/1.1 200 OK Conteúdo-Tipo: ...text/html Cabeçalho2: ... ... HeaderN: ... (linha em branco) <!doctype ...> <html> <head>.../<head> <body> ... </body> </html>
A linha de status contém informações sobre a versão do HTTP, como HTTP/1.1,um código de status, como200, e há mensagens muito curtas correspondentes aos códigos de status, como OK.
A tabela a seguir resume o HTTP1.1Parte mais útil do cabeçalho de resposta, que você verá frequentemente na programação de rede:
Cabeçalho de resposta | Descrição |
---|---|
Permitir | Especifica os métodos de solicitação suportados pelo servidor (GET, POST, etc.). |
Cache-Controle | Especifica as condições em que a resposta do documento pode ser armazenada em cache de forma segura. Normalmente público,privado ounão-Cache Etc. Public significa que o documento pode ser armazenado em cache, Private significa que o documento é para uso de um único usuário e pode usar apenas cache privado. No-Cache significa que o documento não será armazenado em cache. |
Conexão | Comando o navegador a usar ou não conexão HTTP persistente.FecharValor Comando o navegador para não usar conexão HTTP persistente, em vez de-Viva significa usar conexão persistente. |
Conteúdo-Disponibilidade | Permite que o navegador armazene a resposta com o nome fornecido no disco rígido |
Conteúdo-Codificação | Especifica as regras de codificação da página durante a transmissão |
Conteúdo-Idioma | Descreve o idioma utilizado pelo documento, por exemplo, en, en-us, ru e outros |
Conteúdo-Comprimento | Indica o número de bytes da resposta. Apenas quando o navegador usa-Conexão HTTP viva) é útil apenas quando há uma conexão |
Conteúdo-Tipo | Indica o tipo MIME utilizado pelo documento |
Expira | Indica quando expirar e ser removido do cache |
Último-Modificado | Indica a data da última modificação do documento. O cliente pode armazenar o documento em cache e fornecer Se-Modificado-DesdeCabeçalho de solicitação |
Location | No3Dentro de 00 segundos, todas as respostas com um código de status, o navegador se reconectará automaticamente e buscará o novo documento |
Recarregar | Especificar quanto tempo o navegador deve atualizar a página. |
Re tentar-Após | E503 Usado juntamente com (Service Unavailable) para informar ao usuário quando a solicitação será respondida |
Set-Cookie | Especificar o cookie correspondente à página atual |
O objeto response é um exemplo da classe javax.servlet.http.HttpServletResponse. Assim como o servidor cria o objeto request, ele também cria uma resposta do cliente.
O objeto response define a interface para manipulação de cabeçalhos de informações HTTP. Usando esse objeto, os desenvolvedores podem adicionar novos cookies, timestamps e códigos de status HTTP, entre outros.
A tabela a seguir lista os métodos usados para configurar cabeçalhos de resposta HTTP, fornecidos pela classe HttpServletResponse:
N.S. | Método & Descrição |
---|---|
1 | String encodeRedirectURL(String url) Codificar URL usada pelo método sendRedirect() |
2 | String encodeURL(String url) Codificar URL, retornar URL contendo Session ID |
3 | boolean containsHeader(String name) Retornar se o cabeçalho específico existe |
4 | boolean isCommitted() Retornar se a resposta já foi enviada ao cliente |
5 | void addCookie(Cookie cookie) Adicionar cookie específico à resposta |
6 | void addDateHeader(String name, long date) Adicionar cabeçalho de resposta com nome especificado e valor de data |
7 | void addHeader(String name, String value) Adicionar cabeçalho de resposta com nome especificado e valor |
8 | void addIntHeader(String name, int value) Adicionar cabeçalho de resposta com nome especificado e valor int |
9 | void flushBuffer() Escrever todo o conteúdo do cache para o cliente |
10 | void reset() Limpar todos os dados de qualquer cache, incluindo códigos de status e cabeçalhos de resposta |
11 | void resetBuffer() Limpar os dados básicos do cache, exceto os cabeçalhos de resposta e o código de estado |
12 | void sendError(int sc) Enviar uma resposta de erro para o cliente usando o código de estado especificado, em seguida, limpar o cache |
13 | void sendError(int sc, String msg) Enviar uma resposta de erro para o cliente usando o código de estado e mensagem especificados |
14 | void sendRedirect(String location) Enviar uma resposta temporária indireta para o cliente usando o URL especificado |
15 | void setBufferSize(int size) Definir o tamanho do buffer do corpo da resposta |
16 | void setCharacterEncoding(String charset) Especificar o conjunto de caracteres de codificação da resposta (conjunto de caracteres MIME), por exemplo, UTF-8 |
17 | void setContentLength(int len) Especificar o comprimento do conteúdo da resposta do HTTP servlet, este método é usado para definir o HTTP Content-Cabeçalho de informações de comprimento |
18 | void setContentType(String type) Definir o tipo de conteúdo da resposta, se a resposta ainda não foi enviada |
19 | void setDateHeader(String name, long date) Usar o nome e a data especificados para definir o nome e a data do cabeçalho de resposta |
20 | void setHeader(String name, String value) Usar o nome e o valor especificados para definir o nome e o conteúdo do cabeçalho de resposta |
21 | void setIntHeader(String name, int value) Especificar um valor do tipo int para o cabeçalho name |
22 | void setLocale(Locale loc) Definir o ambiente de linguagem da resposta, se a resposta ainda não foi enviada |
23 | void setStatus(int sc) Definir o código de estado da resposta |
O próximo exemplo utiliza os métodos setIntHeader() e setRefreshHeader() para simular um relógio digital:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Site de Tutorial Básico (oldtoolbag.com)</title>/<title> </<head> <body> <h2>Exemplo de Atualização Automática</h2> <% // Configurar a cada5segundos automaticamente atualizar response.setIntHeader("Refresh", 5); // Obter o tempo atual Calendar calendar = new GregorianCalendar(); String am_pm; int hour = calendar.get(Calendar.HOUR); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); if(calendar.get(Calendar.AM_PM) == 0) am_pm = "AM"; else am_pm = "PM"; String CT = hour+:",+ minute +:",+ second +" ",+ am_pm; out.println("Tempo atual: ", + CT + "\n"); %> </body> </html>
Salve o código acima como main.jsp e acesse-o através do navegador. Ele atualizará a cada5Os segundos mostrarão o tempo atual do sistema.
Você também pode modificar manualmente o código acima, experimente usar outros métodos, você pode obter uma compreensão mais profunda.