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

Problema Con Netbeans

Estas en el tema de Problema Con Netbeans en el foro de Java en Foros del Web. De Antemano Muchas Gracias Al Que Me pueda Colaborar, Comento Que Estoy Realizando Un Proyecto Para Simular Un Examen De Estado. Primero Empiezo Por Decir ...
  #1 (permalink)  
Antiguo 01/09/2010, 17:26
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
Problema Con Netbeans

De Antemano Muchas Gracias Al Que Me pueda Colaborar, Comento Que Estoy Realizando Un Proyecto Para Simular Un Examen De Estado.

Primero Empiezo Por Decir Que El Proyecto Se Esta Realizando En Netbeans IDE 6.7.1, Trabaja Con Base De Datos MySql Y El Seridor De Paginas Web Que Utilizamos Es El Tomcat6.

El Proyecto Tiene 2 Archivos JSP Y Un Servlet.
El Primer Archivo JSP Es El Index Y Tiene El Siguiente Codigo

<html>
<head>
<title>Bienvenida</title>
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<h1 align="center" style="font-size:72pt; background-color:rgb(70,125,249);"><b><i><font face="Tahoma"><span style="font-size:72pt;">SimulationEcaes</span></font></i></b></h1>
<p align="center">&nbsp;</p>
<p style="background-color:rgb(70,125,249); border-width:1; border-style:none;" align="center"><b><font face="Arial"><span style="font-size:28pt;">Ingreso </span></font></b></p>
<form action="http://localhost:8080/Simulation_Ecaes/Ingreso_Administrador.jsp" method="POST">
<p align="center" style="border-width:1; border-style:none;"><input
type="submit" name="B1" value="Administrador" style="background-color:silver;">
</form><form action="Ingreso_Estudiante" method="post">
</p>
<p align="center">
<input type="submit" name="B2" value="Estudiante" style="background-color:silver;" />
</p>
</form>
<p style="border-width:1; border-style:none;">&nbsp;</p>
<p style="border-width:1; border-style:none;">&nbsp;</p>
<p style="border-width:1; border-style:none;">&nbsp;</p>
<h1 align="center" style="font-size:48pt; background-color:rgb(70,125,249);"><font face="Tahoma"><span style="font-size:48pt;">Bienvenidos Al Simulador</span></font></h1>
</body>

</html>

El Siguiente Archivo JSP Se Llama Ingreso_Administrador.jsp Que Es Al Que La Pagina Index Que Hace Referencia Con El Boton Administrador.

<html>
<head>
<title>Ingreso Administrador</title>
</head>
<body bgcolor='white' text='black' link='blue' vlink='purple' alink='red'>
<h1 align='center' style='font-size:72pt; background-color:rgb(70,125,249);'><b><i><font face='Tahoma'><span style='font-size:72pt;'>SimulationEcaes</span></font></i></b></h1>
<p align='center'><font face='Tahoma'><span style='font-size:28pt;'><b>Administrador</b></span></font></p>
<p align='center'>&nbsp;</p>
<form action="http://localhost:8080/Simulation_Ecaes/Principal_Admin" method="post">
<p align='center'><font face='Arial'><span style='font-size:20pt;'>Cedula &nbsp;</span></font><input type='text' name='Cedula'></p>
<p align='center'><font face='Arial'><span style='font-size:20pt;'>Clave &nbsp;&nbsp;&nbsp;</span></font><input type='text' name='Clave'></p>
<p align='center'>&nbsp;</p>
<p align='center'>&nbsp;</p>
<p align='center'><input type='submit' name='B3' value='Ingresar' style='background-color:silver;'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</p>
</form>
<p>&nbsp;</p>
</body>
</html>

