Bekijk Volledige Versie : tomcat en jdbc
Ik kom er niet uit, ik ben nu als 2 dagen bezig te proberen een jdbc driver
goed te installeren. Ik heb mysql-connector-java-3.1.10.zip nu al zowat
overal op mijn computer uitgepakt en de classpath iedere keer bijgewerkt,
maar dat helpt niet.
Ik dacht nu eindelijk een begrijpelijke handleiding te hebben gevonden op
http://dev.mysql.com/doc/connector/j/en/cj-tomcat-config.html, klopt de
informatie niet. Er wordt geschreven dat je server.xml in tomcat/conf moet
bewerken, maar dat kan niet met tomcat 5.9, daar moet je juist context.xml
bewerken. Helaas werkt de code zoals gegeven daar niet! (tomcat werkt niet
meer als je deze code in context.xml zet)
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/context.html
Weet iemand hoe het wel moet (liefst in lekentaal)?
Jammer ook dat de functie van databases in macromedia dreamweaver niet werkt
met jsp :-(
Ik heb met google gezocht en gezocht, maar er lijkt geen bruikbare oplossing
voor 'driver not found' te zijn.
SF
Tjerk Wolterink
10/10/05, 18:35
SF wrote:
> Ik kom er niet uit, ik ben nu als 2 dagen bezig te proberen een jdbc driver
> goed te installeren. Ik heb mysql-connector-java-3.1.10.zip nu al zowat
> overal op mijn computer uitgepakt en de classpath iedere keer bijgewerkt,
> maar dat helpt niet.
> Ik dacht nu eindelijk een begrijpelijke handleiding te hebben gevonden op
> http://dev.mysql.com/doc/connector/j/en/cj-tomcat-config.html, klopt de
> informatie niet. Er wordt geschreven dat je server.xml in tomcat/conf moet
> bewerken, maar dat kan niet met tomcat 5.9, daar moet je juist context.xml
> bewerken. Helaas werkt de code zoals gegeven daar niet! (tomcat werkt niet
> meer als je deze code in context.xml zet)
Je leest de verkeerde url, dit gaat over J2EE en MYSQL,
dat wil je niet, jij wil alleen de mysql jdbc driver werkend hebben.
> http://jakarta.apache.org/tomcat/tomcat-5.5-doc/config/context.html
Je hoeft niks in de context.xml aan te passen om een jdbc driver te laden.
> Weet iemand hoe het wel moet (liefst in lekentaal)?
> Jammer ook dat de functie van databases in macromedia dreamweaver niet werkt
> met jsp :-(
> Ik heb met google gezocht en gezocht, maar er lijkt geen bruikbare oplossing
> voor 'driver not found' te zijn.
> SF
>
>
http://java.sun.com/docs/books/tutorial/jdbc/basics/gettingstarted.html
Hier staat het wel zon beetje uitgelegd.
Waarom werkt het niet in joun geval?
Wat zijn de foutmeldingen?
"Tjerk Wolterink" <tjerk@wolterinkwebdesign.com> schreef
>
> Hier staat het wel zon beetje uitgelegd.
> Waarom werkt het niet in joun geval?
> Wat zijn de foutmeldingen?
geen idee dus, ik heb die mysql driver geïnstalleerd en werk vanuit
dreamweaver.
(vanuit jbuilder wordt alles automatisch aangemaakt, daar leer ik niks van)
Code:
<%
//Load the MySql Driver.
Class.forName("com.mysql.jdbc.Driver");
(geen verschil als er org.gjt.mm.mysql.Driver staat)
//Make the Connection to the database.
//Replace IP, Name, Username, Password to match your information.
java.sql.Connection
connection=java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/employee.gdb","<mijninlognaam>",
"<mijn wachtwoord>");
//Get SQL Statement.
//Replace TableName to your table's name.
java.sql.ResultSet rs=connection.createStatement().executeQuery("select *
from $TableName");
//Process results.
//Make sure your table has at least 1 column.
out.println("col count is "+rs.getMetaData().getColumnCount());
//Print the Results.
//Just get the first column's name of the table
String colName=rs.getMetaData().getColumnLabel(1);
out.println("col label is "+colName);
//For each row, get the first column and print it out
while(rs.next()){
Object o=rs.getObject(colName);
out.println(colName+" "+o);
}
%>
----------------
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it
from fulfilling this request.
exception
javax.servlet.ServletException: org/aspectj/lang/Signature
org.apache.jasper.runtime.PageContextImpl.doHandle PageException(PageContextImpl.java:848) org.apache.jasper.runtime.PageContextImpl.handlePa geException(PageContextImpl.java:781) org.apache.jsp.databasetest_jsp._jspService(org.ap ache.jsp.databasetest_jsp:
78) org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet .java:802) org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.servic
eJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet .java:802)root causejava.lang.NoClassDefFoundError: org/aspectj/lang/Signature java.lang.Class.forName0(Nativ
e Method) java.lang.Class.forName(Unknown Source) org.apache.jsp.databasetest_jsp._jspService(org.ap ache.jsp.databasetest_jsp:44) org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet .java:80
2) org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:241) javax.servlet.http.HttpServlet.se
rvice(HttpServlet.java:802)note The full stack trace of the root cause is available in the ApacheTomcat/5.5.9 logs.--------------------------------------------------------------------------------die sundriver heb ik niet (die van mysql is gratis), ik krij
g dan devolgende melding:javax.servlet.ServletException: [Microsoft][ODBC-stuurprogrammabeheer] Denaam van de gegevensbron is niet gevonden en er is geenstandaardstuurprogramma opgegeven, etcalvast bedankt voor het meedenken TjerkSFps als ik die driver in
een lib in de WEB-INF van de testmap neerzet krijgik de volgende foutmelding:javax.servlet.ServletException: Communications link failure due tounderlying exception:** BEGIN NESTED EXCEPTION **java.net.SocketExceptionMESSAGE: java.net.ConnectException: Co
nnection refused: connectSTACKTRACE:java.net.SocketException: java.net.ConnectException: Connection refused:connect atcom.mysql.jdbc.StandardSocketFactory.connect(Sta ndardSocketFactory.java:156) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:283) at com.my
sql.jdbc.Connection.createNewIO(Connection.java:25 41) at com.mysql.jdbc.Connection.<init>(Connection.java:1474) atcom.mysql.jdbc.NonRegisteringDriver.connect(NonR egisteringDriver.java:264) at java.sql.DriverManager.getConnection(Unknown Source) at java.sq
l.DriverManager.getConnection(Unknown Source) atorg.apache.jsp.databasetest_jsp._jspService(org. apache.jsp.databasetest_jsp:49) at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet .jav
a:802) atorg.apache.jasper.servlet.JspServletWrapper.serv ice(JspServletWrapper.java:322) at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:291) at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:241) at javax.servlet.http
.HttpServlet.service(HttpServlet.java:802) atorg.apache.catalina.core.ApplicationFilterChain. internalDoFilter(ApplicationFilterChain.java:252) atorg.apache.catalina.core.ApplicationFilterChain. doFilter(ApplicationFilterChain.java:173) atorg.apache.catalin
a.core.StandardWrapperValve.invoke(StandardWrapper Valve.java:213) atorg.apache.catalina.core.StandardContextValve.in voke(StandardContextValve.java:178) atorg.apache.catalina.core.StandardHostValve.invok e(StandardHostValve.java:126) atorg.apache.catalina.v
alves.ErrorReportValve.invoke(ErrorReportValve.jav a:105) atorg.apache.catalina.core.StandardEngineValve.inv oke(StandardEngineValve.java:107) atorg.apache.catalina.connector.CoyoteAdapter.serv ice(CoyoteAdapter.java:148) atorg.apache.coyote.http11.Http11Pro
cessor.process(Http11Processor.java:856) atorg.apache.coyote.http11.Http11Protocol$Http11Co nnectionHandler.processConnection(Http11Protocol.j ava:744) atorg.apache.tomcat.util.net.PoolTcpEndpoint.proce ssSocket(PoolTcpEndpoint.java:527) atorg.apache.tomcat.
util.net.LeaderFollowerWorkerThread.runIt(LeaderFo llowerWorkerThread.java:80) atorg.apache.tomcat.util.threads.ThreadPool$Contro lRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Unknown Source)** END NESTED EXCEPTION **Last packet sent to the ser
ver was 15 ms ago. org.apache.jasper.runtime.PageContextImpl.doHandle PageException(PageContextImpl.java:848) org.apache.jasper.runtime.PageContextImpl.handlePa geException(PageContextImpl.java:781) org.apache.jsp.databasetest_jsp._jspService(org.ap ache.jsp
.databasetest_jsp:78) org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet .java:802) org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:322) org.apache.jasper.servlet
.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet .java:802)root causecom.mysql.jdbc.CommunicationsException: Communications link failure due
tounderlying exception:** BEGIN NESTED EXCEPTION **java.net.SocketExceptionMESSAGE: java.net.ConnectException: Connection refused: connect
Tjerk Wolterink
10/10/05, 20:35
SF wrote:
> "Tjerk Wolterink" <tjerk@wolterinkwebdesign.com> schreef
>
>>Hier staat het wel zon beetje uitgelegd.
>>Waarom werkt het niet in joun geval?
>>Wat zijn de foutmeldingen?
>
>
> geen idee dus, ik heb die mysql driver geïnstalleerd en werk vanuit
> dreamweaver.
Zonder foutmeldingen kun je niet veel,
kijk eens in de logs van tomcat.
> (vanuit jbuilder wordt alles automatisch aangemaakt, daar leer ik niks van)
>
> Code:
> <%
> //Load the MySql Driver.
> Class.forName("com.mysql.jdbc.Driver");
> (geen verschil als er org.gjt.mm.mysql.Driver staat)
> //Make the Connection to the database.
>
> //Replace IP, Name, Username, Password to match your information.
> java.sql.Connection
> connection=java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/employee.gdb","<mijninlognaam>",
> "<mijn wachtwoord>");
>
> //Get SQL Statement.
> //Replace TableName to your table's name.
>
> java.sql.ResultSet rs=connection.createStatement().executeQuery("select *
> from $TableName");
$TableName ??? Die moet natuurlijk wel ingevuld worden.
Het is geen php.
>
> //Process results.
> //Make sure your table has at least 1 column.
> out.println("col count is "+rs.getMetaData().getColumnCount());
>
> //Print the Results.
> //Just get the first column's name of the table
> String colName=rs.getMetaData().getColumnLabel(1);
> out.println("col label is "+colName);
>
> //For each row, get the first column and print it out
> while(rs.next()){
> Object o=rs.getObject(colName);
> out.println(colName+" "+o);
> }
> %>
> ----------------
> HTTP Status 500 -
>
> --------------------------------------------------------------------------------
>
> type Exception report
>
> message
>
> description The server encountered an internal error () that prevented it
> from fulfilling this request.
>
> exception
>
> javax.servlet.ServletException: org/aspectj/lang/Signature
> org.apache.jasper.runtime.PageContextImpl.doHandle PageException(PageContextImpl.java:848) org.apache.jasper.runtime.PageContextImpl.handlePa geException(PageContextImpl.java:781) org.apache.jsp.databasetest_jsp._jspService(org.ap ache.jsp.databasetest_js
p:78) org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet .java:802) org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serv
iceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet .java:802)root causejava.lang.NoClassDefFoundError: org/aspectj/lang/Signature java.lang.Class.forName0(Nat
ive Method) java.lang.Class.forName(Unknown Source) org.apache.jsp.databasetest_jsp._jspService(org.ap ache.jsp.databasetest_jsp:44) org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:97) javax.servlet.http.HttpSe
rvlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)note The full stack trace of the root cause is available in the ApacheTomcat/5.5.9 logs.--------------------------------------------------------------------------------die sundriver heb ik niet (
die van mysql is gratis), ik krijg dan devolgende melding:javax.servlet.ServletException: [Microsoft][ODBC-stuurprogrammabeheer] Denaam van de gegevensbron is niet gevonden en er is geenstandaardstuurprogramma opgegeven, etcalvast bedankt voor het meedenk
en TjerkSFps als ik die driver in een lib in de WEB-INF van de testmap neerzet krijgik de volgende foutmelding:javax.servlet.ServletException: Communications link failure due tounderlying exception:** BEGIN NESTED EXCEPTION *
*java.net.SocketExceptionMESSAGE: java.net.ConnectException: Connection refused: connectSTACKTRACE:java.net.SocketException: java.net.ConnectException: Connection refused:connect atcom.mysql.jdbc.StandardSocketFactory.connect(Sta ndardSocketFactory.java:15
6) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:283) at com.mysql.jdbc.Connection.createNewIO(Connection.j ava:2541) at com.mysql.jdbc.Connection.<init>(Connection.java:1474) atcom.mysql.jdbc.NonRegisteringDriver.connect(NonR egisteringDriver.java:264) at
java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) atorg.apache.jsp.databasetest_jsp._jspService(org. apache.jsp.databasetest_jsp:49) at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.jav
a:97) at javax.servlet.http.HttpServlet.service(HttpServlet .java:802) atorg.apache.jasper.servlet.JspServletWrapper.serv ice(JspServletWrapper.java:322) at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:29
1) at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:241) at javax.servlet.http.HttpServlet.service(HttpServlet .java:802) atorg.apache.catalina.core.ApplicationFilterChain. internalDoFilter(ApplicationFilterChain.java:252) atorg.apache.catali
na.core.ApplicationFilterChain.doFilter(Applicatio nFilterChain.java:173) atorg.apache.catalina.core.StandardWrapperValve.in voke(StandardWrapperValve.java:213) atorg.apache.catalina.core.StandardContextValve.in voke(StandardContextValve.java:178) atorg.apac
he.catalina.core.StandardHostValve.invoke(Standard HostValve.java:126) atorg.apache.catalina.valves.ErrorReportValve.invo ke(ErrorReportValve.java:105) atorg.apache.catalina.core.StandardEngineValve.inv oke(StandardEngineValve.java:107) atorg.apache.catalina
.connector.CoyoteAdapter.service(CoyoteAdapter.jav a:148) atorg.apache.coyote.http11.Http11Processor.process (Http11Processor.java:856) atorg.apache.coyote.http11.Http11Protocol$Http11Co nnectionHandler.processConnection(Http11P
rotocol.java:744) atorg.apache.tomcat.util.net.PoolTcpEndpoint.proce ssSocket(PoolTcpEndpoint.java:527) atorg.apache.tomcat.util.net.LeaderFollowerWorkerT hread.runIt(LeaderFollowerWorkerThread.java:80) atorg.apache.tomcat.util.threads.ThreadPool$Contro lRun
nable.run(ThreadPool.java:684) at java.lang.Thread.run(Unknown Source)** END NESTED EXCEPTION **Last packet sent to the server was 15 ms ago. org.apache.jasper.runtime.PageContextImpl.doHandle PageException(PageContextImpl.java:848) org.apache.jasper.runti
me.PageContextImpl.handlePageException(PageContext Impl.java:781) org.apache.jsp.databasetest_jsp._jspService(org.ap ache.jsp.databasetest_jsp:78) org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:97) javax.servlet.http.HttpServlet.service(Http
Servlet.java:802) org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspSe rvle
t.java:241) javax.servlet.http.HttpServlet.service(HttpServlet .java:802)root causecom.mysql.jdbc.CommunicationsException: Communications link failure due tounderlying exception:** BEGIN NESTED EXCEPTION **java.net.SocketExceptionMESSAGE: java.net.ConnectE
xception: Connection refused: connect
Kijk dit is de foutmelding,
een ServletException, waarschijnlijk staat er in je tomcat log nogmeer.
org.aspectj.lang.Signature is geen Exceptie, mischien kan die deze
klasse niet vinden??
Hoe dan ook: check je logs.
"Tjerk Wolterink" <tjerk@wolterinkwebdesign.com> schreef
>
>
> $TableName ??? Die moet natuurlijk wel ingevuld worden.
> Het is geen php.
>
al ingevuld, geen verschil
> Kijk dit is de foutmelding,
> een ServletException, waarschijnlijk staat er in je tomcat log nogmeer.
volgens mij is de fout dat je daar niet die driver moet planten, waar heb
jij hem gezet? Waar zet ik de src map van dat programma?
mysql staat in de wamp map (php), niet in tomcat, ik denk dat daar misschien
een fout zit. Ga ik me nu in verdiepen
SF