Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Variables de Sesion en una JSP (Primera vez) (http://www.forosdelweb.com/f45/variables-sesion-jsp-primera-vez-235477/)

aetrejo 30/09/2004 11:51

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.

victork_py 30/09/2004 12:43

Parece que no estas asignando el valor a la variable.

session.setAttribute("SstrUsuarioActual", user)

siendo user la variable que queres guardar.

aetrejo 30/09/2004 13:07

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!!!

victork_py 30/09/2004 13:18

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.

goncafa 30/09/2004 16:25

antes de poder guardar o rescatar variables de la session debes en cada pagina que las usaras tener esto

Código PHP:

HttpSession session request.getSession(true); 

El parametro true indica que si no se ha iniciado una sesison se inicia una nueva.

Puedes poner esa linea tanto en los servlets como en las JSP

Saludos

aetrejo 01/10/2004 12:06

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!!!

goncafa 01/10/2004 14:18

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

hugo777 01/10/2004 15:16

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 ... ?

aetrejo 05/10/2004 14:58

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!!!

goncafa 05/10/2004 15:41

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

aetrejo 14/10/2004 11:42

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!!!

hugo777 14/10/2004 12:45

Podrias mostrarnos en código las páginas y html, jsp y servlets que utilizas para tratar de simularlo y ver que pasa... :pensando:

goncafa 14/10/2004 12:51

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

jgespinosa 22/11/2004 11:51

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.

aetrejo 22/11/2004 17:05

Hola, pues fijate que lo tengo declarado así:

<script language= "javascript">

voy a probar declarar como dices y te cuento.

Gracias!!!

jose_java 26/11/2004 18:47

Cita:

Iniciado por aetrejo
En la primera página:
<%=session.getAttribute("SstrUsuarioActual")%>

En la otra página:
String strUsuarioActual = (String) session.getAttribute("SstrUsuarioActual");

Nota: Por si esto ayuda estoy utilizando frames.

Estás siempre recogiendo el atributo de la session, no veo que nunca añadas ese atributo en la sesion del usuario. Tendrías que declarar en la primera pagina esto:
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.

panchololin 02/07/2008 08:17

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"));

tapilu 02/07/2008 17:05

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

hlsv21 30/12/2008 13:30

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.