Vamos dar uma olhada em uma melhor explicação da sessão:
A sessão é uma sessão. Ele pode salvar as informações do usuário sem fechar o navegador, que é como um contêiner temporário para armazenar essas coisas temporárias. Por exemplo, quando conectado, salve as informações do usuário de uma página da web para outra, as informações do usuário podem ser salvas usando a sessão para salvar carrinhos de compras, que podem ser implementados usando a sessão.
Por que você precisa de uma sessão
Isso é para preencher as limitações do protocolo HTTP. Quando o usuário visita uma página, o servidor retorna a solicitação (por exemplo, depois de visitar uma página da web, a página apresenta o conteúdo da página e a interface da interface de interface para você) e, mesmo que seja concluído, está desconectado. O servidor não rastreia mais o status da tarefa do cliente (navegador). Portanto, cada solicitação de HTTP é independente e não contínua. HTTP também é chamado de protocolo sem estado. Se quisermos operar os próprios dados do usuário em uma ocasião ou um processo específico, será muito problemático e até perigoso. Por exemplo, você pode interagir com o servidor através da transmissão de parâmetros de URL e operações de implementação;
O surgimento da sessão resolve esse problema. A sessão é criada no servidor e é destruída pelo servidor após um certo período de tempo. Durante esse período, a sessão entre o cliente e o servidor será mantida e o cliente usará as informações da sessão no servidor para encontrar ou operar alguns dados;
Como usar sessão
A API Java nos dá apenas uma maneira de obter a sessão relacionada à sessão atual:
Sessão httpSession = request.getSession (); // ou httpSession Session = request.getSession (boolean);
Definir valor:
session.setAttribute ("key", objeto de valor);Obtenha o valor:
Tipo de objeto obj = (tipo de objeto) session.getAttribute ("key"); // por exemplo, string name = (string) session.getAttribute ("key");Exclua sessão para especificar o atributo:
session.removeattribute ("key");Limpe todas as sessões para invalidar completamente a sessão atual:
session.Invalidate ();
Configuração do período de tempo limite da sessão
1. Local de instalação do tomcat conf/web.xml:
<Session-Config> <Session-timeout> 30 </session-timeout> </session-config>
30 pontos
2. Localização de instalação do tomcat conf/server.xml:
<Context path = "/test" docBase = "/test" defaultSessionTimeout = "3600" iswarexpandd = "true" iswarvalidado = "false" isinvokerenabled = "true" isworkDirPersistent = "false"/>
Unidades em segundos
3. Configurações de código Java:
Sessão httpSession = request.getSession (); session.setMaxinActiveInterval (1200);
0 pontos:
Outras instruções:
1. Status de expiração da sessão:
1>. O navegador do cliente fecha:
2>. Sessão A sessão expira;
3>. A sessão do cliente chama .invalidate ();
2. se o navegador está fechado e a sessão ainda está lá;
Quando o navegador do cliente estiver fechado, a sessão ainda existirá no servidor por um determinado período de tempo. No entanto, quando o navegador abrir novamente, uma nova sessão será gerada. O navegador corresponde à sessão do servidor através do atributo Gerated SessionID; A última sessão ainda está lá, mas não pode ser acessada;
3. < % @ página session = "false" %> Qual é a situação?:
O significado desta frase é que a sessão não pode ser usada no momento, mas a sessão da página ainda pode ser criada;
4. Quando é criada a sessão:
Criado quando o programa chama httpServletRequest.getSession (true); Se a página não usar <%@ página session = "false"%>, quando a página JSP for compilada no servlet, session httpSession = httpServletRequest.getSession (true);
Resumir
O exposto acima tem tudo a ver com entender sessões em Java. Espero que seja útil para todos. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!