elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Ayuda JSP y Cookies
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda JSP y Cookies  (Leído 2,712 veces)
RedWarrior

Desconectado Desconectado

Mensajes: 14



Ver Perfil
Ayuda JSP y Cookies
« en: 12 Diciembre 2013, 20:11 pm »

Que tal amigos del foro!

tengo un problema con lo que es JSP y Cookies, les comento que es lo que sucede:

tengo el siguiente código el cual me ayuda ha recibir datos de un formulario
y  a poner esos datos en elementos ocultos.

Código:
 <%
      
        String usr = request.getParameter("USER");
        String sess = request.getParameter("SESSION_ID");
        String name = request.getParameter("NOMBRE");
        String clave = request.getParameter("CLAVE");


        out.println("<form>");
        out.println("<input type='hidden' id='USER' name='USER' value='" + usr + "' />");
        out.println("<input type='hidden' id='NOMBRE' name='NOMBRE' value='" + name + "'>");
        out.println("</fonm>");
        
    %>


el problema de esto es que cuando refresco la pagina logicamente se pierden los datos por lo que opte por utilizar cookies,

Código:

<script language="javascript">

        function getCookie(c_name)
        {
            var c_value = document.cookie;
            var c_start = c_value.indexOf(" " + c_name + "=");
            if (c_start == -1)
            {
                c_start = c_value.indexOf(c_name + "=");
            }
            if (c_start == -1)
            {
                c_value = null;
            }
            else
            {
                c_start = c_value.indexOf("=", c_start) + 1;
                var c_end = c_value.indexOf(";", c_start);
                if (c_end == -1)
                {
                    c_end = c_value.length;
                }
                c_value = unescape(c_value.substring(c_start, c_end));
            }
            return c_value;
        }

        function setCookie(c_name, value, expire)
        {
            var exdate = new Date();
            exdate.setDate(exdate.getDate() + expire);
            var c_value = escape(value) + ((expire == null) ? "" : "; expires=" + expire.toGMTString());
            document.cookie = c_name + "=" + c_value;
        }
</script>



Estas son mis dos funciones get y set de las cookies hasta aqui todo bien puesto que no tengo problemas con estas dos funciones ya que si guardan y recogen las cookies.

el siguiente codigo es el que me ayuda a crear las cookies con los datos que quiero guardar y también a recoger esas coogies con los mismo datos

Código:

var expira = new Date();
    
   expira.setMinutes(expira.getMinutes() + 30);

     var username = getCookie("user");

        if (username == null || username == "")
        {
            username = document.getElementById("USER").value;

            if (username != null || username != "")
            {

                setCookie("user", username, expira);

            }

        }


como podran observar aca guardo una cookie que me ayuda a almacenar el nombre del usuario que entra dentro de el sistema.
esta cookie la recupero de la siguiente forma

Código:

 <font style='font-size: 25px;'>Bienvenido</font><script languge="javascript">document.write("<label>" + getCookie("user") + getCookie("name") + "</label");</script>


La segunda cookie se llama name esta cookie la utilizo para almacenar el nombre del usuario y es aqui donde tengo el problema jejeje el codigo donde creo la cookie  es el siguiente

con el siguiente codigo tambien pierdo el valor de la cookie no al refrescar con f5, si no ma bien al dar enter en donde capturamos el url.
Código:

 var name = getCookie("name");
          
        if (name != null || name != "")
        {
             name = document.getElementById("NOMBRE").value;
            
            if (name != null || name != "")
            {

                setCookie("name", name, expira);

            }

        }


lo tenia de la siguiente forma pero si lo pongo asi como en este segundo caso  no me guardara nada.
me parece que no se esta respetando la condicion

Código:

 var name = getCookie("name");
          
        if (name == null || name == "")
        {
             name = document.getElementById("NOMBRE").value;
            
            if (name != null || name != "")
            {

                setCookie("name", name, expira);

            }

        }


con ayuda de un alert en esta segunda condicion mande el valor name cuando este recibe el valor de la cookie en la primera linea, me di cuenta que tenia un valor null entonces si el valor es null por que no entra a la condicion ?

Bueno amigos este es el problema que tengo seguire buscando y probando para dar una solucion, espero y alguien de ustedes me pueda ayudar.



En línea

