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

Problema novata

Estas en el tema de Problema novata en el foro de Java en Foros del Web. Buenas tardes, Estoy iniciandome en esto de java gracias a un módulo (o por culpa), y me está costando un montón. Trato de ampliar un ...
  #1 (permalink)  
Antiguo 30/01/2010, 08:59
 
Fecha de Ingreso: junio-2008
Mensajes: 32
Antigüedad: 15 años, 10 meses
Puntos: 0
Problema novata

Buenas tardes,
Estoy iniciandome en esto de java gracias a un módulo (o por culpa), y me está costando un montón. Trato de ampliar un ejercicio para practicar pero no soy capaz (y eso que parece super simple... ). Les expongo por si me pudieran ayudar.
A través del archivo identificación pido usuario y contraseña:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" session="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Página de identificación</title>
</head>
<body>
<% if (request.getParameter("error") !=null) {
out.println(request.getParameter("error"));
}
%>
<form action="validacion.jsp" method="post">
usuario.....: <input type="text" name="usuario" size="25"><br/>
contraseña..: <input type="password" name="clave" size="10"><br/>
<input type="submit" value="enviar">
</form>

</body>
</html>

Y a través de validacion.jsp trato de verificar si son correctas, si no ha introducido nada en uno de los campos y me avise (es ahí donde no consigo que me haga caso) y de ser correctos permitir acceder a otra página (eso sin problemas):



<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" session="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
String usuario=null;
String clave=null;

if (request.getParameter("usuario") !=null){
usuario=request.getParameter("usuario");
}else {
%>
<jsp:forward page="identificacion.jsp">
<jsp:param value="Usuario necesario" name="error"/>
</jsp:forward>
<%
}
%>
<% if (request.getParameter("clave") !=null) {
clave=request.getParameter("clave");
} else {
%>
<jsp:forward page="identificacion.jsp">
<jsp:param value="Clave necesaria" name="error"/>
</jsp:forward>
<%
}
%>
<%
if (usuario.equals("MERLIN") && clave.equals("XXXX")) {
HttpSession sesion1=request.getSession();
sesion1.setAttribute("usuario",usuario);
%>
<jsp:forward page="menu.jsp"></jsp:forward>
<%
}

else {
%>
<jsp:forward page="identificacion.jsp">
<jsp:param value="DATOS INCORRECTOS" name="error"/>
</jsp:forward>
<%
}
%>
</body>
</html>

Muchas gracias por vuestra atención,
Un saludo,
  #2 (permalink)  
Antiguo 31/01/2010, 11:21
Avatar de dackiller  
Fecha de Ingreso: septiembre-2003
Ubicación: The Matrix
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: Problema novata

Hola, Sherezade81:

Lo unico que yo veo es que solamente estas verificando que sean null los variables del request, probablemente las variables puedan estar vacias, es decir, contienen una cadena vacia.


Con esto te eliminas unos cuantos IF y verificas que no este vacia usando operadores ternarios:


String usuario = (request.getParameter("usuario") ==null && request.getParameter("usuario").isEmpty())?null:request.getParameter("usuario");


Espero te sea de ayuda !

Saludos.
__________________
--
NOTA: Si haz conseguido la solución a tu problema, por favor edita el titulo del tema colocando el prefijo [SOLUCIONADO], para que otros usuarios puedan encontrar soluciones más rápido.
  #3 (permalink)  
Antiguo 01/02/2010, 16:45
 
Fecha de Ingreso: junio-2008
Mensajes: 32
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema novata

Muchas gracias dackiller por tu respuesta... pero no me aclaro sinceramente. Mis conocimientos en este campo son bastante escasos y ya me lío con las sentencias if, que por más que miro... nada.
No entiendo la sentencia que me has indicado, es decir lo que guardas en la variable usuario, después el interrogante tras isEmpty, ¿es correcto?
Perdona por la ignorancia, ¿pero, me podrías aclarar un poco el código?
Gracias y perdona las molestias.
Un saludo!
  #4 (permalink)  
Antiguo 02/02/2010, 02:07
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Problema novata

Lo que tengo es la sensación que no procesas el paso entre las dos jsp con sus parámetros.

http://www.google.es/search?hl=es&so...meta=&aq=f&oq=

Personalmente usaría servlets.
  #5 (permalink)  
Antiguo 02/02/2010, 04:02
 
Fecha de Ingreso: junio-2008
Mensajes: 32
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Problema novata

Muchísimas gracias.
No me aclaro mucho, así que lo más recomendable es que no me acelere, estoy sacando el módulo a distancia, y pretendo correr mucho, pero porque no tenga tiempo con el curro, la casa, etc, no voy a conseguirlo por mucho que quiera correr.
Voy a revisar los enlaces que me indicaste en google, y no limitarme solo a los ejemplos de los apuntes que no me aclaro mucho... vamos como quiera ampliar el mismo ejemplo yo solita, no soy capaz.

No obstante, y por si me pudierais facilitar más aún el camino, ¿conoceis algún libro que me podríais recomendar?
Mi correo, por si no se puede dar publicidad: sherezade81ARROBAgmail.com

Muchas gracias, en cuanto lo resuelva correctamente, espero colgar orgullosa el cartel de resuelto, jejejeje.
Un saludos
  #6 (permalink)  
Antiguo 02/02/2010, 12:48
Avatar de dackiller  
Fecha de Ingreso: septiembre-2003
Ubicación: The Matrix
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: Problema novata

Con esto entenderas perfectamente los operadores ternarios:

http://www.adrformacion.com/cursos/j...tutorial5.html

Es sencillo de usar y ahorran unos cuantos IF.

Es sencillo lo que estoy haciendo alli es:

SI el request.usuario igual a null y request.usuario igual a cadena vacia ENTONCES usuario es NULL SI NO CUMPLE NINGUNA DE LAS CONDICIONES usuario es igual request.usuario


Saludos...
__________________
--
NOTA: Si haz conseguido la solución a tu problema, por favor edita el titulo del tema colocando el prefijo [SOLUCIONADO], para que otros usuarios puedan encontrar soluciones más rápido.

Etiquetas: jsp-servlets
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 04:58.