Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/07/2007, 13:58
fonsi
 
Fecha de Ingreso: julio-2007
Mensajes: 3
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Problema con Jsp y JavaBeans

Hola a todos de nuevo, gracias por la ayuda a los que me respondieron, el problema lo resolvi poniendo la ruta correcta del bean tal como me decian y ya funciona, pero ahora tengo un nuevo problema.
Tengo una pagina para login de usuarios con un imput para usuario y otro para contraseña, desde ahi envio una peticion a otra pagina en la cual acceso a una base de datos MySQL con un bean para autenticar el usuario. El problema es que el bean solo funciona la primera vez, es decir, restringe usuarios incorrectos pero una vez que da paso a un usuario auténtico si se vuelve realizar la petición de nuevo le da paso a cualquiera.
Como pueden darse cuenta mando la conexión como parametro al bean y la duración del bean la pongo como request para que exista hasta que la petición se procese:

CODIGO QUE ENVIA LA PETICION:

<form name="autenticar" method="post" action="login_bean.jsp">
<p><a >Usuario: </a></p>
<p><a >Contraseña: </a></p>
<p><input name="usr" type="text" style="width: 168px; height: 21px;" ></p>
<p><input name="passwd" type="password" style="width: 168px; height: 21px;"></p>
<p><input type="submit" name="Submit" value="LOGIN" /></p>
</form>


CODIGO QUE RECIBE PROCESA LA PETICION:

if(request.getParameter("usr")!=null || request.getParameter("passwd")!=null){
user=request.getParameter("usr");
pass=request.getParameter("passwd");
qry ="selec * from usuarios where cuenta = '"+ user +"' and contraseña = '"+ pass +"'";
try{
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/pruebabd","root","admin");
}catch(SQLException ex) {
System.err.print("SQLException: ");
System.err.println(ex.getMessage());
}%>
<jsp:useBean id="prueba" scope="request" class="prueba.prueba_bean"/><%}%>
<jsp:setProperty name="prueba" property="usuario" value="<%=user%>"/>
<jsp:setProperty name="prueba" property="password" value="<%=pass%>"/>
<jsp:setProperty name="prueba" property="conexion" value="<%=con%>"/>
<jsp:setProperty name="prueba" property="query" value="<%=qry%>"/>
<%msj=prueba.prueba_bean.getMsj();
con.close();%>


BEAN:

package prueba;

import java.sql.*;

public class prueba_bean{

String usuario;
String password;
static String msj="";
ResultSet resultado=null;
Connection conexion=null;
Statement sentencia=null;
String query;

public prueba_bean(){
try{
Class.forName("com.mysql.jdbc.Driver");
} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
}

public void setUsuario(String u){
this.usuario=u;
}

public void setPassword(String p){
this.password=p;
}

public void setConexion(Connection con){
try{
conexion = con;
sentencia = conexion.createStatement();
} catch(SQLException ex) {
System.err.print("SQLException: ");
System.err.println(ex.getMessage());
}
}

public void setQuery(String qry){
try{
query=qry;
resultado= sentencia.executeQuery(query);
while(resultado.next()){
msj="ok";
}
sentencia.close();
conexion.close();
} catch(SQLException ex) {
System.err.print("SQLException: ");
System.err.println(ex.getMessage());
}
}

public static String getMsj(){
return msj;
}
}


Si alguien detecta que estoy haciendo algo mal o me falta algo por hacer les agradeceria mucho me dijeran...