Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/05/2011, 06:14
tita_uy
 
Fecha de Ingreso: mayo-2011
Mensajes: 13
Antigüedad: 13 años
Puntos: 1
como puedo mostrar un usuario logueado y mantenerlo en toda la sesion con jsp y servl

Hola a todos, necesito ayuda.
Mi problema es este: tengo mi pagina inicial (index.jsp) para hacer el login de un usuario con su contraseña, y en ese formulario le tengo puesto en la accion q vaya a un servlet llamado CheckLogin.java pues bien, no se muy bien como funcionan las sesiones para q mi usuario se quede logueado todo el tiempo y no soy capaz de que una vez que el usuario se ha logueado, me redireccione a otra pagina (usuarioRegistrado.jsp) en la que muestre el nombre del usuario registrado y lo mantenga.....

os pongo los codigos a ver si podeis ayudarme ...Gracias de antemano!!!

index.jsp
<h2>Miembros</h2>
<!--PROBANDO A HACER UN FORMULARIO DE LOGIN-->
<!--Antes en el actio ponia action="#"-->
<form action="CheckLogin2" method="get">
<label>Usuario</label>
<input type="text" value="" name="usuario" size="10" class="input_field" title="usuario" />
<label>Contraseña</label>
<input type="password" value="" name="password" class="input_field" title="password" />
<!--<a href="#">Register</a>-->
<input type="submit" name="entrar" value="Entrar" alt="Entrar" id="submit_btn" title="Entrar"/>
</form>



CheckLogin.java
public class CheckLogin2 extends HttpServlet {
@Override
public void init()throws ServletException{
}

//Gestiona peticiones get
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException{
//Asignacion a la respuesta html que va a generarse
response.setContentType("text/html;charset=UTF-8");

//Obtencion del objeto que escribe la respuesta html
PrintWriter out = response.getWriter();

HttpSession s = request.getSession(true);


boolean resultado;
//String nombreUsuario;

Usuario user = new Usuario();

String aliass=request.getParameter("usuario");
String contrasenya=request.getParameter("password");


resultado = user.validarUsuario(aliass, contrasenya);
//nombreUsuario= user.consigueNombre(aliass, contrasenya);

if(user!=null && resultado){

s.setAttribute("usuario", aliass);
//user.setAlias(aliass);
//user.setPassword(contrasenya);

if(aliass.equals("sandraperez")){
// se ha logueado el SUPERVISOR
request.setAttribute("usuario", aliass);
//request.getRequestDispatcher("inicioSupervisor.jsp ").forward(request, response);
response.sendRedirect("inicioSupervisor.jsp");
//return;
}else{
if(aliass.equals("admin")){
//se ha logueado el ADMINISTRADOR
request.setAttribute("usuario", aliass);
request.getRequestDispatcher("inicioAdmin.jsp").fo rward(request, response);
//response.sendRedirect("inicioAdmin.jsp");
}
else{
//se ha logueado un usuario NORMAL
request.setAttribute("usuario", aliass);
request.getRequestDispatcher("inicioRegistrado.jsp ").forward(request, response);
//response.sendRedirect("inicioRegistrado.jsp");
}
}
}
else{
//va a una pagina de error porq el usuario no se ha logueado bien
response.sendRedirect("error.jsp");
}


}


@Override
public void destroy(){
}

}




usuarioRegistrado.jsp
<h2>Miembros</h2>
<!--Debe aparecer el miembro que se ha logueado-->
<h4>Bienvenido, <%=request.getAttribute("usuario")%></h4>
<!--Vamos a probar como hacer que me aparezca la fecha y el reloj-->
<!--<h4>nombre de usuario: = res.getString("nombre")%></h4>-->
<h5><%= new Date().toString() %></h5>
<input type="submit" name="salir" value="Salir" alt="Salir" id="submit_btn" title="Salir"/>