Quiero aprender a desarrollar bajo MVC pero estoy empezando por una autenticacion de usuario y tengo ciertos errores que me gustarian que me ayudaran.
En la vista tengo la interfaz grafica con el boton de ingresar y los campos, usuario y clave.
El problema que me sale en los errores es este:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at modelo.DAOUsuario.validarUsuario(DAOUsuario.java:2 4)
at controlador.Usuario.actionPerformed(Usuario.java:6 1)
he intentado resolver por todos los medios pero nada, como en toda curva de aprendizaje xD
les dejo el controlador y el modelo:
Controlador Usuarios:
Código PHP:
package controlador;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import modelo.DAOUsuario;
import vista.Principal;
import vista.login;
/**
*
* @author Desarrollo
*/
public class Usuario implements ActionListener {
/* instanciamos la interfaz de usuario*/
login vista;
/*instanciamos nuestro modelo */
DAOUsuario usuario = new DAOUsuario();
public enum AccionMVC
{
_botonAceptar
}
/*creamos el constructor llamando a la vista*/
public Usuario(login vista) {
this.vista = vista;
}
public void iniciar()
{
vista.setVisible(true);
//declara una acción y añade un escucha al evento producido por el componente
this.vista._botonAceptar.setActionCommand( "_botonAceptar" );
this.vista._botonAceptar.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
switch (AccionMVC.valueOf( e.getActionCommand() )){
case _botonAceptar:
if(this.usuario.validarUsuario(this.vista._textUsuario.getText(),this.vista._textClave.getText())){
this.vista.setVisible(false);
Principal nuevo = new Principal();
nuevo.setVisible(true);
}
else {
JOptionPane.showMessageDialog(null, "El nombre de usuario y/o contrasenia no son validos.");
}
break;
}
}
}
Modelo DAOUsuario:
Código PHP:
package modelo;
import java.sql.*;
import javax.swing.JTextField;
/**
*
* @author Desarrollo
*/
public class DAOUsuario extends Database {
public DAOUsuario() {}
public boolean validarUsuario(String usuario, String clave){
//se arma la consulta
String q = "SELECT usuario FROM medicos; WHERE usuario='"+usuario+"' AND clave='"+clave+"'";
//se ejecuta la consulta
try {
PreparedStatement pstm = this.getConexion().prepareStatement(q);
pstm.execute();
pstm.close();
return true;
}catch(SQLException e){
System.err.println( e.getMessage() );
}
return false;
}
/* public boolean validarUsuario(JTextField _textUsuario, JTextField _textClave) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}*/
}