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.