Sesiones en JSP

Respuesta de txerra a vladtepes en JSP 13/03/2003 09/03/2010 Cerrar Cerrar

Usuario Anuncios Google Programa WebExpert Google Formación Gratuita en AdWords ¡Consigue Clientes Hoy mismo! Google.com/WebExpert Hola!!!! Estoy desarrollando un sito con tecnologia JSP, pero para accesar a este sitio es necesario un login y password; esto lo tengo en una base de datos MySql, si puedo pasar el valor del objeto de la sesion a otra pagina, pero no se como hacer que no permita la entrada a paginas que requieren el password (sin antes introducirlo) creo que debo usar redireccion, pero no se como, podrias explicarme con un pequeno ejemplo como es que se redirecciona si el valor de la sesion es null 09/03/2010

Experto Hola. Para lo que tu quieres hacer la manera más fácil es que cuando el usuario existe en la BBDD creas una variable de sesión que se llame por ejemplo "autenticado" y que tenga el valor "true". Así: <%//GESTION DE LA SESION HttpSession sesion = request.getSession(true); if (clienteRegistrado){ sesion.putValue("autenticado","true"); response.sendRedirect("paginaSiguiente.jsp"); } %> Vale, ahora supongamos que queremos hacer el control de la variable de sesion en la "paginaSiguiente.jsp".Lo hacemos de la siguiente manera: <%//GESTION DE LA SESION HttpSession sesion = request.getSession(true); if (sesion == null){ response.sendRedirect("paginaDeError.jsp"); }else{ if (sesion.getValue("autenticado") == null || !sesion.getValue("autenticado").equals("true")){ response.sendRedirect("paginaDeError.jsp"); } } %> Bajate el Javadoc del Jsdk2.0 para que veas tanto los métodos disponibles el la clase javax.servlet.http.HttpSession como en la clase javax.servlet.http.HttpResponse

mysql> insert into usuarios mysql> set usuario='usuario1'.Elegida por la comunidad Así NO lo debes hacer pero te dejo este ejmplo para que entiendas lo básico: suponiendo que tienes funcionando MySQL. mysql> contrasena='password1'. . mysql> insert into usuarios mysql> set usuario='usuario2'. para crear la tabla de usuarios: > mysql -u root -p test mysql> CREATE TABLE usuarios ( mysql> usuario varchar(16) NOT NULL PRIMARY KEY. mysql> contrasena='password2'.034 (Nivel 6) • • Añadir contacto Bloquear Mejor respuesta . ejecuta en la línea de comandos las siguentes instrucciones.. mysql> ). mysql> contrasena varchar(16) NOT NULL.. gracias! • • hace 3 años Notificar un abuso by Mariana Mijail Miembro desde el 02 noviembre 2007 Puntos totales: 15.Estoy haciendo una aplicacion JSP que permita ingresar un usuario y contraseña? pero no se como hacer el boton "Entrar" es decir que codigo debe llebar (el boton) para que me verifique si los datos ingresados coinsiden con la base de datos.

mysql> exit Después dentro de tu directorio de proyecto crea la siguiente estructura de archivos: ${directorio de tomcat} / webapps / ${tu proyecto} / WEB-INF / lib En la carpeta lib coloca el JDBC para MySQL.sendRedirect( "bienvenido. charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <% // Leemos la variable de sessión 'validado' Boolean validado = (Boolean) session.getAttribute( "usuario" ).Archivo: ${directorio de tomcat} / webapps / ${tu proyecto} / login. es un archivo llamado mysql-connector-javaX. // Si las variable de sesión 'validado' // y 'usuario' ya habia sido creadadas if(validado!=null && usuario!=null) // Mostramos mensaje de advertencia out.X.dtd" > <html> <head> <meta http-equiv="Content-Type" content="text/html.getAttribute( "validado" ).jar. charset=ISO-8859-1"> <title>Login</title> </head> <body> <% // Leemos la variable de sesión 'usuario' String usuario = (String) session.jsp response.X-bin.com/downloads/connector… Ahora crea los siguientes archivos JSP de ejemplo: ----. bájalo en http://dev.jsp" ).01 Transitional//EN" "http://www.println("<p>Usuario o contraseña incorrectos</p>").w3.org/TR/html4/loose.jsp ----<%@ page language="java" contentType="text/html.booleanValue()) // Redireccionamos a la página bienvenido. %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4. // Si la variable de session 'valiadado' ya // ha sido creada o el valor es 'true' if( validado!=null && validado.mysql. // Si la variable de sesión usuario // no ha sido creada if(usuario==null) // Instanciamos la variable local 'usuario' usuario = "". // Borramos la variable de sesión 'usuario' .

jsp" name="formLogin"> <input type="text" name="usuario" value="<%=usuario%>"><br> <input type="password" name="contrasena"><br> <input type="submit" name="enviar" value="enviar"> </form> </body> </html> ---.Driver" ).jdbc.session.getAttribute( "validado" ). contraseña Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost/test" . // Creamos un Statement Statement stmt = conn. "tu_contraseña" ).mysql. usuario. usuario). // Si las variables POST 'usuario' y 'contrasena' // existen y 'usuario' contiene texto if(usuario!=null && contrasena!=null && !usuario.*" %> <%@ page language="java" contentType="text/html. "root". // Cargamos el Driver de MySQL Class. // Si la variable de sesión 'validado' no ha // sido creada o contiene un valor 'false' if( validado==null || !validado.executeQuery( "SELECT usuario FROM usuarios " + "WHERE usuario='" + usuario + "' " + . charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <% // Leemos la variable de sesión 'validado' Boolean validado = (Boolean) session. // Creamos una conección a MySQL.createStatement(). // Leemos la variable POST 'contrasena' String contrasena = request.setAttribute( "usuario".setAttribute( "usuario".getParameter( "contrasena" ). Sintaxis: // jdbc:mysql://[servidor]:[puerto]/[base de datos].forName( "com.jsp --<%@ page import="java.Archivo: ${directorio de tomcat} / webapps / ${tu proyecto} / bienvenido. null).equals("") ) { // Establecemos la variable de sessión 'usuario' session. // Cramos un Resultado de Consulta SQL ResultSet rs = stmt.booleanValue() ) { // Leemos la variable POST 'usuario' String usuario= request.Fin de Archivo -----.sql. %> <form method="post" action="bienvenido.getParameter( "usuario" ).

