Tengo una clase que se conecta a un BD.. pero .. cuando lo uso con un jsp, me da error
EL JSP ES
<%@ page language="java" import="java.sql.*,java.io.*,java.util.*,pkfactura .*" %>
<jsp:useBean id="book" class="pkfactura.books" />
<html>
<body>
<%
book.connect();
out.print("Hola nuevo mundo");
book.disconnect();
%>
</body>
</html>
LA CLASE ES ..
package pkfactura;
/*
* books.java
*
* Created on 11 de diciembre de 2004, 05:30 PM
*/
import java.sql.*;
import java.util.*;
import java.io.File;
import java.util.Date;
/**
*
* @author Administrador
*/
public class books {
String error;
Connection conn;
//String bd = "prueba"; //si te fijas aca va la base de datos que entraremos
//String login = "root"; //aca colocas el usuario que entrara
//String password = "root"; //como es obvio dice pass , colocas la pass que usaste en la cd cuando le diste el permiso al usuario y asignaste la pass
//String url = "jdbc:mysql://localhost/" + bd;
/** Creates a new instance of books */
public books() {
}
public void connect () throws ClassNotFoundException, SQLException,Exception{
try {
/*Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@say mon:1521:oracle","system","system"); */
Class.forName("com.mysql.jdbc.Driver").newInstance ();
//conn = DriverManager.getConnection(url,login,password);
conn = DriverManager.getConnection("jdbc:mysql://localhost/prueba","root","root");
// Class.forName("oracle.jdbc.driver.OracleDriver");
// conn = DriverManager.getConnection("jdbc:oracle:thin:@plu ton:1521:ORCL9I","system","manager");
}
catch(ClassNotFoundException e){
error="No se puede locxalizar el controlador.";
throw new ClassNotFoundException(error);
}
catch(SQLException e){
error="Imposible establecer la conexion on BD";
throw new SQLException(error);
}
catch(Exception e){
error="Hubo un error inseperado.";
throw new Exception(error);
}
}
public void disconnect () throws SQLException{
try{
if (conn != null){
conn.close();
}
}
catch(SQLException e){
error = "Impòsible cerrar la conexion";
throw new SQLException(error);
}
}
public ResultSet viewbooks()throws SQLException, Exception {
ResultSet rs=null;
try{
String sql="select * from book";
Statement stmt= conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException e){
error="No se puede ejecutar la consulta";
}
catch(Exception e){
error="Hubo un error";
throw new Exception(error);
}
return rs;
}
public void addbook(int id, String title, int price,int cid)throws SQLException,Exception{
if (conn != null ){
try{
PreparedStatement updatebook;
updatebook=conn.prepareStatement("insert into book value(?,?,?,?)");
updatebook.setInt(1,id);
updatebook.setString(2,title);
updatebook.setInt(3,price);
updatebook.setInt(4,cid);
updatebook.execute();
}catch(SQLException e){
error="Hubo un error SQL";
throw new SQLException(error);
}
}else{
error="se perdio lña conexion a la bd.";
throw new Exception(error);
}
}
public void removebook (String [] pkeys)throws SQLException, Exception{
if (conn != null ){
try{
PreparedStatement ps= conn.prepareStatement("delete * from book where id=?");
for(int i=0; i<pkeys.length;i++){
ps.setInt(1, Integer.parseInt(pkeys[i]));
ps.execute();
}
}catch(SQLException e){
error="Hubo un sql exceptiln";
throw new SQLException(error);
}catch(Exception e){
error="se produjo un error";
throw new Exception(error);
}
}else{
error="se ha perdido la conexion con la bd.";
throw new Exception(error);
}
}
}
Y EL ERROR ES ....
type Informe de Excepción
mensaje
descripción El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.
excepción
javax.servlet.ServletException: Imposible establecer la conexion on BD
org.apache.jasper.runtime.PageContextImpl.doHandle PageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.access$1 100(PageContextImpl.java:64)
org.apache.jasper.runtime.PageContextImpl$12.run(P ageContextImpl.java:745)
java.security.AccessController.doPrivileged(Native Method)
org.apache.jasper.runtime.PageContextImpl.handlePa geException(PageContextImpl.java:743)
org.apache.jsp.index_jsp._jspService(index_jsp.jav a:75)
org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
sun.reflect.GeneratedMethodAccessor65.invoke(Unkno wn Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:324)
org.apache.catalina.security.SecurityUtil$1.run(Se curityUtil.java:239)
java.security.AccessController.doPrivileged(Native Method)
ETC ...