Estoy utilizando para la sesion en Struts2 la interface SessionAware, aunque no se si correctamente. Utilizo una clase que llamo Login.java y ahí hago todas las tareas:
1.- Cojo el usuario y contraseña que se entra en la jsp
2.- Hago una consulta en la BBDD con hibernate para saber que existe
Este es el codigo
Código:
Luego, en caso de que el usuario exista accede a otras partes del web, pero entiendo que los datos del usuario ya están en el contexto del Java, en el objeto usuario. Mi pregunta es ¿si defino una nueva acción en struts2 paras ver los datos de ese usuario en una JSP debería de verlos sin tenener que volver ha hacer una consulta a la BBDD o es oblogatorio volver ha hacer la consulta?public String execute() { try { hibernateSession = HibernateUtil.getSessionFactory().openSession(); hibernateSession.beginTransaction(); if (usuarioForm != null && contrasenaForm != null && (!usuarioForm.equals("")) && (!contrasenaForm.equals(""))) { //Query peral usuario String queryUsuario = "FROM Usuario WHERE usuario='" + usuarioForm + "'AND contrasena='" + contrasenaForm + "'"; usuario = (Usuario) hibernateSession.createQuery(queryUsuario).uniqueResult(); session.put("loginId", usuarioForm); } else { //Acción por si el formulario està vacio addActionError("Debe de introducir datos"); return INPUT; } //Acción por si no existe if (usuario == null) { addActionError("El usuarior no existe"); return INPUT; } hibernateSession.flush(); hibernateSession.close(); } catch (HibernateException e) { e.printStackTrace(); } if (usuario != null){ return SUCCESS; }
Me he econtrado este hilo http://www.forosdelweb.com/f45/valid...ts-2-a-904381/ y voy a darle un vistazo.
Saludos