1 O que é um biscoito
O navegador e o servidor da web se comunicam usando o protocolo HTTP. Quando um usuário emite uma solicitação de página, o servidor da Web simplesmente responde e fecha a conexão com o usuário. Portanto, quando uma solicitação é enviada a um servidor da Web, independentemente de ser a primeira visita, o servidor o tratará como a primeira vez. Isso é uma coisa ruim que pode ser imaginada. Para compensar essa falha, o Netscape desenvolveu um cookie, uma ferramenta eficaz para salvar as informações de identificação de um determinado usuário, para que as pessoas o apelidassem de "biscoitos doces". Cookies é um meio pelo qual os servidores da web armazenam informações no disco rígido dos visitantes através de um navegador: o Netscape Navigator usa um arquivo local chamado Cookies.txt para salvar informações de cookies recebidas de todos os sites; Enquanto o navegador do IE economiza informações de cookies em um diretório semelhante ao c:/windows/cookies. Quando o usuário visita um site novamente, o servidor solicitará ao navegador que encontre e retorne as informações de cookies enviadas anteriormente para identificar o usuário.
2 quatro atributos de cookies
Max-Age especifica a vida útil do CCookie (em segundos)! Por padrão, o valor do cookie só existe durante a sessão do navegador, e esses valores desaparecem quando o usuário sai do navegador!
O caminho especifica a página da web associada ao cookie. Por padrão, o cookie está associado à página da web que a cria, bem como à página da web no mesmo diretório que a página da web e os subdiretos no diretório.
Domínio Configurando o domínio de acesso, por exemplo: o servidor localizado em order.example.com precisa ler o cookie definido por catalog.example.com. Aqui você precisa apresentar o atributo de domínio. Supondo que o cookie criado pela página localizado em catalog.example.com define seu caminho atributo para "/" e o atributo de domínio para ".example.com", todas as páginas da web localizadas em "catalog.example.com" e todas as páginas da web localizadas em "orders.example.com" e todas as páginas da web localizadas em "order.example.com" e todos os outros servidores localizados. Se o valor do domínio do cookie não estiver definido, o valor padrão desse atributo é o nome do host do servidor em que a página da web onde o cookie é criado. Nota: O domínio de um cookie não pode ser definido como um domínio fora do domínio onde o servidor reside.
Seure especifica como o valor de um cookie é transmitido na rede
3 operação de biscoito Java
Crie um cookie
// novo objeto de cookie, par de valores-chave é o cookie de parâmetro = new Cookie ("chave", "valor do cookie"); Se o valor do cookie contiver chinês, o cookie precisará ser codificado, caso contrário, ocorrerá um código ilegal. Use Urlencoder.Encode ("Valor do cookie", "UTF-8"); // Defina o tempo máximo de sobrevivência do cookie, em segundos, se o número negativo for o processo do navegador, feche o biscoito do navegador desaparecer cookie.setMaxage (*24*60*60); // Um dia // Adicione o cookie à resposta para fazer com que ele tenha efeito de resposta.Addcookie (Cookie); // Depois do addCookie, se o biscoito com o mesmo nome já existe, os mais recentes substituem o biscoito antigoNota: No Struts, você pode usar o ServletActionContext.getResponse () para obter o objeto Respone
Leia os cookies
A leitura de cookies só pode obter todos os cookies a partir da solicitação e depois iterar em um loop.
No Struts, você pode usar o servletActionContext.getRequest () para obter o objeto de solicitação
// Obtenha o cookie da solicitação e você obtém uma variedade de cookies biscoitos [] cookies = request.getcookies (); // então itera se (cookies! = Null && cookies.length> 0) {// Se você não definiu um cookie, ele retornará nulo para (cookie cookie: cookies) {...}} Exclua cookies
Se você excluir um cookie, só precisará definir a vida útil do cookie para 0.
Cookie [] Cookies = request.getCookies (); if (cookies! = null && cookies.length> 0) {for (cookie cookie: cookies) {string name = cookie.getName (); // Encontre o cookie que precisa ser excluído se (name.compareto ("Target-key") == 0) {// Defina a vida útil para 0 cookie.setMaxage (0); // Volte para o Response.addcookie (Cookie); }}}O método setPath de 4 cookies é usado:
Os cookies normais só podem ser compartilhados em um aplicativo, ou seja, um cookie só pode ser obtido pelo aplicativo que o criou.
1. O método pode ser compartilhado dentro do mesmo servidor de aplicativos: set cookie.setPath ("/");
Existem dois aplicativos no TomCat/WebApp nativo: webapp_a e webapp_b.
1) Acontece que o cookie definido em webapp_a não pode ser obtido em webapp_b. O caminho é o caminho do aplicativo que gera o cookie por padrão.
2) se você definir um cookie em webapp_a, adicione um cookie.setPath ("/"); ou cookie.setPath ("/webapp_b/");
Você pode definir o cookie pelo CAS em webapp_b.
3) Os parâmetros aqui são relativos ao diretório raiz da pasta de aplicativos armazenados pelo servidor de aplicativos (como o WebApp no tomcat), então cookie.setPath ("/"); Depois disso, o cookie pode ser compartilhado em todos os aplicativos na pasta WebApp e cookie.setpath ("/webapp_b/");
Isso significa que o cookie definido pelo aplicativo CAS só pode ser obtido no aplicativo webapp_b e até o aplicativo webapp_a que gera esse cookie não pode ser usado.
4) Ao definir cookie.setpath ("/webapp_b/jsp") ou cookie.setpath ("/webapp_b/jsp/"), o cookie só pode ser obtido em webapp_b/jsp, mas os cookies não podem ser obtidos fora da pasta JSP.
5) defina cookie.setPath ("/webapp_b"); significa que os cookies só podem ser usados em webapp_b, para que os cookies não possam ser obtidos em webapp_a que gera cookies.
6) quando existem vários cookies.setPath ("xxx"); Declarações, a última prevalecerá.
5 Cookie.setDomain Método Design Compartilhamento de Domínios Cross
O domínio em que a máquina a está localizada: home.langchao.com, um aplicativo webapp_a
O domínio em que a máquina B está localizada: jszx.com, B tem aplicativo webapp_b
1) Ao definir cookies em webapp_a, adicione cookie.setDomain (". Jszx.com"); para que você possa obter cookies em webapp_b.
2) Ao inserir o URL para acessar o WebApp_B, você deve inserir o nome de domínio para resolver. Por exemplo, ao entrar: http://lc-bsp.jszx.com:8080/webapp_b Na máquina A, você pode definir o cookie por webapp_a no cliente, ao entrar: http: // lochhost: 8080/webapp_b, você não pode obter o cookie.
3) cookie.setDomain (". Jszx.com"); também pode ser compartilhado sob o padrão home.langchao.com
O clichê acima fala sobre o uso de cookies em Java é todo o conteúdo que eu compartilho com você. Espero que possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.