dtd"> <html> <head><title>Bienvenido</title></head> <body>Bienvenido</body> </html> --.next() ) // Establecemos la variable local // 'validado' a true validado = new Boolean(true). // Si la variable local 'validado' es false if( !validado. // Cerramos el Statment stmt."AND contrasena='" + contrasena + "'" ).Fin de Archivo --- Listo echa a andar tomcat y dirígete en el navegador a http://localhost:8080/${tu proyecto} /login.org/TR/html4/loose.close().jsp • • hace 3 años Notificar un abuso 67% 2 votos .w3.01 Transitional//EN" "http://www. // Si el resultado contiene filas if( rs. // Añadimos la variable de sesión 'validado' // con el contenido de la variable local session. %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.sendRedirect( "login. // Cerramos la conexión conn.close().jsp" ).booleanValue() ) // Redireccionamos a la página login.setAttribute( "validado". } } // Si la variable de sesión // 'validado' no ha sido creada if(validado==null) // Establecemos la variable local // 'validado' a true validado = new Boolean(false). validado).jsp response.

Otras respuestas (1) • by Betux Miembro desde el 21 febrero 2008 Puntos totales: 2.352 (Nivel 3) ○ ○ Añadir contacto Bloquear ..etc Notifica un abuso * Tienes que estar registrado para poder añadir comentarios.para cargar diferentes paginas dependiendo si es admon cliente . sabes quisiera saber como podrías implementar perfiles suponiendo que tienes un campo mas en la tabla cod_acc ej: usuarios con codigo 1 seran administradores y con codigo 2 seran clientes es obio que este codigo hara que se redireccionen a distintas paginas gracias Notifica un abuso luis manuel estoy en busca de un ejemplo parecido.¿No es lo que buscabas? Intenta con Yahoo! Search Principio del formulario ans_qp_1 Buscar en Yahoo! Buscar Final del formulario Búsquedas relacionadas: • • 0 minutos 0 principales Pool hola muy bueno tu ejemplo. Entra o regístrate.

mandame msj. Tendrias otro jsp en el que validarias los datos ingresados.jsp"> <% } % > Bueno esta es la idea.Hola deberias hacer un jsp que tenga el formulario html en el que pides la contraseña y el usuario..getParemeter("clave")! =null){ %> <!-. < % if(request.validarUsuario(usuario. if (b==true){ out.. <% String usuario = request. de acuerdo a los parametros ingresados (nombre y clave)) de acuerdo a eso mostrarias un mensaje de error en la pagina o las acciones disponibles La pagina jsp de inicio basicamente lo mas importante seria esto: . boolean b = datos. String id=request..getParemeter("clave").jsp harias algo asi: agregas la directiva arriba (BeanDatos seria la clase que se conecta a la basede datos y tiene metodos utiles) ...getParemeter("usuario")!=null &&(request. cualquier cosa si te puedo ayudar..println(Logueo con exito) } else { %> Loguearse de nuevo <a href="inicio.formulario html--> <%} else { %> <jsp:forward page="validacion...getParameter("usuario")... por ejemplo un bean BaseBD (que se conecte a la base de datos y tenga un metodo que devuelva un boolean.id). <jsp:useBean id="datos" scope="request" class="beans.. Ahora en validacion.BeanDatos" /> en el body ..jsp"/> <%} %> . deberias usar beans. Exitos y saludos! ○ ○ hace 3 años Notificar un abuso ...

Sign up to vote on this title
UsefulNot useful