Este artigo descreve o método de implementação para definir o tempo de expiração da sessão em Java e o compartilha com você para sua referência. O método de implementação específico é o seguinte:
1. Tempo limite no descritor de implantação (web.xml)
em minutos
Copie o código da seguinte forma: <web-app ...>
<configuração da sessão>
<tempo limite da sessão>20</tempo limite da sessão>
</session-config>
</web-app>
A configuração acima entra em vigor para todo o aplicativo da web. Quando o cliente não inicia uma solicitação em 20 minutos, o contêiner encerrará a sessão.
2. Tempo limite com setMaxInactiveInterval()
Especifique o tempo de expiração de uma sessão específica por meio de codificação, em segundos. Por exemplo:
Copie o código da seguinte forma: HttpSession session = request.getSession();
sessão.setMaxInactiveInterval(20*60);
A configuração acima só é aplicável em sessões que chamam o método “setMaxInactiveInterval()”, e a sessão será encerrada por contêiner se o cliente não fizer nenhuma solicitação após 20 minutos.
Pensamentos….
Isso é um pouco confuso, o valor no descritor de implantação (web.xml) está em “minuto”, mas o método setMaxInactiveInterval() aceita o valor em “segundo”.
3. Defina-o no programa, a unidade é segundos, defina como -1 para nunca expirar, o código de exemplo é:
Copie o código da seguinte forma: session.setMaxInactiveInterval(30*60);
A ordem de prioridade para as configurações da sessão produzirem efeitos é: primeiro o programa, depois a configuração, primeiro local e depois geral.
Espero que este artigo seja útil para a programação Java de todos.