Pergunta

Eu sempre tomadas para concedido o JSESSIONID cookie criado para cada nova solicitação para um determinado cliente para o desenvolvimento de aplicações utilizando a especificação servlet.Mas depois de dar a ele um pouco de pensamento, não é mais lógico que o servlet container para criar um cabeçalho de cookie apenas depois de a sessão foi solicitada e criado em código?Para os clientes que têm os seus cookies desativados, não vai acabar criando uma nova HttpSession para cada solicitação feita?

Por favor, deixe-me saber se a questão ainda não está claro para que eu possa editá-lo.TIA.

Foi útil?

Solução

Uma nova Sessão não será criado pelo Servlet container por padrão, a menos que o Servlet, na verdade, cria-lo explicitamente.Só porque no Cabeçalho de um JSEESIONID está a ser preenchido, não significa que tem de ser um seesion no servidor.Uma exceção a esta regra é JSPs que, por padrão, criar uma Sessão, se não estiver lá, a menos que <%@ page sessão="false" %>

Tanto quanto não ter os cookies ativados:

Um web container pode usar vários métodos para associar uma sessão com um usuário, todas as quais envolvem a passagem de um identificador entre o cliente e o server.O identificador pode ser mantido no cliente como um cookie, ou o componente da web podem incluir a identificador em cada URL que é devolvido para o cliente.

Se seu aplicativo usa sessão os objetos, você deve garantir que a sessão o rastreamento é habilitado por ter o aplicação de reescrita de URLs, sempre que o o cliente desliga cookies.Você fazer isso chamando a resposta encodeURL(URL) método em todos os URLs retornado por um servlet.Este método inclui o ID da sessão na URL só se os cookies estiverem desativados;caso contrário, ele retorna a URL inalterado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top