JSP MySQL connectie

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Tommasso
  • Registratie: Oktober 2007
  • Laatst online: 05-07 23:15
Beste tweakers,

Voor een schoolopdracht moet ik een dynamische website maken JSP. Om gegevens op te slaan moet ik verbinding maken met een MySQL database (het mag geen andere dbms zijn) en dat lukt mij niet:

Java Server Page:
1
2
3
4
5
6
<%
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName(driver).newInstance();
String url="jdbc:mysql://localhost/jsp?user=root&password=";
con=DriverManager.getConnection(url);
%>

Ik krijg de volgende foutmelding:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
An error occurred at line: 5 in the jsp file: /database.jsp
DriverManager cannot be resolved
2: String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
3: Class.forName(driver).newInstance();
4: String url="jdbc:mysql://localhost/jsp?user=root&password=";
5: con=DriverManager.getConnection(url);
6: %> 


Stacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:443)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:367)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:345)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:341)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:332)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

Uit deze foutmelding haal ik dat hij niet kan verbinden met de database. Maar alle gegevens kloppen zover ik weet:
- MySQL staat aan: check;
- root account bestaat en heeft geen wachtwoord en ALL PRIVILEGES: check;
- databaes jsp bestaat: check;
- mysql-connector-java-5.1.3-rc-bin.jar in de WEB-INF/lib/ map: check

Ik weet niet wat het probleem is, die errors praten veel maar zeggen weinig...
OS: WinXP x64
Server: tomcat in XAMPP v1.7.4

Alvast bedankt!

Acties:
  • 0 Henk 'm!

  • Foeijonghaai
  • Registratie: Juli 2001
  • Laatst online: 17-09 12:16
code:
1
2
An error occurred at line: 5 in the jsp file: /database.jsp
DriverManager cannot be resolved

Duidelijker dan dit kan niet ;-).


Vraag jezelf eens af:
- wat is resolven?
- in welke library of deel van het classpath staat DriverManager
- wat is volgens jou het classpath? (en die van je webapp)
- wat vind java/tomcat dat het classpath is
-etc

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 19:51

Creepy

Tactical Espionage Splatterer

Waarom gebruik je niet de "com.mysql.jdbc.Driver" driver? De sun.jdbc.odbc.JdbcOdbcDriver is een Oracle driver en die heb je uiteraard niet in je project zitten op dit moment. Elke MySQL/Java tutorial noemt de com.mysql.jdbc.Driver driver...... Dit staat ook in de documentatie van de MySQL JDBC driver (http://dev.mysql.com/doc/...tes-connect-drivermanager)

[ Voor 26% gewijzigd door Creepy op 13-09-2011 11:26 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
Creepy schreef op dinsdag 13 september 2011 @ 11:24:
Waarom gebruik je niet de "com.mysql.jdbc.Driver" driver? De sun.jdbc.odbc.JdbcOdbcDriver is een Oracle driver en die heb je uiteraard niet in je project zitten op dit moment.
JdbcOdbcDriver is geen Oracle driver, het is een driver voor (Windows) ODBC datasources (en zit standaard in Java).

Acties:
  • 0 Henk 'm!

  • Standeman
  • Registratie: November 2000
  • Laatst online: 10:01

Standeman

Prutser 1e klasse

Het is inderdaad een kwestie van de verkeerde driver. Dus download de mysql driver en zorg er voor dat hij tussen de libraries van je project staat.

Dan kan je hem (aan de hand van de juiste class) instantieren.

Nog een tip: hang wat exceptionhandling om je statements heen, dan is het vaak wat duidelijker wat er mis gaat.

The ships hung in the sky in much the same way that bricks don’t.


Acties:
  • 0 Henk 'm!

  • Remus
  • Registratie: Juli 2000
  • Laatst online: 15-08-2021
Aangezien DriverManager niet in de java.lang package zit, moet je deze expliciet importeren. Mijn JSP is een beetje roestig, maar je moet aan het begin van de JSP file iets zetten als
code:
1
<%@ page import="java.jdbc.DriverManager" %>


BTW: dit zou duidelijk in je studiemateriaal moeten staan, anders moet je toch echt bij je docent of begeleider aan de bel trekken.
Pagina: 1