estoy utilizando Anotaciones en mi proyecto con Spring, y ahora mismo nose como manejar las sesiones de los usuarios. Antes utilizaba la clase HttpServletRequest y la clase HttpSession de la siguiente manera:
Código JAVA:
Ver original
protected void doGet(HttpServletRequest request, HttpServletResponse response) . . . HttpSession sesionActual= request.getSession(true); sesionActual.setAttribute("usuSesion", usuario.getNickUsuario()); sesionActual.setAttribute("nivelUsuario", usuario.getNivelUsuario()); . . .
y si quería acceder al valor de uno de los atributos lo hacía así:
Código JAVA:
Ver original
request.getSession().getAttribute("usuSesion");
Sin embargo ahora al utilizar anotaciones he leido que es hay un tipo de atributos @SessionAttributes que se mantienen durante toda la sesion hasta que se modifican o se eliminan por lo tanto estaba manejando las sesiones así:
Código JAVA:
Ver original
@SessionAttributes({"usuSesion","nivelUsuario"}) @RequestMapping("loginServlet.htm") try { Usuario usuario = operaciones.buscarUsuario(nickUsuario, contrasUsuario); if(usuario!=null){ modelo.addAttribute("usuSesion", usuario.getNickUsuario()); modelo.addAttribute("nivelUsuario", usuario.getNivelUsuario()); return index(modelo); } else{ modelo.addAttribute("mensaje", "USUARIO Y/O CONTRASEÑA INCORRECTOS"); return "/WEB-INF/jsp/mensaje.jsp"; } Logger.getLogger(Controlador.class.getName()).log(Level.SEVERE, null, ex); } return index(modelo); }
El problema está que si luego quiero obtener el valor de los SessionAttributes lo he intentado así pero no devuelve ningún valor y nose como hacerlo o si se puede hacer
Código JAVA:
Ver original
modelo.get("usuSesion");
Mi pregunta es.. usando anotaciones hay alguna forma especifica de manejar Sesiones de usuario? se pueden utilizar las clases HttpSession y HttpServletRequest, como debería hacerlo?
Se agradece cualquier sugerencia o alternativa, porque la verdad nose por donde tirar ahora mismo!!