# JSTL SQL Driver?



## Wodan (1. Sep 2008)

hi,

kurz und pregnant.

Ich übe nun mit der JSTL da diese nun wunderbar funktioniert. Jetzt wollte ich mit der sql-bibliothek üben aber nun habe ich ein Verständnisproblem.

Das schwerste scheint mir die Verbindung aufzubauen mit der DB.

Ein Beispiel:
<sql:setDataSource driver="org.hsqldb.jdbcDriver" 
                         url="jdbc:hsqldb:file:/var/hsqldb/example_db"
                         user="sa" 
                         password="" 
                         var="exampleDS" 
                         scope="request" />

nun habe ich keine ahnung was driver?, url? sein soll...

Ich hab meine Test-Datenbank bei mysql. 

user & password sind natürlich bekannt aber url & driver sagt mir nichts und ich weiß nun auch nicht direkt weiter. Hab nach ein wenig Forschung gelesen das man solche Connector laden kann aber was damit tun ??

mfg wodan

ps. Ist wohl so einfach aber man muss alles halt einmal gemacht haben damit man es versteht *g*


----------



## SnooP (2. Sep 2008)

Das ist ganz normales JDBC - guck einfach mal bei mysql auf deren seiten nach dem java-driver... sprich jdbc-driver (oder auch googlen). Dann gibts mit Sicherheit auch den Hinweis zum JDBC-Connection-String... ... Driver ist die konkrete Klasse des Treibers, der in einem Jar-File des Classpath vom Tomcat liegen muss... also z.B. in /server/libs oder auch in deinem WEB-INF/libs Verzeichnis deiner Anwendung...

aaaber... JSTL und SQL-Tags... maximal für Rapid-Prototyping verwenden... und bessre noch... mach es gar nicht erst  - Wenn du erstmal SQL auf deiner Seite hast, kannst du auch gleich wieder mit PHP entwickeln


----------



## Wodan (2. Sep 2008)

Den Connector/J hab ich nun  

Jetzt hab ich die mysql-connector-java-[ver]-bin.jar in sämtliche Ordner kopiert *g* nun müsste ich es nur noch richtig verwenden^^

<sql:setDataSource driver="com.mysql.jdbc.Driver" 
                         url="jdbc:mysql://localhost:8080/test"
                         user="meinUsername" 
                         password="meinPw" 
                         var="exampleDS" 
                         scope="request" 
/>

Meine url kann niemals stimmen oda? Jedenfalls bekomme ich eine Fehlermeldung.

mfg wodan


----------



## byte (2. Sep 2008)

MySQL wird sicher nicht auf Port 8080 laufen. Das ist der Standardport für den Tomcat. Wenn ich mich recht erinnere, ist 3306 der Standardport von MySQL.


----------



## Wodan (2. Sep 2008)

Mit 3306 funktioniert es auch nicht.


----------



## maki (2. Sep 2008)

Hast du denn einen MySQL Server installiert?


----------



## Wodan (2. Sep 2008)

Ja den mysql server 5.0 ich denke jedoch das ich den connector/j noch nicht richtig installiert habe. Ihn einfach in sämtliche Ordner zu kopieren reicht wohl nicht aus. 

http://dev.mysql.com/doc/refman/5.1...notes-j2ee.html#connector-j-usagenotes-tomcat

Das lese ich momentan aber das was unter Tomcat steht einfach in die server.xml zu kopieren funktioniert nicht weil die xml dann unbrauchbar wird und das mit dem Classpath blick ich grad nicht weil ich nicht weiß welchen pfad ich da nun angeben soll. 

Fragen über Fragen aber eine perfekte Antwort gibts nicht. Einen Classpath setzten steht bis jetzt in jedem tutorial zur Installation von einem Connector/ Driver aber wie setzte ich den richtigen Classpath? Bei java hat es ja auch funktioniet aber da wusste ich den Pfad :/


----------



## maki (2. Sep 2008)

> denke jedoch das ich den connector/j noch nicht richtig installiert habe. Ihn einfach in sämtliche Ordner zu kopieren reicht wohl nicht aus.


Es reicht ihn *einmal* an die richtige Stelle zu kopieren, WEB-INF/lib, sind Servlet Grundlagen.

Du könntest ja auch mal ins Log sehen, dort wird die Ursache des Problems stehen.

Den Link den du postests handelt von einer Container Managed Datasource, hat nix mit dem was du willst zu tun.



> Fragen über Fragen aber eine perfekte Antwort gibts nicht.


Sind alles Anfängerfragen von einem Anfänger der die Doku nicht gelesen hat


----------



## Wodan (2. Sep 2008)

Hab die .jar im WEB-INF/lib funktioniert dennoch nicht.


----------



## maki (2. Sep 2008)

Solange du nur "funktioniert nicht" sagst und fragen nach dem log ignorierst kommen wir hier nicht weiter.

Die meisten Leute haben Probleme MySQL Nutzer anzulegen mit dem sie sich danach auch anmelden können.


----------



## Wodan (3. Sep 2008)

02.09.2008 15:54:35 org.apache.catalina.core.StandardWrapperValve invoke
SCHWERWIEGEND: Servlet.service() for servlet jsp threw exception
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1363)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.taglibs.standard.tag.common.sql.DataSourceWrapper.setDriverClassName(DataSourceWrapper.java:46)
at org.apache.taglibs.standard.tag.common.sql.SetDataSourceTagSupport.doStartTag(SetDataSourceTagSupport.java:102)
at org.apache.jsp.WebContent.index_jsp._jspx_meth_sql_005fsetDataSource_005f0(index_jsp.java:506)
at org.apache.jsp.WebContent.index_jsp._jspService(index_jsp.java:154)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:834)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
at java.lang.Thread.run(Unknown Source)


----------



## Wodan (3. Sep 2008)

ROFL^^ jetzt kommt keine Fehlermeldung mehr. Vielleicht hätte ich gestern zwischendurch mal den PC Neustarten sollen.
edit: Ich habe es geschafft  YEah.. Daten aus der Datenbank kann ich nun auf meiner Seite darstellen *g*


----------

