|
|
|
![]() |
|
Strumenti |
![]() |
#21 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Ok,
ho scaricato il pacchetto consigliato da Jakarta "jakarta-taglibs-20050610.zip" ed è mooolto abbondante: ![]() Dentro la cartella standard ho le JSTL 1.1 (almeno questo è quello che dice il README): ![]() Ora sono confuso su come disporre i file ... ![]() ![]() ![]() Help che c'è la facciamo ![]() ![]() ![]()
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 10-06-2005 alle 16:11. |
![]() |
![]() |
![]() |
#22 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
AGGIORNAMENTO DELLA MIA SITUAZIONE
Mio "D:\www\public_html\WEB-INF\web.xml": Codice HTML:
<web-app> <servlet> <servlet-name>GreetingServlet</servlet-name> <servlet-class>GreetingServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>GreetingServlet</servlet-name> <url-pattern>/GreetingServlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>GreetingServletPost</servlet-name> <servlet-class>GreetingServletPost</servlet-class> </servlet> <servlet-mapping> <servlet-name>GreetingServletPost</servlet-name> <url-pattern>/GreetingServletPost</url-pattern> </servlet-mapping> <servlet> <servlet-name>QueryJdbc</servlet-name> <servlet-class>QueryJdbc</servlet-class> </servlet> <servlet-mapping> <servlet-name>QueryJdbc</servlet-name> <url-pattern>/QueryJdbc</url-pattern> </servlet-mapping> <taglib> <taglib-uri>http://java.sun.com/jstl/core</taglib-uri> <taglib-location>/WEB-INF/c.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/sql</taglib-uri> <taglib-location>/WEB-INF/sql.tld</taglib-location> </taglib> </web-app> Ho invece spostato qui il JAR "D:\www\public_html\WEB-INF\lib\jstl.jar". NUOVO ERRORE Codice:
type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:279) org.apache.jasper.compiler.TagLibraryInfoImpl.createValidator(TagLibraryInfoImpl.java:653) org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:246) org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:162) org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418) org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1543) org.apache.jasper.compiler.Parser.parse(Parser.java:126) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211) org.apache.jasper.compiler.ParserController.parse(ParserController.java:100) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146) org.apache.jasper.compiler.Compiler.compile(Compiler.java:286) org.apache.jasper.compiler.Compiler.compile(Compiler.java:267) org.apache.jasper.compiler.Compiler.compile(Compiler.java:255) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) root cause java.lang.ClassNotFoundException: org.apache.taglibs.standard.tlv.JstlCoreTLV org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1332) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181) org.apache.jasper.compiler.TagLibraryInfoImpl.createValidator(TagLibraryInfoImpl.java:649) org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:246) org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:162) org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418) org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1543) org.apache.jasper.compiler.Parser.parse(Parser.java:126) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211) org.apache.jasper.compiler.ParserController.parse(ParserController.java:100) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146) org.apache.jasper.compiler.Compiler.compile(Compiler.java:286) org.apache.jasper.compiler.Compiler.compile(Compiler.java:267) org.apache.jasper.compiler.Compiler.compile(Compiler.java:255) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 17-06-2005 alle 23:43. |
![]() |
![]() |
![]() |
#23 | |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1451
|
Quote:
__________________
Ciao ~ZeRO sTrEsS~ |
|
![]() |
![]() |
![]() |
#24 |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1451
|
Allora prendi i .tld e li metti in /WEB-INF e poi .jar rispettivi li metti in /WEB-INF/lib
E poi nel file web.xml metti una cosa così: <taglib> <taglib-uri>http://java.sun.com/jstl/sql</taglib-uri> <taglib-location>/WEB-INF/lib/sql.tld</taglib-location> </taglib> Deve funzionarti ![]()
__________________
Ciao ~ZeRO sTrEsS~ |
![]() |
![]() |
![]() |
#25 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
Ho aperto il c.tld e vedo che usa l'URI: http://java.sun.com/jsp/jstl/core Ho provato a rinominarlo così nel mio web.xml e nella mia JSP, ma niente ... ALLA FACCIAZZA DELLO STANDARD!!! SONO + CUSTOM CHE LE HARLEY DAVIDSON!!!! ![]() ![]() ![]() ![]() Vado a farmi 1 giro che è meglio ... altrimenti ![]()
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 10-06-2005 alle 16:13. |
|
![]() |
![]() |
![]() |
#26 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
... mi sa che qui il "lib" nel PATH non volevi metterlo. Ho anche aggiunto nel CLASSPATH (come suggerito da Jakarta) il mio jstl.jar. Adesso mi prendo veramente 1 pausa e vado a studiare Analisi 2, nel frattempo se qualche illuminato sa metter mano .... ![]()
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
![]() |
![]() |
![]() |
#27 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
VOLEVO SOLO METTERE IN EVIDENZA CHE
I file possibili da scaricare per ste cXXzo di JSTL sono: esclusivamente le JSTL http://mirrors.publicshout.org/apach...dard-1.1.2.zip tutte le librerie TAG comprese quelle JSTL http://cvs.apache.org/builds/jakarta...s-20050610.zip Miracolosamente i 2 file jstl.jar hanno dimensioni differenti. In teoria ci dovrebbe servire 5 min x installarle, ma invece niente (almeno per me). NO COMMENT.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 10-06-2005 alle 16:43. |
![]() |
![]() |
![]() |
#28 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Ho dovuto mettere in "lib" anche standard.jar ed ora il problema di classe non trovata è sormontato!!
Questo è il codice che voglio eseguire: Codice HTML:
<html> <head><title>JDBC with JSTL</title></head> <body> <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <sql:setDataSource driver="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/queryjdbc?user=root&password=cane" var="conn1" /> <sql:query var="persone" dataSource="${conn1}"> SELECT * FROM persone ORDER BY cf </sql:query> <table border=1 align="center"> <thead><th>Codice Fiscale </th><th>Nome </th><th>Cognome </th></thead> <tbody> <c:forEach var="row" items="${persone.rows}"> <tr> <td> <c:out value="${row.cf}"/> </td> <td> <c:out value="${row.name}"/> </td> <td> <c:out value="${row.cognome}"/> </td> </tr> </c:forEach> </tbody> </table> </body> </html> Codice:
exception javax.servlet.ServletException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver" org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781) org.apache.jsp.provajdbc1_jsp._jspService(org.apache.jsp.provajdbc1_jsp:105) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) root cause javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver" org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.getConnection(Unknown Source) org.apache.taglibs.standard.tag.common.sql.QueryTagSupport.doStartTag(Unknown Source) org.apache.jsp.provajdbc1_jsp._jspx_meth_sql_query_0(org.apache.jsp.provajdbc1_jsp:142) org.apache.jsp.provajdbc1_jsp._jspService(org.apache.jsp.provajdbc1_jsp:81) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 17-06-2005 alle 23:46. |
![]() |
![]() |
![]() |
#29 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Garantisco che il driver lo ho nella cartella "lib" e si chiama:
mysql-connector-java-3.1.8-bin.jar Tano è vero che con le DBTAGS funziona questo: Codice HTML:
<html> <head><title>JDBC with Tags</title></head> <body> <%@ taglib uri="http://jakarta.apache.org/taglibs/dbtags" prefix="sql" %> <sql:connection id="conn1"> <sql:url> jdbc:mysql://localhost/queryjdbc?user=root&password=cane </sql:url> <sql:driver> org.gjt.mm.mysql.Driver </sql:driver> </sql:connection> <table border=1 align="center"> <thead> <th>Codice Fiscale </th> <th>Nome </th> <th>Cognome </th> </thead> <tbody> <sql:statement id="stm1" conn="conn1"> <sql:query> SELECT * FROM persone ORDER BY cf </sql:query> <sql:resultSet id="rs1"> <tr> <td><sql:getColumn position="1"/></td> <td><sql:getColumn position="2"/></td> <td><sql:getColumn position="3"/></td> </tr> </sql:resultSet> </sql:statement> </tbody> </table> <%-- <sql:statement id="ins1" conn="conn1"> <sql:query> INSERT INTO persone VALUES('DDDDDD','Tony','Russo') </sql:query> <sql:execute ignoreErrors="true"/> </sql:statement> --%> <sql:closeConnection conn="conn1"/> </body> </html>
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 17-06-2005 alle 23:47. |
![]() |
![]() |
![]() |
#30 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Ho provato anche quest'altra sintassi:
<sql:setDataSource driver="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost/queryjdbc" user="root" password="MIAPWD" var="conn1" /> ... analizzando l'sql.tld, ma probabilemnte l'errore sta altrove. ![]()
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
![]() |
![]() |
![]() |
#31 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Secondo me questo:
java.sql.SQLException: No suitable driver è un BUG, perhè TOMCAT non può venirmi a dire che non c'è il driver dato che tutto quello che c'è in "lib" soprattutto in forma diJAR lui deve vederlo. Inoltre glielo ho aggiunto nel CLASSPATH ... ancora un po' compilo io bit a bit. IMPOSSIBILE anche che non si compili questo: Codice HTML:
<sql:setDataSource
var="conn1"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/queryjdbc"
user="root"
password="MIAPWD"
/>
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 21-06-2005 alle 17:40. |
![]() |
![]() |
![]() |
#32 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Altro che "cubo di kubrick"!!!
Ragazzi godetevi il weekend, ma se da lunedì mi date un'ulteriore mano vi ringrazierei molto. Anche solo pareri che poi ci penserò io a applicare. Adesso proverò i vari test: [1] Tutti i driver JDBC di MySQL [2] Mi butto su PostgreSQL
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
![]() |
![]() |
![]() |
#33 | ||
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
http://jdbc.postgresql.org/download.html Infatti mettendo il: postgresql-8.0-311.jdbc3.jar ottengo questa magnifica query [non fatta però ![]() ![]() Quote:
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
||
![]() |
![]() |
![]() |
#34 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Questo era il "perfetto" codice:
Codice HTML:
<html> <head><title>JDBC with JSTL</title></head> <body> <%@ taglib uri="http://jakarta.apache.org/taglibs/sql" prefix="sql" %> <%@ taglib uri="http://jakarta.apache.org/taglibs/c" prefix="c" %> <sql:setDataSource var="conn1" driver="org.postgresql.Driver" url="jdbc:postgresql://localhost/queryjdbc" user="postgres" password="cane" /> <sql:query var="persone" dataSource="${conn1}"> SELECT * FROM persone ORDER BY cf </sql:query> <table border=1 align="center"> <thead><th>Codice Fiscale </th><th>Nome </th><th>Cognome </th></thead> <tbody> <c:forEach var="row" items="${persone.rows}"> <tr> <td> <c:out value="${row.cf}"/> </td> <td> <c:out value="${row.name}"/> </td> <td> <c:out value="${row.cognome}"/> </td> </tr> </c:forEach> </tbody> </table> </body> </html>
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 17-06-2005 alle 23:48. |
![]() |
![]() |
![]() |
#35 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Cioè, guardate cosa sono stato costretto a fare:
http://forum.java.sun.com/thread.jspa?threadID=635379
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
![]() |
![]() |
![]() |
#36 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Forse qua la soluzione:
http://dev.mysql.com/doc/connector/j...at-config.html ma non capisco come configurare il server.xml ... e alla fine ho aggiunto dentro i TAG server questo: Codice HTML:
<Context path="www" docBase="D:\www\public_html"> <Resource name="jdbc/MySQLDB" auth="Container" type="javax.sql.DataSource"/> <!-- The name you used above, must match _exactly_ here! The connection pool will be bound into JNDI with the name "java:/comp/env/jdbc/MySQLDB" --> <ResourceParams name="jdbc/MySQLDB"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <!-- Don't set this any higher than max_connections on your MySQL server, usually this should be a 10 or a few 10's of connections, not hundreds or thousands --> <parameter> <name>maxActive</name> <value>10</value> </parameter> <!-- You don't want to many idle connections hanging around if you can avoid it, only enough to soak up a spike in the load --> <parameter> <name>maxIdle</name> <value>5</value> </parameter> <!-- Don't use autoReconnect=true, it's going away eventually and it's a crutch for older connection pools that couldn't test connections. You need to decide if your application is supposed to deal with SQLExceptions (hint, it should), and how much of a performance penalty you're willing to pay to ensure 'freshness' of the connection --> <parameter> <name>validationQuery</name> <value>SELECT 1</value> </parameter> <!-- The most conservative approach is to test connections before they're given to your application. For most applications this is okay, the query used above is very small and takes no real server resources to process, other than the time used to traverse the network. If you have a high-load application you'll need to rely on something else. --> <parameter> <name>testOnBorrow</name> <value>true</value> </parameter> <!-- Otherwise, or in addition to testOnBorrow, you can test while connections are sitting idle --> <parameter> <name>testWhileIdle</name> <value>true</value> </parameter> <!-- You have to set this value, otherwise even though you've asked connections to be tested while idle, the idle evicter thread will never run --> <parameter> <name>timeBetweenEvictionRunsMillis</name> <value>10000</value> </parameter> <!-- Don't allow connections to hang out idle too long, never longer than what wait_timeout is set to on the server...A few minutes or even fraction of a minute is sometimes okay here, it depends on your application and how much spikey load it will see --> <parameter> <name>minEvictableIdleTimeMillis</name> <value>60000</value> </parameter> <!-- Username and password used when connecting to MySQL --> <parameter> <name>username</name> <value>root</value> </parameter> <parameter> <name>password</name> <value>cane</value> </parameter> <!-- Class name for the Connector/J driver --> <parameter> <name>driverClassName</name> <value>com.mysql.jdbc.Driver</value> </parameter> <!-- The JDBC connection url for connecting to MySQL, notice that if you want to pass any other MySQL-specific parameters you should pass them here in the URL, setting them using the parameter tags above will have no effect, you will also need to use & to separate parameter values as the ampersand is a reserved character in XML --> <parameter> <name>url</name> <value>jdbc:mysql://localhost:3306/test</value> </parameter> </ResourceParams> </Context>
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 17-06-2005 alle 23:49. |
![]() |
![]() |
![]() |
#37 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Ma niente anche così lo script delle DBTAGS funziona, mentre quello delle JSTL no.
Oltre questo non so fare ....
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
![]() |
![]() |
![]() |
#38 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
UP!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
![]() |
![]() |
![]() |
#39 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Così dice l'unica repplica che ho avuto dagli States:
Quote:
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. Ultima modifica di Matrixbob : 17-06-2005 alle 23:56. |
|
![]() |
![]() |
![]() |
#40 | |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 9947
|
Quote:
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<< Più largo è il sorriso, più affilato è il coltello. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:22.