![]() |
Variables de Sesion en una JSP (Primera vez) Hola! Necesito que me ayuden con esto, voy a hacer un módulo de login, y necesito guardar en una variable de sesion el usuario y el proyecto al que corresponde, pero nunca lo he hecho, entonces alguien me dijo que probara esto: En la primera página: <%=session.getAttribute("SstrUsuarioActual")%> En la otra página: String strUsuarioActual = (String) session.getAttribute("SstrUsuarioActual"); pero no funciona, pues cuando tarato de accesar los valores de las variables en otra página estos llevan null. Tal vez me podrían indicar otra forma de hacerlo. Gracias!!! Nota: Por si esto ayuda estoy utilizando frames. |
Parece que no estas asignando el valor a la variable. session.setAttribute("SstrUsuarioActual", user) siendo user la variable que queres guardar. |
Variables de sesion en JSP Se mi olvidó poner esa parte del código, pero si la tengo, y aún así no funciona. Otra cosa que no mencioné y que un compañero me dijo que podía estar ocasionando los problemas es que utilizo un menú hecho con JScript, y que eso podía estar haciendo que las variables se pierda, no sé si es cierto... Tal vez ustedes me pueden decir algo sobre esto... Gracias por la ayuda!!! |
Sinceramente nunca he usado Frames, de hecho mi experiencia con JSP es muy poca todavía, así que sobre Frames no puedo decir nada. Lo que a mi me pasó una vez era que la forma que tomaba los datos del Form estaba mal, o sea, el request.getParameter no estaba capturando los datos, así que tuve que poner entre comillas el nombre de los textbox de HTML en el form. |
antes de poder guardar o rescatar variables de la session debes en cada pagina que las usaras tener esto Código PHP: Puedes poner esa linea tanto en los servlets como en las JSP Saludos |
Variables de sesion en JSP Gracias!!! ya probé eso y tampoco funciona, no sé si el utilizar JScript en el menú que tengo pueda estar ocasionando el problema, un compañero de trabajo me dijo que puede ser que por el JScript que tengo se estén perdiendo las sesiones. Tal vez ustedes saben si puede ser esto o no... Gracias!!! |
Solo una cosa, recuerda que JScript no es lo mismo que JSP, y estos actuan en ambitos diferentes, no es tan simple poder juntar ambos lenguages, de ehcho, no se puede, a lo mucho puedes hacer que una JSP te retorne codigo JScript, o que mediante JSP puedas asignar variables dinamicamente a un JScript, pero al reves es imposible, es decir, nada de JSCript puedes pasarlo a JSP a menos que lo implementes por medio de un formulario o pasar el valor de una variable por la URL y luego capturarla en una JSP y usarla. Saludos |
Hola, en el codigo inicial que pones, se ven bien las asignaciones y obtenciones de tus variables de sesión, que extraño que se te pierdan los valores y recuperes siempre null ??? Sobre JavaScript, pues yo tampoco creo que ese sea el problema, pues como ya se ha comentado son lenguajes diferentes y no se relacionan tan fácilmente... Sin embargo, prueba una cosa más, en tu primera página JSP pones: <% HttpSession objSesion = request.getSession(true); String user = "USUARIO_X"; //aqui tu identificador de usuario objSesion.setAttribute("usuario", user ); out.println("Poniendo usuario en sesion ..."); %> Y En la segunda página JSP pones: <% HttpSession objSesion = request.getSession(false); String usuario = (String)objSesion.getAttribute("usuario"); out.println("Usuario en sesion: " + usuario); %> Eso debería funcionar ... ? |
No funciona... pero es extraño, porque cuando corro todo sin el menú funciona bien... pero cuando ya utilizo el menú las variables se pierden... No sé que más probar.... Si alguien puede ayudarme... Gracias!!! |
Recuerda que del modo que estas usandel codigo la ID de tu session queda guardada en una Cookie en tu PC y luego JSP la recupera, pero si tienes las Cookies desativadas entonces siempre se te perderan los valores. Saludos |
Sigue el problema con las variables de sesion Hola!, gracias por su ayuda, pero aún no he solucionado mi problema. Cuando utilizo mis páginas sin el menú (utilizo links para moverme) todo funciona bien, los valores en las varibles de sesión están bien, pero cuando agrego el menú las variables se pierden. No sé qué puede estar causando esto, porque ya todos me dijeron que no es JScript el problema. Si saben algo que pueda probar... se los agradeceré muchísimo!!! |
Podrias mostrarnos en código las páginas y html, jsp y servlets que utilizas para tratar de simularlo y ver que pasa... :pensando: |
y no olvides de poner el codigo entre etiquetas de PHP para que este quede coloreado e indentado, de otro modo es un lio tratar de leerte el codigo. Saludos |
Variables de Sesion en una JSP (Primera vez) :pensando: yo tambien tuve un problema similar al tuyo, de hecho el java script no es tu problema. prueba esto a ver si te srive. tu debes tener declarado tu script de la siguiente manera: <script "javascript"> codigo script . . . </script> solo tienes que hacerlo asi: <script> codigo script . . . </script> yo hice esto y me funciono, quiza a ti tambien te pueda ayudar. saludos. |
Hola, pues fijate que lo tengo declarado así: <script language= "javascript"> voy a probar declarar como dices y te cuento. Gracias!!! |
Cita:
session.setAttribute("SstrUsuarioActual", valor); Asi en la otra página ya podrias recojer el valor que has metido. Si los frames que usas se encuentran dentro de tu aplicación WEB no hay problema. El problema viene si para algun frame utilizas alguna pagina de fuera de tu aplicacion WEB. La sesion de usuario tiene limite de aplicacion WEB. |
Respuesta: Variables de Sesion en una JSP (Primera vez) no deberias hacer eso en el servlet? Bueno, yo utilizo JSP pero con Struts, es mas limpio poner las sesiones en la clase de java y no directamente en la página. Para ello utilizas la clase HttpSesion En cada página preguntas por la sesión: if (!HttpSessionManager.isSession(request)) { return(mapping.findForward("sessionExpired")); } Creo una clase HttpSessionManager que tiene los siguientes metodos: public static void activeTime(HttpServletRequest request, HttpServletResponse response,int tiempo){ HttpSession session = request.getSession(true); session.setMaxInactiveInterval(tiempo); } public static void login(HttpServletRequest request, HttpServletResponse response, Form form) { HttpSession session = request.getSession(true); session.setAttribute("username"form); } Por ultimo en la clase login, llamo a esos 2 metodos con el bean correspondiente: HttpSessionManager.activeTime(request, response, 9*60*60); HttpSessionManager.login(request, response, form); HttpSession session = request.getSession(true); request.setAttribute("user", session.getAttribute("username")); |
Respuesta: Variables de Sesion en una JSP (Primera vez) hola yo tengo un poco de experiencia y lo promero que se hacer es un login,despues una pagina de verificar y despues la pagina a donde quieres que te mande la de login nda mas pones el formulario no se necesita nadanden jsp solo que en le fuction debe ser asi < form fuction="verifica.jsp">para que lea la pagina y verifica debe contener el siguiente codigo <% /** *Conexion a la base de dtaos */ String mensaje=""; String datos=""; Class.forName("com.mysql.jdbc.Driver"); java.sql.Connection conexion; try { conexion = DriverManager.getConnection("jdbc:mysql://localhost/bdm","root",""); mensaje="Conexcion realizada satisfactoriasmentes"; java.sql.Statement query; query= conexion.createStatement(); java.sql.ResultSet tabla; tabla=query.executeQuery("select * from clientes where nombre='"+request.getParameter("Usuario")+ "' and pwd='"+ request.getParameter("PWD")+"'"); if(tabla.next()) { String id=tabla.getObject("id_Cliente").toString(); String nombre=request.getParameter("Usuario"); String rol=tabla.getObject("rol").toString(); session.setAttribute("Usuario",nombre); session.setAttribute("id",id); session.setAttribute("rol",rol); if(rol.compareTo("1")==0) { if(request.getParameter("voy")!=null) { response.sendRedirect("Pedir.jsp"); } else response.sendRedirect("UsMenu.jsp"); } else response.sendRedirect("AdminMenu.jsp"); } else response.sendRedirect("Login.jsp?error=Password invalido "+ request.getParameter("Usuario")); } catch(Exception e) { %> El error fue <%=e.getMessage()%> <% } %> espero que te sirva |
Respuesta: Variables de Sesion en una JSP (Primera vez) Hola que tal, hace tiempo tuve un problema con variables de sesion el cual era que tenia una pagina que generaba variables de sesion, pero esta pagina estaba dentro de un iframe, pero las variables se me perdian o como en este caso siempre eran nulas, Esto se debe a que el IIS si es que lo estas ocupando, no puede interpretar dichas variables si se encuentran en diferentes dominios el menu y tu pagina. La que yo hize es poner todo en el mismo dominio, tanto el menu y la pagina que estaba en mi iframe. Espero te sea de ayuda |
| La zona horaria es GMT -6. Ahora son las 05:22. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.