0 votos
por (20 puntos) en General
buenas gracias de antemano por la ayuda mi problema es el siguiente:

estoy haciendo un login en el ide Spring toolSuite, hago mi consulta a la base de datos y me retorna null asi ponga los datos correctos, el codigo que hehecho es el siguiente:

+++++++++++++++++++++++++++++++++++++++++++++++

mi clase acceso a datos:

+++++++++++++++++++++++++++++++++++++++++++++++++

public class AccesoDato {

public static Usuario Buscar(String login, String psw){

String sql="SELECT sc_user_id,user_login,user_psw,user_name FROM usuario WHERE user_login=? and user_psw=? ";

ResultSet rst;

Usuario usuario=null;

try {

Connection conn = DBConn.getConnection();

PreparedStatement pstm=conn.prepareStatement(sql);

pstm.setString(2, login);

pstm.setString(3, psw);

rst=pstm.executeQuery();

if(rst.next()){

usuario=new Usuario();

usuario.setUser_login(rst.getString(2));

usuario.setPass(rst.getString(3));

}

rst.close();

pstm.close();

conn.close();

} catch (Exception e) {

//return null;

}

return usuario;

}

+++++++++++++++++++++++++++++++++++++++++++++++++++

mi clase servicio:(es puente entre mi clase acceso a datos y LoginServlet)

++++++++++++++++++++++++++++++++++++++++++++++++++++++

public class servicio {

public Usuario validarDatos(String login,String psw){

return AccesoDato.Buscar(login, psw);

}

}

++++++++++++++++++++++++++++++++++++++++++++++++++++

mi clase Loginservlet

+++++++++++++++++++++++++++++++++++++++++++++++++++

public class LoginServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

private servicio serv=new servicio();

//private AccesoDato acceso=new AccesoDato();   

public LoginServlet() {

super();

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String login=request.getParameter("userLogin");

String psw=request.getParameter("userPsw");

request.setAttribute("user",login);

Usuario usuario=serv.validarDatos(login, psw);

if(usuario!=null){

request.getRequestDispatcher("/bienvenido.jsp").forward(request, response);

}else{

request.getRequestDispatcher("/error.jsp").forward(request, response);

}

}

}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

y bueno esta es mi clase usuario

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

public class Usuario {

private Long id;

private String user_login;

private String pass;

private String user_name;

public Long getid(){

return id;

}

public void setId(Long id){

this.id=id;

}

public String getUser_login(){

return user_login;

}

public void setUser_login(String user_login){

this.user_login=user_login;

}

public String getPass(){

return pass;

}

public void setPass(String pass){

this.pass=pass;

}

public String getUser_name(){

return user_name;

}

public void setUser_mane(String user_name){

this.user_name=user_name;

}

}

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ayudenme con el codigo me esta retornado null y no se donde esta el error la conexion a la base de datos funciona


1 Respuesta

0 votos
por (8.5k puntos)
Buenas,

Dejando a un lado que pides un usuario y una pass, para buscar en un tabla por esos dos mismos campos, y cuando lo encuentras solo seteas esos dos campos y que la pass la almacenas en la Base de Datos sin codificar???¿¿¿

El problema puede estar en:

pstm.setString(2, login);

pstm.setString(3, psw);

Porque 2 y 3 y no 1 y 2? Solo tienes dos parametros en tu query, las posiciones a rellenar son 1 y 2...


Preguntas relacionadas

0 votos
0 respuestas
preguntado por Yuko (20 puntos) Ene 28, 2016 en General
0 votos
3 respuestas
0 votos
1 respuesta
0 votos
0 respuestas
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...