Latest web development tutorials

solicitações do cliente JSP

Quando um navegador solicita uma página, ele irá enviar uma série de informações não pode ser lido diretamente para o servidor web, porque essa informação como parte da informação do cabeçalho HTTP a ser transmitido. Você pode verificar o protocolo HTTP para obter mais informações.

A tabela a seguir lista alguns dos conteúdos importantes do cabeçalho do navegador, após a programação de rede que você vai ver muitas vezes estas informações:

informações descrição
aceitar Especifica o tipo MIME do navegador ou outro cliente pode manipular. O seu valor é normalmente image / png ou image / jpeg
Aceitar-Charset Especifica o conjunto de caracteres para utilizar o browser. Por exemplo, ISO-8859-1
Accept-Encoding Especifique o tipo de codificação. O seu valor é normalmente gzip ou comprimir
Accept-Language Especifique o idioma preferido do cliente, servlet dará prioridade para retornar um conjunto de resultados para o idioma atual da Constituição, se o servlet suporta este palavras de linguagem. Por exemplo en, pt-br, ru etc.
autorização Identificar o acesso aos usuários diferentes para a página Web protegida por senha
conexão Ele indica se o cliente pode lidar com HTTP conexão persistente. conexão persistente permite que o cliente ou o navegador obtém vários arquivos em uma única solicitação. Mantenha-Alive indica permitir conexões persistentes
Content-Length Somente para solicitações POST, o número de bytes de dados POST
biscoito Retorna anteriormente enviados para os cookies do navegador para o servidor
hospedeiro Apontou que a URL original do nome do host eo número da porta
If-Modified-Since Mostrar apenas quando a página foi modificada no cliente data especificada só precisa neste site. O servidor envia 304 jardas ao cliente que não existe qualquer recurso atualizado
Se-Unmodified-Since E If-Modified-Since, pelo contrário, apenas o documento não foi modificado após a data especificada, a operação será bem sucedida
referer URL da página marcada por referência. Por exemplo, se você estiver na página 1, em seguida, um link para a página 2, então URL da página 1 serão incluídos no navegador solicita um cabeçalho de página 2
User-Agent É usado para distinguir entre diferentes navegadores ou pedido enviado pelo cliente, e os diferentes tipos de navegador para retornar conteúdo diferente

HttpServletRequest classe

javax.servlet.http.HttpServletRequest pedido objeto é uma instância da classe. Sempre que um cliente solicita uma página, motor JSP irá produzir um novo objeto para representar o pedido.

solicitação de objeto fornece uma série de métodos para obter as informações de cabeçalho HTTP, incluindo dados de formulários, cookies métodos HTTP, e assim por diante.

O próximo vai introduzir algum cabeçalho HTTP Get comum nos métodos de programação JSP. Para mais informações, por favor veja a tabela abaixo:

Não. Method & descrição
1 Biscoito [] getCookies ()

Retorna uma matriz de todos os Cookies do cliente
2 getAttributeNames enumeração ()

Retorna uma coleção de todas as propriedades dos nomes pedido de objeto
3 getHeaderNames enumeração ()

Retorna uma coleção de todos os nomes do cabeçalho HTTP
4 getParameterNames enumeração ()

Retorna uma coleção de todos os parâmetros do pedido
5 HttpSession getSession ()

Devoluções solicitar o objeto da sessão correspondente, se não, criar um
6 HttpSession getSession (boolean criar)

Devoluções solicitar o objeto da sessão correspondente se nenhum parâmetro e criar é verdade, retorna um novo objeto de sessão
7 Locale getLocale ()

Retorna este objeto página Locale podem ser fornecidas na resposta
8 getAttribute objeto (String name)

Retorna o nome do nome do valor do atributo, e se não houver nenhum nulo retorno.
9 ServletInputStream getInputStream ()

Retorna um pedido fluxo de entrada
10 getAuthType String ()

Retorna o nome do esquema de autenticação utilizado para proteger o servlet, como "base" ou "SSL" ou nulo se não há medidas de protecção JSP
11 getCharacterEncoding String ()

Retorna o nome do conjunto de codificação de solicitação de caractere
12 getContentType String ()

Retorna o tipo MIME do pedido principal, ou nulo, se não conhecido
13 Cordas getContextPath ()

Retorna o caminho do contexto especificado na solicitação URI
14 Cadeia getHeader (String name)

Retorna o nome especificado no cabeçalho da mensagem
15 Cordas getMethod ()

Retorna o método de solicitação HTTP, como GET ,, POST ou PUT
16 Cadeia getParameter (String name)

Retorna o nome do pedido de parâmetro especificado, ou nulo, se não existe
17 Cordas getPathInfo ()

Retorna qualquer URL caminho extra associado a este pedido
18 Cordas getProtocol ()

Retorna o nome ea versão do protocolo usado por este pedido
19 getQueryString String ()

Isso retorna a URL do pedido cadeia de consulta contém
20 Cordas getRemoteAddr ()

Retorna o endereço IP do cliente
21 Cordas getRemoteHost ()

Devolver o nome completo do cliente
22 Cordas getRemoteUser ()

Retornado para o cliente através da autenticação de login do usuário, se o usuário não for autenticado ou nula
23 Cordas getRequestURI ()

Retorna o pedido URI
24 Cordas getRequestedSessionId ()

Retorna o pedido ID de sessão especificado
25 Cordas getServletPath ()

caminho de volta servlet solicitado
26 String [] getParameterValues (String name)

Retorna parâmetro especifica o nome de todos os valores, ou nulo, se não existe
27 boolean IsSecure ()

Retorna se o pedido canal criptografado, como HTTPS
28 int getContentLength ()

Retorna o número de bytes contidos no corpo da solicitação, ou -1 se desconhecido
29 int getIntHeader (String name)

O valor retornado especifica o nome do cabeçalho do pedido
30 int getServerPort ()

Retorna o número da porta do servidor

exemplos de cabeçalho HTTP

Neste exemplo, vamos usar o método getHeaderNames HttpServletRequest classe () para ler o cabeçalho HTTP. Este método retorna uma enumeração de informações de cabeçalho para a solicitação HTTP atual.

Depois de obter o objeto Enumeration, a forma padrão para atravessar o objeto Enumeration, hasMoreElements () para determinar quando parar de usar método nextElement () para obter o nome de cada parâmetro.

<%@ 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>本教程(w3big.com)</title>
</head>
<body>
<h2>HTTP 头部请求实例</h2>
<table width="100%" border="1" align="center">
<tr bgcolor="#949494">
<th>Header Name</th><th>Header Value(s)</th>
</tr>
<%
   Enumeration headerNames = request.getHeaderNames();
   while(headerNames.hasMoreElements()) {
      String paramName = (String)headerNames.nextElement();
      out.print("<tr><td>" + paramName + "</td>\n");
      String paramValue = request.getHeader(paramName);
      out.println("<td> " + paramValue + "</td></tr>\n");
   }
%>
</table>
</body>
</html>

main.jsp Access, terá os seguintes resultados:

Você pode tentar outros métodos de classe HttpServletRequest no código acima.