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

Como obtener los datos de un usuario almacenado en la base de datos en una sesion

Estas en el tema de Como obtener los datos de un usuario almacenado en la base de datos en una sesion en el foro de Java en Foros del Web. Estoy realizando una aplicacion web, para lo cual uso sesiones para lo del login, lo que necesito hacer es obtener los datos del usuario que ...
  #1 (permalink)  
Antiguo 18/07/2011, 08:01
 
Fecha de Ingreso: mayo-2010
Mensajes: 33
Antigüedad: 14 años, 6 meses
Puntos: 3
Exclamación Como obtener los datos de un usuario almacenado en la base de datos en una sesion

Estoy realizando una aplicacion web, para lo cual uso sesiones para lo del login, lo que necesito hacer es obtener los datos del usuario que se ha logueado y esta almacenado en la base de datos, en este caso necesito el codigo del usuario, para el login el usuario usa su nombre y clave.

La tabla ususario es asi:

coduser
nombre
clave

codigo del servlet login

package CentroQuirurgicoController;

import CentroQuirurgicoDATA.Conexion;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
*
* @author Administrador
*/
public class LoginServlet extends HttpServlet {

/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
String usuario = request.getParameter("txtUsuario");
String clave = request.getParameter("txtClave");

Connection cn = new Conexion().getConnection();
String query = "select * from usuario where nombre_usuario=?";
PreparedStatement pstmt = cn.prepareStatement(query);
pstmt.setString(1, usuario);
ResultSet rs = pstmt.executeQuery();


if ( rs.next() && clave.equals(rs.getString("Clave"))) {

HttpSession sesion = request.getSession();
sesion.setAttribute("nombre_usuario", usuario);
RequestDispatcher rd = getServletContext().getRequestDispatcher("/index.jsp");
rd.forward(request, response);
} else {
request.setAttribute("validar", "1");
RequestDispatcher rd = getServletContext().getRequestDispatcher("/Login.jsp");
rd.forward(request, response);
}

pstmt.close();
cn.close();
System.out.println("Ok");

}
catch(Exception e){e.printStackTrace();}

finally {
out.close();
}
}
}



codigo del jsp del menu despues del login

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>MVC con Java - ::: Menu ::: -</title>
<style type="text/css">
<!--
.Estilo2 {font-size: 18px; }
-->
</style>
</head>

<body>
<div align="center">
<p>::: MENU :::</p>
<table width="240" border="0">
<tr>
<td><a href="vistas/Formulario.jsp"><img src="vistas/iconos/icono-formulario.png"/></a></td>
<td><div class="Estilo2">
<a href="vistas/Formulario.jsp">SOLICITUD SALA DE OPERACIONES</a>
</div></td>
</tr>
<tr>
<td><a href="vistas/web_modificar_empleado.jsp"><img src="vistas/iconos/reportes.png"/></a></td>
<td><div class="Estilo2">
<a href="vistas/web_modificar_empleado.jsp">REPORTES</a>
</div></td>
</tr>
<tr>
<td><div class="Estilo2"><a href="vistas/Mantenimiento.html"><img src="vistas/iconos/database.png"/></a></div></td>
<td><div class="Estilo2"><a href="vistas/Mantenimiento.html">MANTENIMIENTO DE LA BASE DE DATOS</a></div></td>
</tr>
<tr>
<td><div class="Estilo2"><a href="vistas/web_consultar_empleado.jsp"><img src="vistas/iconos/salir.jpg"/></a></div></td>
<td><div class="Estilo2"><a href="vistas/web_consultar_empleado.jsp">SALIR</a></div></td>
</tr>

</table>

<%
String atributo = (String)session.getAttribute("nombre_usuario");
out.println(atributo);
%>

<p>&nbsp;</p>
</div>
</body>

</html>


como obtendria el codigo del usuario donde debo modificar
  #2 (permalink)  
Antiguo 18/07/2011, 08:55
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Como obtener los datos de un usuario almacenado en la base de datos en una

donde haces la validación del usuario, mete en session.setAttribute() también el código igual que metes el nombre de usuario, así lo tienes accesible en cualquier otro sitio con acceso a session.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: sql, almacenar, usuarios
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 09:08.