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?
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.
[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?
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!!