Hasta Aca Todo Muy Bien. El Problema Se Presenta Cuando Se Ingresan Los Datos Y Se Da Clic Al Boton Ingresar El Cual Es El Que Hace Referencia Al Siguiente Servlet.

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletConfig;
import java.sql.*;
/**
*
* @author Family
*/
public class Principal_Admin extends HttpServlet
{
Connection admin=null;
Statement ingreso=null;
ResultSet valida=null;
String conexion="jdbc:mysql://localhost:3306/Simulador_Ecaes";
public void Init(ServletConfig con)throws ServletException
{
super.init(con);
if(admin==null || ingreso==null)
{
try
{
Class.forName("com.mysql.jdbc.Driver");
admin = DriverManager.getConnection (conexion, "", "");
ingreso = admin.createStatement(ResultSet.TYPE_SCROLL_SENSIT IVE,
ResultSet.CONCUR_UPDATABLE);
}
catch(ClassNotFoundException edr)
{
System.out.println("Error Con El Driver");
System.out.println(edr.getMessage());
}
catch(SQLException edb)
{
System.out.println("Error Con La Conexion");
System.out.println(edb.getMessage());
}
}
}
public void Destroy()
{
super.destroy();
try
{
admin.close();
ingreso.close();
}
catch(SQLException e){}
}
//intente hacerse cambiando doPost por processRequest
protected void doPost(HttpServletRequest sol, HttpServletResponse resp)
throws ServletException, IOException
{
String cedula=null;
String clave=null;
String confirma=null;
cedula=(sol.getParameter("Cedula")).trim();
clave=(sol.getParameter("Contraseña")).trim();
PrintWriter pag=null;
try
{
pag=resp.getWriter();
}
catch(IOException e)
{
System.out.println("Error Con La Pagina"+ e);
}
resp.setContentType("text/html");
pag.println("<html>");
pag.println("<head>");
pag.println("<title>Administrador_Principal</title>");
pag.println("</head>");
pag.println("<body bgcolor='white' text='black' link='blue' vlink='purple' alink='red'>");
pag.println("<h1 align='center' style='font-size:72pt; background-color:rgb(70,125,249);'><b><i><font face='Tahoma'><span style='font-size:72pt;'>SimulationEcaes</span></font></i></b></h1>");
pag.println("<p align='center'><font face='Tahoma'><span style='font-size:28pt;'><b>Administrador</b></span></font></p>");
pag.println("<p align='center'>&nbsp;</p>");
if(!cedula.equals("") && !clave.equals(""))
{
String q="select * from administrador where Cedula= '"+cedula+"'";
//administrador podria cambiarse por valida
try
{
valida = ingreso.executeQuery(q);
if(valida.next())
{
confirma=valida.getString(2);
if(valida.equals(clave))
{
pag.println("Ingreso Correcto");
}
else
{
pag.println("Clave Incorrecta");
}
}
else
{
pag.println("Cedula Incorrecta");
}
valida.close();
}
catch(SQLException bd)
{
pag.println("Errror Base De Datos");
pag.println(""+bd.getMessage());
}
}
else
{
pag.println("Datos No INgresados");
}
pag.println("</body></html>");
pag.flush();
pag.close();
}
}

El Problema Es Que Cuando Se Le Da Clic Al Boton Ingresar En Vez De Ejecutar El Servlet Principal_Admin.java SaLe El Siguiente Error En El Navegador.

Estado HTTP 500 -
________________________________________
type Informe de Excepción
mensaje
descripción El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.
excepción
java.lang.NullPointerException
Principal_Admin.doPost(Principal_Admin.java:67)
javax.servlet.http.HttpServlet.service(HttpServlet .java:637)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
nota La traza completa de la causa de este error se encuentra en los archivos de diario de Apache Tomcat/6.0.29.
________________________________________
Apache Tomcat/6.0.29
Por Favor Enviarme O Explicarme Que Error Estoy Cometiendo, Y Como Podria Solucionar Este Problema. De Antemano mUchas Gracias

Por Cierto El Boton Estudiante No Funciona Porque No Hay Ninguna Pagina O Servlet Relacionado A El De Momento.
  #2 (permalink)  
Antiguo 01/09/2010, 19:01
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Problema Con Netbeans

Hola,

