Avatar billede rbuus Nybegynder
13. december 2001 - 14:31 Der er 10 kommentarer og
1 løsning

NullPointerException

Hvorfor kan jeg ikke gøre nedenstående uden at få en NullPointerException. Metoderne open(), doQuery() ligger i en bønne \'DbHandler\'. Kalder jeg den forkert eller hvad??

<jsp:useBean id=\"DB\" class=\"db.DbHandler\"/>
<%@ page import = \"java.sql.*\"%>
<%@page import = \"db.*;\"%>
<% String knr = request.getParameter(\"knr\");
  String knavn = request.getParameter(\"knavn\");
  String ktlf = request.getParameter(\"ktlf\");

DB.open(\"org.gjt.mm.mysql.Driver\",\"jdbc:mysql://212.10.183.149/test_bay\",\"\",\"\");
ResultSet rs = DB.doQuery(\"Select * from kunder\");
while (rs.next()){
    out.println(rs.getString(\"knavn\"));
}
%>

Jeg får følgende fejl:

500 Servlet Exception
java.lang.NullPointerException
    at _test8__jsp._jspService(/test8.jsp:22)
    at com.caucho.jsp.JavaPage.service(JavaPage.java:74)
    at com.caucho.jsp.Page.subservice(Page.java:485)
    at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:176)
    at com.caucho.server.http.Invocation.service(Invocation.java:278)
    at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:129)
    at com.caucho.server.http.ServletServer.serviceTop(ServletServer.java:847)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:213)
    at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:158)
    at com.caucho.server.TcpConnection.run(TcpConnection.java:140)
    at java.lang.Thread.run(Thread.java:484)

Avatar billede disky Nybegynder
13. december 2001 - 14:34 #1
hvad står der i linie 22 i din test8.jsp fil ?
Avatar billede rbuus Nybegynder
13. december 2001 - 14:36 #2
Der står: while (rs.next()){
Avatar billede disky Nybegynder
13. december 2001 - 14:39 #3
prøv med:

if(DB.open(\"org.gjt.mm.mysql.Driver\",\"jdbc:mysql://212.10.183.149/test_bay\",\"\",\"\"))
{
ResultSet rs = DB.doQuery(\"Select * from kunder\");
while (rs.next()){
    out.println(rs.getString(\"knavn\"));
}
}

forudsat din DB.open returnerer en boolean ud fra om det er gået godt eller ej
Avatar billede rbuus Nybegynder
13. december 2001 - 14:44 #4
Ok, nu får jeg ikke længere end fejl, men mine kunder bliver heller ikke skrevet ud.
Avatar billede disky Nybegynder
13. december 2001 - 14:48 #5
netop.

det skyldes du ikke får en funktionerende database forbindelse via din open() metode.

Prøv at se om der sker en exception i den metode.
Avatar billede rbuus Nybegynder
13. december 2001 - 14:59 #6
Jeg er klar over der sker en exception, men jeg kan ikke se hvilke eller få den skrevet ud.
Jeg forstår bare ikke at jeg ikke kan få forbindelse til databasen via en jsp side. Da jeg skulle ha forbindelse til databasen via brug af ren javakode var det ikke noget problem. Så måske jeg anvender min bønne forkert.
Avatar billede disky Nybegynder
13. december 2001 - 15:31 #7
kan din jsp server se din database driver fil ?

Du kan sagtens connecte fra en JSP side til database.


I alle dine catch lav en printStackTrace på din exception variable
Avatar billede rbuus Nybegynder
13. december 2001 - 15:45 #8
Der står følgende i hver catch:

catch (SQLException e)
        {
            e.printStackTrace(System.out);
            return false;
        }

Hvordan undersøger jeg om jsp server kan se min database driver fil??
Avatar billede disky Nybegynder
13. december 2001 - 15:46 #9
ser på det dine exceptions udskriver.

kig i din stdout.log fil
Avatar billede rbuus Nybegynder
13. december 2001 - 16:04 #10
Jeg har ikke nogen logfil der hedder stdout.log.

I min error-log er der ingen fejl
Avatar billede disky Nybegynder
14. december 2001 - 09:38 #11
har du specifikt sagt til resin at du ikke ønsker en stdout.log fil ??

Start evt. resin fra en commandprompt så udskriver den stdout i samme vindue.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I går 23:37 Poe strøm Af lurup i LAN/WAN
I går 14:46 GIF-EDITOR Af snestrup2000 i Billedbehandling
I går 14:03 Logge ind Af Bob i PC
I går 12:12 2 skærme - 1 virker - den anden siger No signal Af eksmojo i Skærme
I går 10:33 openvpn projekt Af dcedata1977 i Windows