Foros del Web » Programación para mayores de 30 ;) » Java »

Sesion usuario

Estas en el tema de Sesion usuario en el foro de Java en Foros del Web. Buenos días!!! estoy utilizando Anotaciones en mi proyecto con Spring, y ahora mismo nose como manejar las sesiones de los usuarios. Antes utilizaba la clase ...
  #1 (permalink)  
Antiguo 10/03/2013, 05:24
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 3 meses
Puntos: 22
Sesion usuario

Buenos días!!!

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
  1. protected void doGet(HttpServletRequest request, HttpServletResponse response)
  2.             throws ServletException, IOException {
  3. .
  4. .
  5. .
  6.  
  7. HttpSession sesionActual= request.getSession(true);
  8.                 sesionActual.setAttribute("usuSesion", usuario.getNickUsuario());
  9.                 sesionActual.setAttribute("nivelUsuario", usuario.getNivelUsuario());
  10. .
  11. .
  12. .

y si quería acceder al valor de uno de los atributos lo hacía así:

Código JAVA:
Ver original
  1. 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
  1. @SessionAttributes({"usuSesion","nivelUsuario"})
  2.  
  3. @RequestMapping("loginServlet.htm")
  4.     public String loginServlet(@RequestParam("usuario") String nickUsuario, @RequestParam("contras") String contrasUsuario, ModelMap modelo) {
  5.             try {                
  6.                 Usuario usuario = operaciones.buscarUsuario(nickUsuario, contrasUsuario);              
  7.                
  8.                 if(usuario!=null){                    
  9.                     modelo.addAttribute("usuSesion", usuario.getNickUsuario());
  10.                     modelo.addAttribute("nivelUsuario", usuario.getNivelUsuario());          
  11.                     return index(modelo);
  12.                 }
  13.                 else{
  14.                     modelo.addAttribute("mensaje", "USUARIO Y/O CONTRASEÑA INCORRECTOS");
  15.                     return "/WEB-INF/jsp/mensaje.jsp";
  16.                 }
  17.             } catch (SQLException ex) {
  18.                 Logger.getLogger(Controlador.class.getName()).log(Level.SEVERE, null, ex);
  19.             }
  20.             return index(modelo);
  21.     }

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
  1. 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!!
  #2 (permalink)  
Antiguo 10/03/2013, 09:20
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Sesion usuario

Hola:

Echa un ojo por aquí a ver si te sirve http://tedyoung.me/2011/10/19/practi...rt-5-sessions/

También por aquí se habla de datos de sesión http://chuwiki.chuidiang.org/index.p..._MVC_Framework

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 10/03/2013, 12:26
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 3 meses
Puntos: 22
Respuesta: Sesion usuario

Es que al pasar a Anotaciones me han surgido varios problemas y dudas jeje

Por ejemplo si envio un formulario, antes mediante el Request y la clase CommonFileUpload manejaba los elementos del formulario, pero ahora nose como manejarlos

Ademas antes para calcular el Path donde debía guardar un archivo que subo con el formulario, utilizada el método getServletContext() y luego getRealPath() de la siguiente manera:

Código JAVA:
Ver original
  1. String pathBuild=getServletContext().getRealPath("index.jsp");

Y a partir de aquí sacaba el path donde quería guardar pero ahora nose como debo hacerlo y me estoy haciendo un lío : (
  #4 (permalink)  
Antiguo 10/03/2013, 13:31
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Sesion usuario

Hola:

También hay mucha info de así, que tienes un fileupload con spring mvc http://chuwiki.chuidiang.org/index.p..._MVC_Framework

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 10/03/2013, 13:34
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 3 meses
Puntos: 22
Respuesta: Sesion usuario

Código JAVA:
Ver original
  1. public ModelAndView onSubmit(Object comando) throws Exception {
  2.         Fichero fichero= (Fichero) comando;
  3.  
  4.         // Hacer lo que sea oportuno con el comentario.
  5.         String comentario = fichero.getComentario();
  6.  
  7.         // Mover el fichero a un path adecuado
  8.         MultipartFile multipart = fichero.getMultipartFile();
  9.         try {
  10.              File path = new File("un path");
  11.              multipart.transferTo(new File(path, multipart.getOriginalFilename()));
  12.         } catch (Exception e) {
  13.              logger.error("Error al copiar fichero", e);
  14.              throw e;
  15.         }
  16.  
  17.         return new ModelAndView(new RedirectView(getSuccessView()));
  18.     }

Pero este codigo por ejemplo puedo utilizarlo usando Anotaciones?, seria entonces añadir la anotacion al método no?

Gracias!!

Etiquetas: clase, jsp, servlet, string, usuario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:41.