Não criar nova sessão após expirrar a primeira

3 respostas
A

Boa tarde,
Estou querendo fazer com que ao acessar algumas paginas de minha aplicação seja gerado algumas informações do usuários, para que eu tenha controle de quem acessa essas areas, e também pela questão de relatórios e estatisticas.
uma página bem simples para isso recupera todos os headers da request do usuário e as mostra na tela, para teste também criei uma sessão do usuário com expiração de 1 segundo, repito apenas para teste, e me veio as seguintes informações

accept: /
referer: http://localhost:8080/WebApplication4/
accept-language: pt-br
user-agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; chromeframe/16.0.912.77; .NET CLR 2.0.50727; InfoPath.3; .NET4.0C; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
accept-encoding: gzip, deflate
host: localhost:8080
connection: Keep-Alive
cookie: JSESSIONID=3e1713115ef2f1b065f749721786

Sessão criada com sucesso: Id: 3e17fed1585876ac9d9d88d8c04d Nome: Administrador

Como podem ver está se gerando um cookie JSESSIONID que gostaria de remover, e depois de passado o tempo de vida da sessão não se gere outra, existe alguma maneira de faze-lo? ou algum parametro que precisa ser setado.

3 Respostas

Minduin

Olá,

Toda a chamada a página JSP implicitamente cria nova sessão se não houver sessão ainda. Isto pode ser desligado usando está diretiva para que na chamada da mesma não crie uma nova JSESSIONID.

<% @ Page = sessão “false”%>

Só para nos situarmos, sobre o “JSESSIONID” é o id único da sessão http, caçando informações encontra-se “As informações da sessão tem como escopo apenas para o aplicativo da Web atual (ServletContext), para que as informações armazenadas em um contexto não será diretamente visível em outro.”
Então, quando você entrar em um site, uma nova sessão é criada e vinculada ao SevletContext. Se você implantar várias aplicações, a sessão não é compartilhada, quando você “mata” a sessão da aplicação o que você terá são jsp’s sem vinculos.

Confesso que estou curioso para saber o que você quer exatamente.

Se eu falei alguma besteira, já peço desculpa antecipadamente.

Abs,

A

Minduin:
Olá,

Toda a chamada a página JSP implicitamente cria nova sessão se não houver sessão ainda. Isto pode ser desligado usando está diretiva para que na chamada da mesma não crie uma nova JSESSIONID.

<% @ Page = sessão “false”%>

Só para nos situarmos, sobre o “JSESSIONID” é o id único da sessão http, caçando informações encontra-se “As informações da sessão tem como escopo apenas para o aplicativo da Web atual (ServletContext), para que as informações armazenadas em um contexto não será diretamente visível em outro.”
Então, quando você entrar em um site, uma nova sessão é criada e vinculada ao SevletContext. Se você implantar várias aplicações, a sessão não é compartilhada, quando você “mata” a sessão da aplicação o que você terá são jsp’s sem vinculos.

Confesso que estou curioso para saber o que você quer exatamente.

Se eu falei alguma besteira, já peço desculpa antecipadamente.

Abs,


Na verdade minha intensão a principio seria apenas de teste e estudo, infelismente não servirá para o proposito que eu queria, que era a de gerar algum tipo de relatório com informações basicas do usuário, que serviria para gerar estatisticas para que futuramente eu possa focar melhor o desenvolvimento de meu projeto, coletando estatisticas como, browser mais usado, SO mais usado, etc… apesar que em desenvolvimento web isso não mude muito, mas pode ser util no caso de eu querer integra-lo com outros programas :wink:
Mas como você mensionou, no momento que eu desativo a sessão o jsp perde o vinculo, portanto eu perco o acesso as variaveis request e response do servlet correto?

Minduin

Tenha em mente que a sessão é um recurso muito util, não utiliza-lo é um erro, busque a melhor forma de utiliza-lo, boas práticas fazem o bom software, mas se é para estudo procure materias sobre Servlet Filter, creio que ele ajudará você a concentrar a forma de capturar a informação dos usuário que irão acessar seu sistema.

Abs

Criado 6 de fevereiro de 2012
Ultima resposta 7 de fev. de 2012
Respostas 3
Participantes 2