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
premetto che l'ide riconosce il metodo getConnessione (quando digito mydb. vengono visualizzati i metodi della classe)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..
%>
...
ecco il codice della classe Db.java
ovviamente il costruttore è senza parametri e per ogni variabile di istanza c'è il suo set e get:
un pò lungo ma semplice e credo anche di utilità se riusciamo a farlo funzionare.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);
}
}
}
Grazie![]()

Rispondi quotando


