Condividi:
Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!
Moderatori: Anthony47, Triumph Of Steel, archimede
di giack83 » 05/04/07 09:19
dovrei chiedere una cosa.....
allora io ho il mio database contenente dei dati.
In eclipse ho il file confing-face(principale) e ora dovrei creare una classe in java per collegarmi con il database......
ho visto del codice di esempio tipo questo:
- Codice: Seleziona tutto
Connection con = null;
PreparedStatement st = null;
ResultSet rs = null;
try {
con = PersistUtil.getConnection();
// recupero alcuni dati che mi servono, realtivi all'ultimo record relativo al servizio del dipendente indicato
st = con.prepareStatement(
"select desc_qualif, desc_ente from servizio " +
"\nwhere m1_mast_cod = ?" +
"\nand categoria_giuridica = ?" +
"\nand posizione_economica = ?" +
"\nand fine_servizio = to_date('01/01/2200', 'DD/MM/YYYY')"
);
st.setString(1, voce.getCodiceMaster());
st.setString(2, voce.getCategoriaGiuridica());
st.setString(3, voce.getPosizioneEconomica());
rs = st.executeQuery();
String descQualif = null;
String descEnte = null;
if (rs.next()) {
descQualif = rs.getString("desc_qualif");
descEnte = rs.getString("desc_ente");
}
rs.close();
st.close();
ma nn cè da scrivere anche l'indirizzo tipo C:\\....... e dare l'indirizzo del database ect??
Grazie.
-
giack83
- Utente Junior
-
- Post: 53
- Iscritto il: 22/11/04 16:50
- Località: forli-cesena
di pjfry » 05/04/07 09:30
probabilmente a ci pensa quella PersistUtil.getConnetion(), dipende da dove hai trovato l'esempio
qui ci sono un po' di esempi:
http://it.wikipedia.org/wiki/JDBC
-
pjfry
- Moderatore
-
- Post: 8240
- Iscritto il: 19/11/02 17:52
- Località: terni
di giack83 » 05/04/07 10:24
infatti,
pero PersistUtil.getConnetion() me la da sottolineata e dice "cannot be resolved"
xche??
-
giack83
- Utente Junior
-
- Post: 53
- Iscritto il: 22/11/04 16:50
- Località: forli-cesena
di infinito1971 » 12/04/07 12:37
Ciao giack,
visto che usi Java, perchè non provi ad utilizzare iBatis??
Io l'ho utilizzato in accoppiata con Struts e l'ho trovato a dir poco eccezionale...
Un saluto,
infinito1971
Questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!
-
infinito1971
- Utente Senior
-
- Post: 532
- Iscritto il: 01/08/02 21:22
- Località: Napoli
-
di giack83 » 16/04/07 07:39
Salve, scusa se ti rispondo solo ora...
cmq utilizzo Eclipse perche diciamo che son costretto ecco, effettuando il tirocinio devo utilizzare i programmi installati.....
-
giack83
- Utente Junior
-
- Post: 53
- Iscritto il: 22/11/04 16:50
- Località: forli-cesena
di infinito1971 » 16/04/07 10:07
Ciao giack,
certo, anch'io utilizzo Eclipse per sviluppare, il consiglio che ti ho dato per iBatis riguarda il mappaggio dei tuoi oggetti con il db...
Per capire meglio di cosa si tratta di consiglio di dare uno sguardo all'ottimo tutorial di Gian Lorenzo Meocci che puoi trovare
qui.
Un saluto,
infinito1971
Questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!
-
infinito1971
- Utente Senior
-
- Post: 532
- Iscritto il: 01/08/02 21:22
- Località: Napoli
-
di giack83 » 17/04/07 07:58
Ok grazie ora ci do una occhiata.....
-
giack83
- Utente Junior
-
- Post: 53
- Iscritto il: 22/11/04 16:50
- Località: forli-cesena
di giack83 » 17/04/07 09:29
Una domanda. Spero di farmi capire
Allora nel file "home.jsp" ho questo codice per la creazione di un pulsante:
- Codice: Seleziona tutto
<h:commandButton value="puls" actionListener="#{manager.test}"/>
dove in manager ho:
- Codice: Seleziona tutto
public void test(ActionEvent event) {
List l = PersistUtil.getElenco("select v from Via v", null, 100);
System.out.println(l.get(0));
}
dove a sua la classe manager ha il collegamento con "persistUtil.getElenco" dove c'è:
- Codice: Seleziona tutto
public static List getElenco(String selectQuery, List parametri, int maxResults) {
Session session = null;
try {
session = getSession();
if (session == null) return null;
Query qry = session.createQuery(selectQuery);
if (maxResults > 0) qry.setMaxResults(maxResults);
if (qry == null) {
log.error("Errore durante la lettura dell'elenco: la query è null");
return null;
}
else {
if (parametri != null) for (int currPar = 0; currPar < parametri.size(); currPar ++) qry.setParameter(currPar, parametri.get(currPar));
return qry.list();
}
} catch (Exception e) {
log.error(e); return null;
}
finally { try { session.close(); } catch (Exception e) { log.error(e); return null; } }
}
Nel mio local host di tomcat quando nella pagina clicco sul pulsante creato mi restituisce questo errore:
avax.servlet.ServletException: Exception while invoking expression #{manager.test}
javax.faces.webapp.FacesServlet.service(FacesServlet.java:154)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
ma perche?
-
giack83
- Utente Junior
-
- Post: 53
- Iscritto il: 22/11/04 16:50
- Località: forli-cesena
di pjfry » 17/04/07 10:04
hai un file che si chiama faces-config.xml? manager.java è un managed bean definito in quel file?
-
pjfry
- Moderatore
-
- Post: 8240
- Iscritto il: 19/11/02 17:52
- Località: terni
di giack83 » 17/04/07 10:11
allora dentro ad faces-confing ho:
- Codice: Seleziona tutto
<faces-config>
<application>
<locale-config>
<default-locale>it</default-locale>
</locale-config>
</application>
<managed-bean>
<managed-bean-name>manager</managed-bean-name>
<managed-bean-class>................Manager</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<navigation-rule>
<from-view-id>/pages/home.jsp</from-view-id>
<navigation-case>
<from-outcome>next</from-outcome>
<to-view-id>/pages/next.jsp</to-view-id><redirect />
</navigation-case>
</navigation-rule>
</faces-config>
-
giack83
- Utente Junior
-
- Post: 53
- Iscritto il: 22/11/04 16:50
- Località: forli-cesena
di pjfry » 17/04/07 10:28
uhm... boh!?
se invece di usare un actionListener usi una action dà lo stesso errore?
prova
- Codice: Seleziona tutto
<h:commandButton value="puls" action="#{manager.test}"/>
- Codice: Seleziona tutto
public String test() {
List l = PersistUtil.getElenco("select v from Via v", null, 100);
System.out.println(l.get(0));
return "";
}
-
pjfry
- Moderatore
-
- Post: 8240
- Iscritto il: 19/11/02 17:52
- Località: terni
di giack83 » 17/04/07 10:39
Ora mi dice:
- Codice: Seleziona tutto
javax.servlet.ServletException: Error calling action method of component with id form:_idJsp0
javax.faces.webapp.FacesServlet.service(FacesServlet.java:154)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
-
giack83
- Utente Junior
-
- Post: 53
- Iscritto il: 22/11/04 16:50
- Località: forli-cesena
di pjfry » 17/04/07 10:55
ma l'eccezione sono solo quelle 3 righe o c'è altro?
-
pjfry
- Moderatore
-
- Post: 8240
- Iscritto il: 19/11/02 17:52
- Località: terni
di giack83 » 17/04/07 11:04
Ti metto tutto:
- Codice: Seleziona tutto
EXCEPTION
javax.servlet.ServletException: Exception while invoking expression #{manager.test}
javax.faces.webapp.FacesServlet.service(FacesServlet.java:154)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
root cause
ROOT CAUSE
javax.faces.el.EvaluationException: Exception while invoking expression #{manager.test}
org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:156)
javax.faces.component.UICommand.broadcast(UICommand.java:89)
javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
root cause
ROOT CAUSE
java.lang.ExceptionInInitializerError
it.fc.cesena.comune.dativia.persistenza.PersistUtil.<clinit>(PersistUtil.java:28)
it.fc.cesena.comune.dativia.Manager.test(Manager.java:98)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)
javax.faces.component.UICommand.broadcast(UICommand.java:89)
javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
ROOT CAUSE
org.hibernate.InvalidMappingException: Could not parse mapping document from resource it/fc/cesena/comune/dativia/CatastoStradeComunali.hbm.xml
org.hibernate.cfg.Configuration.addResource(Configuration.java:569)
org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1587)
org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1555)
org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1534)
org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1508)
org.hibernate.cfg.Configuration.configure(Configuration.java:1428)
org.hibernate.cfg.Configuration.configure(Configuration.java:1414)
it.fc.cesena.comune.dativia.persistenza.PersistUtil.<clinit>(PersistUtil.java:24)
it.fc.cesena.comune.dativia.Manager.test(Manager.java:98)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)
javax.faces.component.UICommand.broadcast(UICommand.java:89)
javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
ROOT CAUSE
org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
org.hibernate.cfg.Configuration.addInputStream(Configuration.java:508)
org.hibernate.cfg.Configuration.addResource(Configuration.java:566)
org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1587)
org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1555)
org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1534)
org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1508)
org.hibernate.cfg.Configuration.configure(Configuration.java:1428)
org.hibernate.cfg.Configuration.configure(Configuration.java:1414)
it.fc.cesena.comune.dativia.persistenza.PersistUtil.<clinit>(PersistUtil.java:24)
it.fc.cesena.comune.dativia.Manager.test(Manager.java:98)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)
javax.faces.component.UICommand.broadcast(UICommand.java:89)
javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
ROOT CAUSE
org.dom4j.DocumentException: Error on line 8 of document : Element type "id" must be followed by either attribute specifications, ">" or "/>". Nested exception: Element type "id" must be followed by either attribute specifications, ">" or "/>".
org.dom4j.io.SAXReader.read(SAXReader.java:482)
org.hibernate.cfg.Configuration.addInputStream(Configuration.java:499)
org.hibernate.cfg.Configuration.addResource(Configuration.java:566)
org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1587)
org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1555)
org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1534)
org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1508)
org.hibernate.cfg.Configuration.configure(Configuration.java:1428)
org.hibernate.cfg.Configuration.configure(Configuration.java:1414)
it.fc.cesena.comune.dativia.persistenza.PersistUtil.<clinit>(PersistUtil.java:24)
it.fc.cesena.comune.dativia.Manager.test(Manager.java:98)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)
javax.faces.component.UICommand.broadcast(UICommand.java:89)
javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
-
giack83
- Utente Junior
-
- Post: 53
- Iscritto il: 22/11/04 16:50
- Località: forli-cesena
di pjfry » 17/04/07 11:21
L'eccezione devi leggerla fino in fondo: jsf ti dice che c'è un errore chiamando il metodo 'test', poi però ci sono altri errori che dipendono dall'inizializzazione di PersistUtil.
potrebbe essere questo:
- Codice: Seleziona tutto
org.dom4j.DocumentException: Error on line 8 of document : Element type "id" must be followed by either attribute specifications, ">" or "/>". Nested exception: Element type "id" must be followed by either attribute specifications, ">" or "/>".
un errore alla riga 8 del file CatastoStradeComunali.hbm.xml?
-
pjfry
- Moderatore
-
- Post: 8240
- Iscritto il: 19/11/02 17:52
- Località: terni
di giack83 » 17/04/07 11:31
l'errore di quella riga l'ho risolto, era un errore di spazi...
pero mi ricompare la stessa cosa in tomcat....
quindi è perche PersistUtil è inizializzato in modo errato?
-
giack83
- Utente Junior
-
- Post: 53
- Iscritto il: 22/11/04 16:50
- Località: forli-cesena
di pjfry » 17/04/07 11:37
direi di si, per esserne sicuro prova a togliere la chiamata a persistutil e lascia solo la system.out
-
pjfry
- Moderatore
-
- Post: 8240
- Iscritto il: 19/11/02 17:52
- Località: terni
di giack83 » 17/04/07 11:48
Ok appena posso provo. Se ho problemi poi domani mattina ti faccio sapere. Grazie.
-
giack83
- Utente Junior
-
- Post: 53
- Iscritto il: 22/11/04 16:50
- Località: forli-cesena
di giack83 » 18/04/07 07:57
Me lo hai tolto tu il messaggio sbagliato?
Cmq, allora ho tolto la chiamata ad PersistUtil ma pero nella system.out cè la variabile " L " che è relativa alla chiamata sopra.
QUindi mi da errore in system.out.......
-
giack83
- Utente Junior
-
- Post: 53
- Iscritto il: 22/11/04 16:50
- Località: forli-cesena
di pjfry » 18/04/07 08:35
beh insomma il metodo lo chiama, quindi non è un errore di faces.
a questo punto o ti metti a studiare hibernate (ancora non ho capito dove hai preso quella persistUtil ) oppure cambi il modo di gestire la persistenza
-
pjfry
- Moderatore
-
- Post: 8240
- Iscritto il: 19/11/02 17:52
- Località: terni
Torna a Programmazione
Topic correlati a "[JavaServerFaces] Aiuto inizio studio??":
Chi c’è in linea
Visitano il forum: Nessuno e 4 ospiti