|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2006
Città: Bergamo
Messaggi: 440
|
[JAVA] [Hibernate] [Servlet] - Servlet execution threw an exception
salve a tutti...
mi stò avvicinando (tutto di un botto - lo so che si deve fare un passo alla volta, ma per motivi universitari devo cercare di fare tutto insieme per mancanza di tempo) al framework "Hibernate" e per prendere familiarità ho eseguito l'esempio presente sull'articolo "Introduzione ad Hibernate" e ho riportato il codice della Classe usata per testare la persistenza del javabean Persona nella seguente servlet: Codice:
package test;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.RequestDispatcher;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import beans.Persona;
public class PersonaUnitTest extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet
{
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public PersonaUnitTest()
{
super();
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
//System.out.println("Persona Unit Test");
// Recupero la sessione: attenzione, questa operazione
// può essere gestita come un Singleton lungo tutta l'applicazione
org.hibernate.Session session =
new Configuration().configure().buildSessionFactory().getCurrentSession();
//Creo una nuova persona
Persona p = new Persona();
p.setNome("Pasquale");
p.setNome("Congiustì");
p.setEmail("[email protected]");
//Utilizziamo un modello transazionale dichiarativo
session.beginTransaction();
//Chiedo al middleware di salvare questo oggetto nel database
session.save(p);
//fine della transazione: salviamo tramite commit()
session.getTransaction().commit();
//System.out.println("I dati inseriti sono:");
//System.out.println("Nome: " + p.getNome());
//System.out.println("Cognome: " + p.getCognome());
//System.out.println("E-Mail: " + p.getEmail());
RequestDispatcher dispatcher;
dispatcher = getServletContext().getRequestDispatcher("/ShowUser.jsp");
dispatcher.forward(request,response);
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
this.doGet(request, response);
}
}
c'è una pagina html (index.html) che richiama tramite una form la servlet "PersonaUnitTest" che dopo aver effettuato l'inserimento ne db fa un forward alla pagina "ShowUser.jsp" che non fa altro che scrive un messaggio di conferma il punto è che quando eseguo l'application mi esce questo errore: Codice:
exception javax.servlet.ServletException: Servlet execution threw an exception root cause java.lang.NoClassDefFoundError: org/dom4j/DocumentException test.PersonaUnitTest.doGet(PersonaUnitTest.java:44) javax.servlet.http.HttpServlet.service(HttpServlet.java:690) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) scusate la domanda che forse è stupida ma sono i mie primi "esperimenti" sia con le Servlet che con hibrnate un infinito grazie a chi mi rispondera!!!!
__________________
Guitar Pub, il sito dedicato al mondo della chitarra e dei chitarristi... e il mio Spazio ------------------------------------ Ho trattato positivamente con: teosc |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
io ho provato il tuo stesso pezzo di codice e a me funziona benissimo , nn sono il + esperto .... ma di sicuro quel errore lo lancia quando cerchi di istanziare una classe che nn trova , quindi controlla se hai importato tutte le librerie ,cmq ti consiglio caldamente di leggere il "manuale ufficiale" di hibernate invecce della guida su html.it , ( almeno i primi capitoli che parlano della configurazione)
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2006
Città: Bergamo
Messaggi: 440
|
ok grazie mille!!!...lo farò di sicuro!!!
__________________
Guitar Pub, il sito dedicato al mondo della chitarra e dei chitarristi... e il mio Spazio ------------------------------------ Ho trattato positivamente con: teosc |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
sì quell'errore di solito si interpreta con la mancanza di un .jar
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2006
Città: Bergamo
Messaggi: 440
|
mi sa che non ho importato in modo corretto la libreria di hibernate con eclipse!...grazie a entrambi! quantomeno ora so che è solo un problema di importazione di librerie e non di codice!
__________________
Guitar Pub, il sito dedicato al mondo della chitarra e dei chitarristi... e il mio Spazio ------------------------------------ Ho trattato positivamente con: teosc |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2006
Città: Bergamo
Messaggi: 440
|
sono ancora qui a rompere su Hibernate...ho letto la documentazione di Hibernate core ma non riesco comunque a mappare le associazioni tra tabelle...ho questo schema:
Codice HTML:
_____________ ___________ | | | | _________________ | CUSTOMER | | ORDER | | | ____________ |_____________| |___________| | ORDER_MANAGER | | | | | | | |_________________| | ADMIN | | *ID | <--> | CUSTOMER | | | |____________| | NAME | | *ID | <--> | *ORDER | | NICKNAME | | ADDRESS | |___________| | *ADMIN | <--> | *ID | |_____________| |_________________| | EMAIL | |____________| Codice:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="beans.Order" table="order">
<id name="id" column="id">
<generator class="identity"/>
</id>
<property name="notes"/>
<set name="customer" table="customer">
<key column="id"/>
<element type="integer" column="id"/>
</set>
</class>
</hibernate-mapping>
Codice:
org.hibernate.MappingException: Repeated column in mapping for collection: beans.Order.customer column: id org.hibernate.mapping.Collection.checkColumnDuplication(Collection.java:306) org.hibernate.mapping.Collection.checkColumnDuplication(Collection.java:329) org.hibernate.mapping.Collection.validate(Collection.java:286) org.hibernate.mapping.Set.validate(Set.java:19) org.hibernate.cfg.Configuration.validate(Configuration.java:1106) org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1287) test.OrderTest.doGet(OrderTest.java:49) javax.servlet.http.HttpServlet.service(HttpServlet.java:690) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) Grazie 1000 per l'aiuto!!!
__________________
Guitar Pub, il sito dedicato al mondo della chitarra e dei chitarristi... e il mio Spazio ------------------------------------ Ho trattato positivamente con: teosc |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Quote:
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. Ultima modifica di dupa : 27-02-2008 alle 15:40. |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2006
Città: Bergamo
Messaggi: 440
|
uso l'ultima versione...la 3.2
Come faccio ad automatizzare? scusa la/le domanda/e sciocche ma sono alle primissime armi e non ho nessuno che mi spieghi!
__________________
Guitar Pub, il sito dedicato al mondo della chitarra e dei chitarristi... e il mio Spazio ------------------------------------ Ho trattato positivamente con: teosc |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
|
Quote:
io uso hibernate annotations e con quelle è possibile, non so se con l'XML sia possibile non specificare il nome di colonna ciao
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino. |
|
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Nov 2006
Messaggi: 33
|
java.lang.NoClassDefFoundError: org/hibernate/Session
Ciao!!!
Scusate l'intromissione, ma sto provando ad integrare con Hibernate un progetto già esistente e che faceva uso delle servlet di java. Il problema è che mi dà questo errore: java.lang.NoClassDefFoundError: org/hibernate/Session Ho visto che questo problema è dato dal fatto che non vengono importate le librerie... Io ce le ho sia in una cartella lib che importati nel progetto (che è su eclipse) Quale protrebbe essere il problema??? Grazie!!! Ciao ciao |
|
|
|
|
|
#11 |
|
Member
Iscritto dal: Nov 2006
Messaggi: 33
|
Ho risolto da sola
Praticamente le librerie le importavo sul progetto ma non nel classpath di tomcat... che stordita!!! Grazie a tutti!!! Buona giornata |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:56.




















