[RESOLVIDO]Trabalhando com HttpSession

Olá Pessoal,

Estou estudando pelo livro da Kathy Use a Cabeça Servlets & JSP, e no capitulo sobre Gerenciamento de Sessões não há muitos exemplos e acabei ficando com uma duvida.

Por exemplo em uma aplicação bem simples em que é solicitado ao cliente o nome.

O servlet pega o parâmetro, seta como um atributo da sessão, chama um jsp que imprime “Bem vindo (nome)” e pergunta a idade do cilente.

Primeira duvida, este form deve redirecionar para o mesmo servlet que tratou do nome?

Supondo que a resposta da primeira pergunta seja sim, como eu faria a lógica do servlet para nessa segunda solicitação ele saber que deve pegar a idade e não o nome?

Bom é isso, qualquer ajuda será bem vinda! :smiley:

Voce pode fazer assim voce manda o parametro nome=“Cristian” na primeira requisicao

na segunda vai idade= 19

entaum seu servlet pode tentar achar os parametros na url e dependendo que achar exibe uma ou outra coisa…

Então, quanto a passar os parametros não tive problema, o problema está na lógica do servlet.

Por exemplo, na primeira solicitação eu tenho o nome, como faço para o servlet saber que essa é a primeira solicitação e vem com o parametro nome e não a segunda com o parametro idade?

Pois o tratamento será diferente, no caso de ser a primeira e estar recebendo um nome, irei redirecionar para a view que pergunta a idade, se for a segunda solicitação eu chamaria uma outra classe para tratar a idade e dependendo do que está retornasse chamaria uma view ou outra.

[quote=vinids]Então, quanto a passar os parametros não tive problema, o problema está na lógica do servlet.

Por exemplo, na primeira solicitação eu tenho o nome, como faço para o servlet saber que essa é a primeira solicitação e vem com o parametro nome e não a segunda com o parametro idade?

Pois o tratamento será diferente, no caso de ser a primeira e estar recebendo um nome, irei redirecionar para a view que pergunta a idade, se for a segunda solicitação eu chamaria uma outra classe para tratar a idade e dependendo do que está retornasse chamaria uma view ou outra.[/quote]O mais prático é, chegou aqui sem idade mas com nome, volta pra tela x. está aqui sem nada volta para tela y. E assim vai.

Ahh blz, só para ter certeza que entendi, eu faria um session.getAttributeNames(), e baseado na saida eu saberia em qual ponto o cliente está?

[quote=vinids]Ahh blz, só para ter certeza que entendi, eu faria um session.getAttributeNames(), e baseado na saida eu saberia em qual ponto o cliente está?[/quote]por que você simplesmente não faz getAttribute(“nome”) e se estiver vazio vc já sabe que nada veio?

Eu fazer um getAttibute(“nomeQueAindaNaoExiste”) não vai lançar nenhum erro?

[quote=vinids]Eu fazer um getAttibute(“nomeQueAindaNaoExiste”) não vai lançar nenhum erro?[/quote]Você testou? O que aconteceu? [=

Não, estou no trabalho, apenas imaginei que pudesse acontecer, compartilhando uma outra ideia que me deram, tbm há como passar um atributo de controle, por exemplo 1 para tratar o nome, 2 para idade e assim por diante!!!
Agradeço a ajuda de vcs!!