Newsgroup: it.comp.java
Titolo: Problemi con Mr.Bean :-))

Salve,
Sto realizzando una pagina JSP (utilizzo Tomcat per provarla) per la ricerca
dati in una serie di DataBase.
Poichè ci sono parecchie connessioni ho pensato di utilizzare i JavaBeans
(anche per rendere + pulito il contenuto della pagina).
-----------------------------------------------------------
Ho realizzato il seguente file Connessione.java :
import java.sql.*;
public class Connessione {
    Connection c;
    public Connection getConnect() {
          return c;
    }
    public void setConnect(Connection c) {
        try
        {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            this.c = DriverManager.getConnection("jdbc:odbc:Articoli");
        }
        catch( Exception e )
        {
            out.println("Il Driver non può essere caricato:");
            return;
        }
    }
}
----------------------------------------------------------
Mentre nella pagina.JSP  (ricerca.jsp) ho inserito :
<jsp:useBean id = "prova" class = "Connessione" />
<%
        Connection conn = prova.getConnect();
%>
-----------------------------------------------------------
L'ERRORE che mi da è il seguente :
Error: 500
Location: /examples/jsp/prova/ricerca.jsp
Internal Servlet Error:
org.apache.jasper.JasperException: Unable to compile class for
JSPC:\tomcat\work\localhost_8080%2Fexamples\_0002fjsp_0002fprogetto_0002fric
erca_0002ejspricerca_jsp_0.java:75: Class jsp.progetto.Connessione not
found.
                Connessione prova = null;
                ^
C:\tomcat\work\localhost_8080%2Fexamples\_0002fjsp_0002fprogetto_0002fricerc
a_0002ejspricerca_jsp_0.java:78: Class jsp.progetto.Connessione not found.
                    prova= (Connessione)
                            ^
C:\tomcat\work\localhost_8080%2Fexamples\_0002fjsp_0002fprogetto_0002fricerc
a_0002ejspricerca_jsp_0.java:83: Class jsp.progetto.Connessione not found.
                            prova = (Connessione)
Beans.instantiate(this.getClass().getClassLoader(), "Connessione");
                                     ^
3 errors
-----------------------------------------------------------
Il file compilato Connessione.class si trova nella stessa directory della
pagina.JSP (..\webapps\examples\jsp\progetto). Ho provato anche a copiarlo
nella directory
..\webapps\examples\web-inf\classes  poichè ho notato che negli esempi del
tomcat i file .class stanno in questa directory.
Da quanto ho potuto capire non si riesce a trovare la classe Connessione.
Ringrazio chiunque possa darmi dei consigli.
Ciao.Salvatore



Nel file jsp:

import myPackage.Connessione;

Ciao

Marcello

 

 

 





SgNaPpO wrote:


 


  
ciao,
prima
di tutto grazie per la risposta.
 
Ma
scrivendo "import Mypackage.Connessione" dovrei memorizzae il file "Connessione.class"
in una directory chiamata "Mypackage"?
 
E
dovrei anche includerla nel CLASSPATH?
 
ciao
e grazie.
 
Salvatore




Ciao,

se una applicazione utilizza un package, la struttura della directory
che contiene il file java deve riflettere il package stesso.

Se il tuo package si chiama com.myCompany.myApp il file Connesione.java
dovra' stare in una directory tipo com/myCompany/myApp

Non hai bisogno di modificare il CLASSPATH.

Devi creare un jar file che contiene Connessione.class (e tutte le
classi utilizzate nelle pagine jsp) e dovrai copiare questo file in $TOMCAT_HOME/lib.

Il classpath di tomcat sara' questa directory.

per ulteriori informazioni ti consiglio di andare su 
www.jakarta.apache.org/tomcat


Spero di esserti stato di aiuto

Ciao

Marcello




Marcello
Ciao,
ho provato a creare la directory e a memorizzagli dento il file.class, ma
comunque mi dice "classe non trovata".
Per il momento non utilizzo package per cercare di capire gradualmente come
vanno le cose.
Ho notato ( guardando la struttura delle directory del Tomcat ) che la
pagina.jsp non presentava erori in fase di compilazione se memorizzavo il
file.class relativo al Bean in una sottodirectory di quella in cui è
contenuta la pagina chiamata " Web-inf\classes ".
cioè :    MyDirectory   (file.jsp)
                 |
                 |----We-inf
                         |
                         |-----classes (file.class)
Ma devo per forza memorizzare i file.class in tale directory?
Perchè in fase di compilazione , nonostante avessi inserito " import classe"
la classe non veniva trovata?
ciao e grazie.
Salvatore