Código Java:
Ver original
  1. cedula = (sol.getParameter("Cedula")).trim();
  2. clave = (sol.getParameter("Contraseña")).trim();
Los parámetros se llaman 'Cedula' y 'Clave' en el HTML.

Código Java:
Ver original
  1. if (valida.equals(clave)) {
El objeto 'valida' es un ResultSet, 'clave' es un String, los tipos no son compatibles. Aunque equals acepta un objeto cualquiera, seguramente no va a devolver el resultado esperado.

Saludos,
  #3 (permalink)  
Antiguo 02/09/2010, 07:25
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
Respuesta: Problema Con Netbeans

Gracias Por Tu Respuesta Me Ha Ayudado....
Ahora Tengo Otra Consulta, Que Parametro Deberia Usar Para Hacer La Comparacion En Esta Parte Del Codigo.

if (valida.equals(clave)) {
  #4 (permalink)  
Antiguo 02/09/2010, 07:50
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
De acuerdo Respuesta: Problema Con Netbeans

Gracias Por tu Ayuda... Otra Pregunta Que Parametro Deberia Usar Para Hacer En Esta Parte Del Codigo:

if (valida.equals(clave)) {
  #5 (permalink)  
Antiguo 02/09/2010, 07:52
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Problema Con Netbeans

Hola,

Cita:
Iniciado por LordJhony Ver Mensaje
Gracias Por Tu Respuesta Me Ha Ayudado....
Ahora Tengo Otra Consulta, Que Parametro Deberia Usar Para Hacer La Comparacion En Esta Parte Del Codigo.

if (valida.equals(clave)) {
No sé como se llama el campo en la base de datos. Pero posiblemente tiene que ser algo así:

Código Java:
Ver original
  1. if (valida.getString("nombre_del_campo_clave").equals(clave)) {

Si el campo 2 es la contraseña entonces posiblemente podría ser así:

Código:
confirma=valida.getString(2);
Código Java:
Ver original
  1. if (confirma.equals(clave)) {

Saludos,
  #6 (permalink)  
Antiguo 02/09/2010, 08:35
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
Respuesta: Problema Con Netbeans

Muchas Gracias, Acabo De Hacer Lo Que Me Has Dicho, Pero Me Sigue Saliendo El Mismo Error, Al Momento De Validar Los Datos.

Estado HTTP 500 -

--------------------------------------------------------------------------------

type Informe de Excepción

mensaje

descripción El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.

excepción

java.lang.NullPointerException
Principal_Admin.doPost(Principal_Admin.java:92)
javax.servlet.http.HttpServlet.service(HttpServlet .java:637)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)


nota La traza completa de la causa de este error se encuentra en los archivos de diario de Apache Tomcat/6.0.29.


--------------------------------------------------------------------------------

Apache Tomcat/6.0.29
  #7 (permalink)  
Antiguo 06/09/2010, 09:05
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
Respuesta: Problema Con Netbeans

Aun Estoy Necesitando Ayuda Para Solucionar Ese Error
  #8 (permalink)  
Antiguo 06/09/2010, 09:05
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
Respuesta: Problema Con Netbeans

Aun Necesito Ayuda
  #9 (permalink)  
Antiguo 06/09/2010, 16:26
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Problema Con Netbeans

Hola,

Cita:
Iniciado por LordJhony Ver Mensaje
public class Principal_Admin extends HttpServlet
{
Connection admin=null;
Statement ingreso=null;
ResultSet valida=null;
String conexion="jdbc:mysql://localhost:3306/Simulador_Ecaes";
public void Init(ServletConfig con)throws ServletException
{
super.init(con);
Realice un par de pruebas con tu código, si no usas las etiquetas del foro para 'resaltar' código en más difícil ver los posibles errores. El otro problema que te hace falta corregir es cambiar el nombre del método 'init'; Java es un lenguaje 'case-sensitive'.

Código Java:
Ver original
  1. // ....
  2.     String conexion = "jdbc:mysql://localhost:3306/Simulador_Ecaes";
  3.     public void init(ServletConfig con) throws ServletException
  4.     {
  5.         super.init(con);
  6. //....

Saludos,
  #10 (permalink)  
Antiguo 08/09/2010, 07:20
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
Respuesta: Problema Con Netbeans

De Nuevo Gracias.
Te Comento Realize El Cambio, Tienes Razon Habia Pasado Por Alto Esa Parte.
Ejecute El Programa Y Me Puse A Revisar Linea Por Linea El Log Que Genera Al Ejecutar, Y He Visto Cual Es El Problema, No Esta Cargando El Driver.
En La Siguiente Trama De Codigo Te Lo Mostrare.
Código:
public void init(ServletConfig con)throws ServletException
    {
        super.init(con);
        if(admin==null || ingreso==null)
        {
            try
            {
               Class.forName("com.mysql.jdbc");
	       admin = DriverManager.getConnection (conexion, "", "");
	       ingreso = admin.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
	       ResultSet.CONCUR_UPDATABLE);
            }
            catch(ClassNotFoundException edr)
            {
                System.out.println("Error Con El Driver");
                System.out.println(edr.getMessage());
            }
            catch(SQLException edb)
            {
                System.out.println("Error Con La Conexion");
                System.out.println(edb.getMessage());
            }
        }
    }
Como Sabes La Parte De Rojo(El Try) Es El Codigo Para La Conexion.
Pero El Programa Se Me Mete Por La Parte Azul(El Catch De Error Con El Driver)

Ya Teniendo Esto Mas Claro... Le Pido Me Pueda Colaborar Con Este Error, Es Decir Como Lo Puedo Solucionar
  #11 (permalink)  
Antiguo 08/09/2010, 11:39
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Problema Con Netbeans

Hola,

Si no carga el driver posiblemente es porque no lo encuentra, revisa que exista la biblioteca 'Driver MySQL JDBC' en 'Herramientas'->'Bibliotecas'; sino existe tienes que crear una librería que tenga ese nombre y que incluya el archivo 'mysql-connector-java-bin.jar' y lo tienes que descargar de mysql.com

Después revisa en las propiedades del proyecto, seleccionando el proyecto y en 'Archivo'->'Proyecto properties', revisa que en la categoría 'Libraries', en la solapa 'Compile' esté agregada la librería 'Driver MySQL JDBC'.

Saludos,

ps:

También puedes instalar el driver de mysql en modo compartido en el servidor de aplicaciones que estés usando, pero eso va a depender del servidor.
  #12 (permalink)  
Antiguo 09/09/2010, 05:14
Avatar de LordJhony  
Fecha de Ingreso: septiembre-2010
Mensajes: 472
Antigüedad: 13 años, 8 meses
Puntos: 24
De acuerdo Respuesta: Problema Con Netbeans

Ok Muchas Gracias... Ya He Solucionado El Problema. Resulta Que Estaba Redireccionando Mal La Clase
Del Driver. Te Muestro. Yo Tenia
Código:
Class.forName("com.mysql.jdbc");
Y Debia Ser
Código:
Class.forName("org.gjt.mm.mysql.Driver");
Ademas De Todas Las Correcciones Que Me Dijiste Implementara.
Voy A Seguir Avanzando En Mi Proyecto. Espero Seguir Contando Con La Ayuda Suya Y El Foro Para
Futuros Problemas(Expero No Se Me Presenten).
  #13 (permalink)  
Antiguo 09/09/2010, 14:34
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Problema Con Netbeans

Hola,

Tienes toda la razón, el nombre del driver debe ser el segundo seguramente, pero por compatibilidad con programas antiguos el primero también debería funcionar agregando el package Driver.

Código Java:
Ver original
  1. Class.forName("com.mysql.jdbc.Driver");

Que bien que hayas podido resolver esos inconvenientes, y si tienes otra duda por supuesto que aquí en el foro siempre hay mas de alguien con la intención de ayudar,

Saludos,

Última edición por HackmanC; 09/09/2010 a las 18:43 Razón: package Driver

Etiquetas: netbeans
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 02:29.