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

Problema con requestdispatcher (servlet to jsp)

Estas en el tema de Problema con requestdispatcher (servlet to jsp) en el foro de Java en Foros del Web. Amigos una preguntica, tengo una pagina principal.html que es no mas la que se divide en 3 marcos izquierdo que es el menu.jsp, derecho que ...
  #1 (permalink)  
Antiguo 18/10/2007, 00:00
 
Fecha de Ingreso: mayo-2005
Mensajes: 2
Antigüedad: 19 años
Puntos: 0
Problema con requestdispatcher (servlet to jsp)

Amigos una preguntica, tengo una pagina principal.html que es no mas la que se divide en 3 marcos izquierdo que es el menu.jsp, derecho que es el fondo.jsp y cabecera.jsp (arriba ;D).

al ingresar la página inicial es principal.html que, en menu.jsp esta para loguearse contra una base de datos, envio por post usuario y clave, a InicioSesion (servlet),
este servlet se encarga de ver si el usuario esta logueado y si lo esta lanzarme de nuevo contra principal.html pero aqui el cabecera.jsp recojera los datos de una session y verificara el tipo de usuario y el nombre del usuario para dar una bienvenida apropiada, la cuestion es que cuando logueo un usuario correcto parece que me reenviara a la misma principal.html en la que no se habia logueado nadie, asi que no me ejecuta las decisiones de cabecera.jsp para que de la bienvenida apropiada....he pensado que pudiese ser el cache del navegador, pero no estoy seguro.

voy a poner los fuentes por aqui haber si alguien me ayuda:

InicioSesion.java
Código:
package firtsbank.servlets;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import firtsbank.principal.*;

public class IniciarSesion extends HttpServlet 
{
	public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
	{
		doPost(req, resp);
	}
	
	public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
	{
		ServletContext sc = getServletContext();
		Usuario usuario = new Usuario(), usuarioSesion = new Usuario();
		PrintWriter out = resp.getWriter();
		HttpSession sesion = req.getSession(true);
		ManejadorDB conector = new ManejadorDB();
		String user = null, clave = null;
		
		if((usuarioSesion=(Usuario)sesion.getAttribute("usuario"))==null)
		{
			sesion.setAttribute("usuario", new Usuario());
		}
		
		user = req.getParameter("usuario");
		clave = req.getParameter("clave");
		
		usuario.setusuario(user);
		usuario.setclave(clave);
		
		boolean valido = conector.validarUsuario(usuario);
		
		if(valido)
		{
				usuario=conector.obtenerUsuario(usuario);
				req.setAttribute("usuario", usuario);
				sesion.setAttribute("usuario", usuario);
				//out.println("<HTML><HEAD><H1>Bienvenido " + usuario.getusuario() + "!</H1><br></HEAD></HTML>");
				String estado = usuario.getestado();
				
				if(estado.equals("Activo"))
				{
					String tipo = usuario.gettipo();
					
					if(tipo.equals("Cliente"))
					{
						out.println("<HTML><BODY><script>  alert('Tipo= " + tipo + "');" +
						"</script></BODY></HTML>");
						RequestDispatcher rd = req.getRequestDispatcher("/principalCliente.jsp");
						rd.forward(req, resp);
					}
					else
						if(tipo.equals("Cajero"))
						{
							out.println("<HTML><BODY><script>  alert('Tipo= " + tipo + "');" +
							"</script></BODY></HTML>");
							RequestDispatcher rd = req.getRequestDispatcher("/principalCajero.jsp");
							rd.forward(req, resp);
						}
						else
							if(tipo.equals("Ejecutivo"))
							{
								out.println("<HTML><BODY><script>  alert('Tipo= " + tipo + "');" +
								"</script></BODY></HTML>");
								RequestDispatcher rd = sc.getRequestDispatcher("/principal.html");
								out.println("<HTML><BODY><script>  alert('Url= " + getServletContext().toString() + "');" +
								"</script></BODY></HTML>");
								rd.forward(req, resp);			
							}		
				}
				else
				{
					out.println("<HTML><BODY><script>  alert('Estado= " + estado + "');" +
					"</script></BODY></HTML>");
				}
		}
		else
		{
			out.println("<HTML><BODY><script>  alert('Usuario= " + usuario.getusuario() + " invalido!');" +
			"history.back();</script></BODY></HTML>");
		}
		
		
	}

}
cabecera.jsp
Código:
<!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>
<%@ page
	language="java"
	session="true"
	import="java.lang.*, firtsbank.principal.*"
	session="true"
	contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1" 
%>

<%!
	private String bienvenida=null, titulo=null;
	private int id=0, idPersona=0;
	private String respuesta=null, tipo=null, estado=null, user=null, clave=null, pregunta=null; 
	private Usuario usuario=null;
%>
	
<%usuario=(Usuario)request.getAttribute("usuario");%>

<%	
	if(usuario!=null)
	{
		id=usuario.getId();
		user=usuario.getusuario();
		clave=usuario.getclave();
		pregunta=usuario.getpregunta();
		respuesta=usuario.getrespuesta();
		tipo=usuario.gettipo();
		idPersona=usuario.getIdPersona();
		estado=usuario.getestado();
		session.setAttribute("usuario", usuario);
		bienvenida="Bienvenido a Firts Bank Project " + user + "!";
		
		if(tipo.equals("Cliente"))
		{
			titulo="Pagina Inicial de Cliente!";
		}
		else
			if(tipo.equals("Cajero"))
			{
				titulo="Pagina Inicial de Cajero!";
			}
			else
				if(tipo.equals("Ejecutivo"))
				{
					titulo="Pagina Inicial de Ejecutivo!";
				}
	}
	else
	{
		titulo="Pagina Inicial!";
		bienvenida="Bienvenido a Firts Bank Project!";
	}
%>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><%=titulo%></title>
<style type="text/css">
<!--
.Estilo1 {
	font-size: 36px;
	font-weight: bold;
	font-family: Arial, Helvetica, sans-serif;
}
body,td,th {
	color: #FFFFFF;
}
body {
	background-color: #000000;
}
-->
</style>
</head>

<body>
<div align="center" class="Estilo1"><%=bienvenida%></div>
</body>

</html>
Salu2s, haber si me hechan la mano...
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 06:52.