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

[SOLUCIONADO] Java con MVC

Estas en el tema de Java con MVC en el foro de Java en Foros del Web. Buenas, tengo tiempo postearon en forosdelweb sobre todo en php/mysql, pero decidí iniciarme en Java ya que deseo expandir mis horizontes. Quiero aprender a desarrollar ...
  #1 (permalink)  
Antiguo 04/06/2013, 15:28
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas - Venezuela
Mensajes: 116
Antigüedad: 11 años, 5 meses
Puntos: 1
Java con MVC

Buenas, tengo tiempo postearon en forosdelweb sobre todo en php/mysql, pero decidí iniciarme en Java ya que deseo expandir mis horizontes.

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.valueOfe.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 usuarioString 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.printlne.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.
    }*/
   
    
    

creo que es un error en el actionPerformed pero la verdad he intentado de tod, por eso recurro a los expertos de java en forosdelweb :D, espero que me puedan ayudar
  #2 (permalink)  
Antiguo 04/06/2013, 16:52
 
Fecha de Ingreso: mayo-2013
Ubicación: Córdoba
Mensajes: 139
Antigüedad: 10 años, 11 meses
Puntos: 9
Respuesta: Java con MVC

El error esta en el clase DAO, al intentar ejecutar el metodo, has creado un objeto de la clase DAO ? .
antes de llamar al metodo te has conectado con la base de datos ? (sería algo como: DAOUsuario.conectar())

si puedes pega el codigo de la clase Database.
  #3 (permalink)  
Antiguo 05/06/2013, 08:15
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas - Venezuela
Mensajes: 116
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Java con MVC

Gracias por responder, si te fijas en el dao en la parte del try hay un getConexion, ese getconexion es un método donde estoy heredando la coneccion a la BD, lo hice asi pq fue un ejemplo que vi te dejo el archivo de conexion a ver que te parece.


Database:
Código PHP:
package modelo;
import java.sql.*;

/**
 *
 * @author Desarrollo
 */
public class Database {
    
     
/** base de datos por defecto*/
  
private String db "clinica";
  
/** usuario */
  
private String user "php";
  
/** contraseña de MySql*/
  
private String password "php";
  
/** Cadena de conexion */
  
private String url "jdbc:mysql://localhost/"+db;
  
/** variable para trabajar con la conexion a la base de datos */
  
private Connection conn null;

    public 
Database() {
        
          
this.url "jdbc:mysql://localhost/"+this.db;
       try{
         
//obtenemos el driver de para mysql
         
Class.forName("com.mysql.jdbc.Driver");
         
//obtenemos la conexión
         
conn DriverManager.getConnectionthis.urlthis.user this.password );         
      }catch(
SQLException ClassNotFoundException e){
         
System.err.printlne.getMessage() );
      }
        
        
    }
  
  public 
Connection getConexion()
   {
    return 
this.conn;
   }
  
    
    
    

Logré resolverlo, me falta cargar la libreria JDBC de mysql, ya que empece haciendo un proyecto X que si la tenia caragada, despues cree otro proyecto y pensé que estaba trabajando sobre el anterior con la libreria cargada.

Cuando ejecuté el programa me salía en rojo com.mysql.jdbc.Driver, es decir no tenia la libreria, saludos.

Última edición por angelsds; 05/06/2013 a las 09:42

Etiquetas: mvc, string
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 06:04.