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

Problema con Java servlet y mysql

Estas en el tema de Problema con Java servlet y mysql en el foro de Java en Foros del Web. Hola a todos tengo un problema al intentar conectar un java servlet con una bd en mysql Estoy usando eclipse indigo. La cuestion es que ...
  #1 (permalink)  
Antiguo 30/05/2012, 16:52
 
Fecha de Ingreso: agosto-2008
Mensajes: 66
Antigüedad: 16 años, 3 meses
Puntos: 1
Exclamación Problema con Java servlet y mysql

Hola a todos tengo un problema al intentar conectar un java servlet con una bd en mysql
Estoy usando eclipse indigo. La cuestion es que tengo el conector mysql-connector-java-5.1.20-bin en la carpeta WEB-INF/lib
añadí el conector project-->properties-->java build path--->libraries y add external jar a agregue mi conector
pero al ejecutar el servlet me sale este error java.lang.NoClassDefFoundError: com/mysql/jdbc/jdbc2/optional/MysqlDataSource
Este es mi código donde ejecuto el servlet
import java.io.*;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
* Servlet implementation class BdTutorias
*/
@WebServlet("/BdTutorias")
public class BdTutorias extends HttpServlet {
private static final long serialVersionUID = 1L;
static ResultSet conn=null;
/**
* Default constructor.
*/

public BdTutorias() {

// TODO Auto-generated constructor stub
}



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

response.setContentType("text/html");
PrintWriter out= response.getWriter();

out.println("<HTML><HEAD><TITLE>TUTORIAS</TITLE></HEAD>");
out.println("<BODY>");
out.println("<TABLE WIDTH=100% BORDER=1>");
out.println("<TR>");
out.println("<TH>ALUMNOS</TH><TH>DIA / HORA</TH><TH>CON EL PROFESOR</TH>");
out.println("</TR>");
try{
bdConexion con=new bdConexion();
conn = con.muestra();
while(conn.next()){
out.println("<tr>");
out.println("<td width=40%>"+conn.getString("alumno")+"</td>");
out.println("<td width=20%>"+conn.getString("dia")+" a las "+
/*conn.getString("hora")+*/"</td>");
out.println("<td width=40%>"+conn.getString("profesor")+"</td>");
out.println("</tr>");

}
}catch(SQLException error){

//javax.swing.JOptionPane.showMessageDialog(null, error+"eroores");
out.println(error +"errores tdos");
}

//out.println(con.muestra());
out.println("</table>");
out.println("</body>");
out.println("</html>");

}


/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//try {
procesarPeticion(request, response);
//} catch (SQLException e) {}
}

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}

}


Y esta es mi clase donde hago la conexión y la consulta

import java.sql.*;
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
public class bdConexion {

String usuario="admon";
String password="admo";
String nombrebd="bd_alumnos";
String servidor="localhost";
Connection conexion=null;
Statement st= null;
ResultSet rs=null;
public bdConexion()
{
try{
MysqlDataSource datasource=new MysqlDataSource();
datasource.setUser(usuario);
datasource.setPassword(password);
datasource.setDatabaseName(nombrebd);
datasource.setServerName(servidor);
conexion= datasource.getConnection();
st= conexion.createStatement();
}catch(SQLException error){System.out.println(error + "error de conexion");}
}

public ResultSet muestra ()
{
try{
rs=st.executeQuery("select profesor,dia, alumno"+" from profesores, tutorias, citas "+
"where profesores.id_profesor= tutorias.id_profesor"+
" and tutorias.id_tutoria=citas.id_tutoria");


}catch(SQLException e){System.out.println("error metod resulset ");}

return rs;

}

public void cerrarconexion()
{
try{
if (rs != null) rs.close();
if(st !=null ) st.close();
if(conexion !=null) conexion.close();
}catch(SQLException e){}

}

}


Aclaro el código ya lo probé desde una aplicación de escritorio y corre perfectamente bien asi que infiero que es la forma de agregar el conector en el ide pero ya no se que hacer gracias por la ayuda
  #2 (permalink)  
Antiguo 30/05/2012, 21:16
 
Fecha de Ingreso: agosto-2008
Mensajes: 66
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Problema con Java servlet y mysql

bueno ya encontré la solución que al menos ami me funciono es colocar el conector jar en la carpeta lib del servidor apache tomcat y limpiar mi proyecto y el servidor
limpiar proyecto
project --> clean elegir el proyecto y ok
limpiar el servidor
en la pestaña servers(en la parte inferior)
clic derecho sobre el servidor
y opción clean
también dar clic en tomcat work direcotoy

Etiquetas: clase, jar, mysql, servlet, 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 12:18.