Seguinte, eu tenho uma teoria sobre o Session e RequestScope e queria compartilhar para saber se está correta ou nao para nao ter que continuar algo com conhecimento errôneo.
Se eu usar um bean do tipo SessionScope as informações que estiverem neles, existiram durante toda a Sessao? mesmo sem eu fazer um HttpSession = request.getSession?
Já para um RequestScope vale somente para aquela pagina na qual eu requeri o bean? ou seja naquela requisição?
Se minha informação estiver correta sobre SessionScope. como eu faço para que, ao usuario logar no sistema, ele ative um metodo, por exemplo…
UsuarioBean possui
Usuario user;
queria saber como faço para quando iniciar o sistema, fazer um getUser e povoar esse meu user com as informações do banco…
OBS: não quero o código de persistência nem nada do banco, só quero saber a minha duvida inicial e se estiver correta, em que momento ou lugar eu chamo o método do ManagedBean para povoar meu usuário para que eu possa continuar a pagina com as infos do usuario ativa.
Obs2: estou usando o livro java para web da novatec como fonte de estudo e estou iniciando em jsf por favor tenham paciencia caso minhas duvidas sejam, digamos que, toscas.
Comecei a estudar JSF à algumas semanas, vou tentar sanar suas dúvidas.
Sim, as informações estarão disponíveis por toda a Session.
Sim e não. Com o requestScope os seus dados estarão disponíveis apenas naquela requisição. Caso você atualize a página por exemplo, uma nova requisição é feita, seus dados são perdidos e tal. Para manter o estado por toda a página, usamos o ViewScope.
Eu uso o SpringSecurity para isso. Mas na unha, você poderia utilizar um SessionScope. Recomendo seriamente utilizar o SpringSecurity.
Esse livro é d+ Parabéns para o Décio e para o Alexandre.
Muito, mais muito, obrigado mesmo, já vi aqui que posteriormente possui o capitulo de spring security, então quando chegar lá, provavelmente haverá essa ultima informação de povoar meu bean…
Por favor, ao postar tópicos, não dê destaque para o óbvio no título. Sabíamos que você tinha [Dúvida] ou você sequer estaria abrindo o tópico.
O mesmo vale para [Ajuda], [Urgente] e [Socorro]…
creio que poderia fazer essa chamada no contrutor do seu ManagerBean ou em um método que esteja anotado como @PosConstruct que seria após uma instanciação. Mas sendo o ManagerBean escopo de sessão só ocorrerá a execução do construtor somente uma vez e sendo escopo de requeste ocorrerá a cada requisição.
espero ter ajudado.