El conocimiento humano pertenece al mundo
EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: Ayuda JSP y Cookies
« Respuesta #1 en: 12 Diciembre 2013, 23:15 pm »

Solo queria proponerte un modo mas facil de hacer esto con html5 quizas si te animas a utilizar localStorage(los datos intactos incluso si se cierra el navegador) o sessionStorage (los datos se eliminan al cerrar el navegador).

Para leer: http://rolandocaldas.com/html5/localstorage-en-html5


En línea

RedWarrior

Desconectado Desconectado

Mensajes: 14



Ver Perfil
Re: Ayuda JSP y Cookies
« Respuesta #2 en: 13 Diciembre 2013, 18:56 pm »

Me parece una muy buena propuesta todo aquello que represente una nueva idea es buena propuesta:

bueno con la novedad que he probado los localStorage y pasa los mismo si yo doy un refresh desde la url dando enter se pierden los datos este es el codigo

Código:
 var valor= document.getElementById('NOMBRE').value;
       alert(valor); // lo imprimo para revisar que el valor sea diferente de nulo
   
   
if(valor != null ){ //si el valor obetnido es diferente de nulo entonces entra a la condicion
        localStorage.setItem('name', valor);// enviamos el valor al localstorage el cual tiene el nombre name con el valor que se recupera del input.
        valor = localStorage.getItem('name');// aca recupero el valor del localstorage
        alert(valor); // mensaje que muestra el valor de localstorage
    }


el problema se presenta al refrescar la pagina con un enter en la url, es cuando el valor del input se convierte en null y se supone que si es null no puede entrar a la condicion, el problema es que si entra cuando no deberia y es cuando el localstorage se convierte en null y pierde el valor anterior.
En línea

El conocimiento humano pertenece al mundo
RedWarrior

Desconectado Desconectado

Mensajes: 14



Ver Perfil
Re: Ayuda JSP y Cookies(Corregido)
« Respuesta #3 en: 16 Diciembre 2013, 18:16 pm »

Pues bien amigos del foro buscando en internet me enocntre con HttpSession la cual nos ayuda a manejar sesiones en JSP, lo que hize fue crear una JSP que guardara las variables que necesito y posteriosmente me redirecciona a mi portal aca les dejo el codigo:

Encontre tambien que las cookies son un tanto inseguras puesto que puedes ser modificadas jejejeje.

Código:
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
        <%

        HttpSession Objsession = request.getSession(true); //Declaracion de Objeto Httpsession

        String name= request.getParameter("NOMBRE") ;//Valor resivido del form
        String usr= request.getParameter("USER");//Valor resivido del form
        Objsession.setAttribute("user", usr);valor// guardando valor obtenido en objeto HttpSession el cual tiene nombre de user
        Objsession.setAttribute("name", name);
       
response.sendRedirect("Portal.jsp"); // Redireccionamiento al Portal
        %>
       
    </head>
    <body>
        Cargando...
    </body>
</html>

Aca les muestro como recuperar los valores:

Estos tienen que se recuperados en otra JSP

Código:
font style='font-size: 25px;'>Bienvenido</font>
<%

HttpSession Objsession = request.getSession(false); //Declaramos Objeto tipo HttpSession
String names= (String)Objsession.getAttribute("name"); //Recuperamos los valores y los guardamos en varibles
String user = (String)Objsession.getAttribute("user");
out.println(names); // imprimiemos los resultados
out.println(user);

 %>
           


Pues bueno eso es todo lo que hize  por el momento ya no he tenido problemas al momento de refrescar las paginas, ya solo es de afinar detalles con respecto a la salida de session ;)
En línea

El conocimiento humano pertenece al mundo
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cookies Filesonic Premium (397) + Cookies Checker
Software
Eleкtro 0 2,184 Último mensaje 21 Noviembre 2011, 18:21 pm
por Eleкtro
Cookies Wupload Premium (1.819) + Cookies Checker
Software
Eleкtro 0 2,866 Último mensaje 21 Noviembre 2011, 18:23 pm
por Eleкtro
HOW TO: Cookies and Passwords with DSNIFF suite and NGREP ( Cookies and Pass )
Hacking
yarolinux 4 5,707 Último mensaje 24 Enero 2012, 23:58 pm
por darkvector
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines