ciao a tutti,
utilizzo eclipse juno for java EE come IDE.

In un progetto web dinamico, ho fatto una semplice classe Db.java nel pakage classi (dentro la cartella src) che mi esegue la connessione ad un database MySQL utilizzando mysql-connector-java-5.1.22-bin.jar

Questa classe (postata di seguito) la vorrei usare nelle mie pagine .jsp ma il server Tomcat sulla riga dello useBean mi da sistematicamente il seguente errore:

org.apache.jasper.JasperException: /pagina3.jsp(14,2) The value for the useBean class attribute classi.Utenti is invalid.

Non trova la classe!

posto un estratto del codice della pagina.jsp e la classe db.java

Ovviamente ho incluso mysql-connector-java-5.1.22-bin.jar nella libreria del progetto

Premetto che per quanto ne sappia io eclipse compila al volo e quindi non è necessario il .class della mia classe Db.java

pagina.jsp


Codice PHP:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    
pageEncoding="ISO-8859-1"%>

<%@ 
page import="java.sql.*" %>

<!
DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<
title>Insert title here</title>
</
head>
<
body>

     <
jsp:useBean  id="mydb" scope="session" class="classi.Db" />

    <%
        
Connection con mydb.getConnessione();
                
// ecc..
        
%>
... 
premetto che l'ide riconosce il metodo getConnessione (quando digito mydb. vengono visualizzati i metodi della classe)

ecco il codice della classe Db.java
ovviamente il costruttore è senza parametri e per ogni variabile di istanza c'è il suo set e get:


Codice PHP:

package classi
;

import java.sql.*;


public class 
Db {
    private 
Connection connect;

    
Db() throws SQLException
    
{
        
String server "localhost";
        
String nomeDatabase "miodb";
        
String userName="root";
        
String password="root";
        
        
// Carica il driver mySQL (che deve essere raggiungibile nel percorso indicato com/mysql/jdbc
        
try {
        Class.
forName("com.mysql.jdbc.Driver");
            
            
connect DriverManager.getConnection("jdbc:mysql://" server "/" nomeDatabase +"?" "user="+userName+"&password="+password); 
        } catch (
ClassNotFoundException e) {
            
// TODO Auto-generated catch block
            
e.printStackTrace();
        }

       
        
    }

    public 
Connection getConnessione()
    {
        return 
connect;
    }
    
    public 
void setConnessione(Connection c)
    {    
        
connect c;
    }
    
  public 
void close() {
    try {
      if (
connect != null) {
        
connect.close();
      }
    } catch (
Exception e) {
        
System.out.println(e);
    }
  }


un pò lungo ma semplice e credo anche di utilità se riusciamo a farlo funzionare.

Grazie