Toon posts:

[JSP] Bean kan geen statement bevatten?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een vreemd probleem.

Voor school moest ik vandaag een simpel JSP-paginaatje maken. De pagina moest een bean bevatten die metode kan uitvoeren op een database.

De bean is niks speciaals, gewoon een simpel java objectje.

Nu wil ik het volgende doen voordat ik verder g amet de "complexere" methode.

De bean heeft een methode geefAantalSpreuken().
Deze methode geeft aan het begin aantalSpreuken de waarde 2 (puur om te testen) en vervolgen gaat ie een SQL Select uitvoeren. Voor iedere record die die ontvangt wordt aantalspreuken verhoogt met 1.

Dit levert in JSP dus een nullpointerexception op.
Na even wat kloten weet ik waar deze vandaan komt:

als ik de regel stmt = deDatabaseConnectie.createStatement(); en de regels daaronder wordt weggecommentarieerd wordt er op het scherm '2' weergegeven. Doe ik dat niet dan krijg ik een nullpointerexception.

Hoe kan het dat ik de code " stmt = deDatabaseConnectie.createStatement(); " niet uit mag voeren.

Merci

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Je zult moeten uitzoeken of die 'deDatabaseConnectie' null is/was of de stmt die er uit rolt null is. En daarna de reden dat ze null waren, maar het is niet zo dat je die code niet uit "mag" voeren.

Verwijderd

Topicstarter
Het was inderdaad deDatabaseConnectie die op 1 of andere reden niet gestart werd. Daar heb ik nu een aparte methode voor aangemaakt, maar nu zegt hij "No suitable driver". Dit vind ik vreemd aangezien de bean geript is van een class waar alles het goed deed...:?

  • Cuball
  • Registratie: Mei 2002
  • Laatst online: 21-05 15:06
ik veronderstel dat de jdbc implementatie van je databank boer aan je project hebt toegevoegd ?

"Live as if you were to die tomorrow. Learn as if you were to live forever"


Verwijderd

Topicstarter
Ik werk met een snel in elkaar gekluste Acces Database. En maak dus verbinding met een JdbcOdbcDriver.

Nu heb ik het stukje om te connecten met de database in de jsp zelf gescript, en ook nu zegt ie dat er geen suitable driver is. Ik geef duidelijk aan wat de DSN is en welke driver gebruikt moet worden, maar connecten doet ie gewoon niet :?

  • Flax
  • Registratie: Oktober 2003
  • Laatst online: 30-01 17:51
[b][message=20847861,noline]
Nu heb ik het stukje om te connecten met de database in de jsp zelf gescript, en ook nu zegt ie dat er geen suitable driver is. Ik geef duidelijk aan wat de DSN is en welke driver gebruikt moet worden, maar connecten doet ie gewoon niet :?
Je krijgt wel de goede driver? Wat is je foutmelding?

het kan zijn dat de jar waarin in de classes staan om een database verbinding op te bouwen in het library path staan. Dit kan je eenvoudig testen door de classe gewoon expliciet in je code te gebruikern.

Verder moet je erom denken dat de security manager van applicatie server uit staat. Voor de rest zijn er volgens mij genoeg voorbeelden te vinden op het internet.

Wist je trouwens dat er ontwikkelomgevingen zijn waarin je dit kan debuggen?

(sorry dat ik niet duidelijker kan zijn, maar ik ben een tijdje uit het java wereldje ;) )

Verwijderd

Topicstarter
Dit is de code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<%@ page import = "java.sql.*" %>
<HTML>
<HEAD>
    <TITLE>
    TESTJSP
    </TITLE>
</HEAD>
<BODY>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection deDatabaseConnectie=DriverManager.getConnection("gelukskoekjes");
%>

</BODY>
</HTML>


en dit de foutmelding...

code:
1
2
3
4
5
6
7
8
9
10
javax.servlet.ServletException: No suitable driver
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.jsp.index3_jsp._jspService(index3_jsp.java:65)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

  • momania
  • Registratie: Mei 2000
  • Laatst online: 12:06

momania

iPhone 30! Bam!

Heb je die driver wel in je classpath staan, anders kan hij idd die driver niet vinden ;)

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Topicstarter
Deze reply is mischien wat laat, maar wilde toch laten weten dat alles gelukt is en hoe. Handig voor de volgende mensen die hetzelfde probleem ondervinden.

Allereerst wist ik niet dat ik de Jdbc:Odbc Driver in een aparte map moest zetten.

Ik heb nu dus in de map WEB-INF/lib het bestand rt.jar geplaats waarin de driver zich bevond.

Hiernaa werkte het nog niet. Hij gaf de fout dat de ODBC Manager de Datasource name niet kon vinden.

In windows heb ik de dns toen verplaatst van user-dns, naar system-dns. en voila!

allen bedankt.
Pagina: 1