[Java] Probleem met Tomcat & servlets

Pagina: 1
Acties:
  • 213 views sinds 30-01-2008

  • PietjePuk007
  • Registratie: Maart 2007
  • Laatst online: 01-12 17:35
Tweakers,

ik probeer via odbc een access 2007 (Bank.mdb) te benaderen maar dat lukt niet. Ik heb via eclipse een testprogrammaatje gemaakt en daarbij krijg ik wel toegang (de DNS lijkt dus goed te zitten). De Query klopt ook want ik heb deze dus ook getest.

De koppeling tussen html & servlet zit ook goed want als ik alleen platte data doorstuur krijg ik die wel op mijn servlet te zien.

Indien ik op de knop "submit" druk op m'n html-pagina probeert de pagina te laden maar verder gebeurt er niks. Bij platte data werkt het wel, het ligt dus aan het verschil tussen aanroepen in java & aanroepen via html en servlets.

Ik werk met Vista, Access 2007 & Tomcat 6.0

Iemand enig idee?

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class BankServlet extends HttpServlet
{
    private Statement statement;
    private Connection link;
    private String URL = "jdbc:odbc:Bank";
    
    public void init() throws ServletException
    {
        super.init();
        try
        {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            link = DriverManager.getConnection(URL, "", "");
        }
        catch(Exception e)
        {
            e.printStackTrace();
            System.exit(1);
        }
    }
    
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    {
        String reknr, password;
        
        reknr = request.getParameter("bankrekeningnummer");
        password = request.getParameter("password");
        
        response.setContentType("text/HTML");
        PrintWriter out = response.getWriter(); 
        
        out.println("<HTML>");
        out.println("<HEAD>");
        out.println("<TITLE>Welkom bij de bank</TITLE>");
        out.println("</HEAD>");
        out.println("<BODY>");
        out.println("<BR><BR><BR>");
        
        String selectAll = "SELECT * FROM Rekeningen";
        
        try
        {
            statement = link.createStatement(); 
            ResultSet results = statement.executeQuery(selectAll);

            statement.close();
    
            results.next();
            String database = results.getString(1);
            out.println("<CENTER><H1>Welkom, rekeningnummer");
            out.println(reknr + "</H1></CENTER>");
            out.println("<BR><H2>");
            out.println(database);
            out.println("</H2>");
            out.println("</BODY>");
            out.println("</HTML>");
            out.flush();
        }
        catch(SQLException f)
        {
            f.printStackTrace();
            out.flush();
            System.exit(1);
        }
        catch(Exception e)
        {
            out.flush();
            out.println("<CENTER><H1>Welkom, rekeningnummer");
            out.println(e + "</H1></CENTER>");
            out.println("<BR><H2>");
            out.println(e.toString());
            out.println("</H2>");
            out.println("</BODY>");
            out.println("</HTML>");
        }
        
    }
    
    public void destroy()
    {
        try
        {
            link.close();
        }
        catch(Exception e)
        {
            System.exit(1);
        }
    }
}

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 30-11 15:10

Creepy

Tactical Espionage Splatterer

Al aan het debuggen geslagen? "Gebeurt er niks" is nogal een vage omschrijving. Zet eens een breakpoint aan het begin van de doPost method en kijk eens wat er nu precies gebeurd.

"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


  • flowerp
  • Registratie: September 2003
  • Laatst online: 11-09 18:20
Denk je niet dat het feit dat er 'niets' gebeurd met het statement "System.exit(1);" te maken heeft?

Het is niet zo verstandig om in een application server of servlet container (wat tomcat is) dit te doen. Ik gok erop dat je de jar met de DB driver niet mee hebt gedeployed, dat er dan een exception komt, waarna je met bovengenoemde statement meteen maar de hele boel killed.

Ik zou om te beginnen het fragment

Java:
1
2
3
f.printStackTrace();
out.flush();
System.exit(1);


vervangen door iets van:

Java:
1
throw new ServletException(f);


Dan krijg je iniedergeval duidelijk op je scherm en in je log te zien dat er iets mis is. Als alles lekker loopt kun je je exception handling inrichten zoals jij dat wilt (en nee, ook dat niet de boel killen ;) )

It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.


  • PietjePuk007
  • Registratie: Maart 2007
  • Laatst online: 01-12 17:35
Dat is het probleem, ik krijg die plugin in Eclipse niet aan de gang vandaar dat ik het in Eclipse maak. De class-file kopieer ik dan naar de bestemde locatie en dan run ik.

Ik dacht dat het aan Vista zou liggen, maar dat is niet zo. Heb net alles hetzelfde gedaan (maar dan met Acces 2003, XP & Tomcat 5.5) op m'n andere laptop en werkt ook niet :'(.

HTMLfile ziet er zo uit
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<HTML>

<HEAD>
    <META Http-Equiv="Cache-Control" Content="no-cache">
    <META Http-Equiv="Pragma" Content="no-cache">
    <META Http-Equiv="Expires" Content="0"> 
    <TITLE>De Bank</TITLE>
</HEAD>

<BODY>
    <BR><BR><BR>

    <H1>Welkom bij de bank!</H1>
    <BR><BR><BR>

    <FORM METHOD="post" ACTION="BankServlet">
    <TABLE CELLSPACING="2" CELLPADDING="2" BORDER="0">
    <TR>
        <TD>Bankrekeningnummer:</TD>
        <TD><INPUT NAME="bankrekeningnummer" SIZE="30" VALUE="" TYPE="text"><BR></TD>
    </TR>
    
    <TR>
        <TD>Password:</TD>
        <TD><INPUT NAME="password" SIZE="30" VALUE="" TYPE="password"><BR></TD>
    </TR>
    <TR>
        <TD><INPUT type="submit" value="Inloggen"> 
        <INPUT type="reset" value="Reset">
    </TR>
</TABLE>
</FORM>



</BODY>
</HTML>

[ Voor 53% gewijzigd door PietjePuk007 op 29-05-2007 00:06 ]


  • PietjePuk007
  • Registratie: Maart 2007
  • Laatst online: 01-12 17:35
flowerp schreef op dinsdag 29 mei 2007 @ 00:03:
Denk je niet dat het feit dat er 'niets' gebeurd met het statement "System.exit(1);" te maken heeft?
Thanx, het heeft er in ieder geval mee te maken. Ik krijg een NullPointerException.

edit, eindelijk de excepties printen in IE.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
type Exception report
description The server encountered an internal error () that prevented it from fulfilling this request.

javax.servlet.ServletException: Servlet.init() for servlet BankServlet threw exception
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    java.lang.Thread.run(Unknown Source)


root cause 

java.lang.NullPointerException
    java.lang.Throwable.printStackTrace(Throwable.java:508)
    BankServlet.init(BankServlet.java:23)
    javax.servlet.GenericServlet.init(GenericServlet.java:212)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    java.lang.Thread.run(Unknown Source)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.

[ Voor 87% gewijzigd door PietjePuk007 op 29-05-2007 00:23 ]


  • ari3
  • Registratie: Augustus 2002
  • Niet online
Waarom wil je überhaupt Tomcat afsluiten als het laden van de database driver mislukt? System.exit aanroepen vanuit een servlet is niet echt de manier omdat het vrij bruut de JVM afsluit. Als je werkelijk Tomcat wil stoppen kun je beter de JMX-service aanroepen met een stop-commando zodat Tomcat zichzelf netjes afsluit.

Verder is het wel vreemd dat je een NPE krijgt. Regel 23 is inderdaad System.exit(1). Je zou denken dat daar geen NPE kan voorkomen. Ik zou een SecurityException verwachten ofzo.

"Kill one man, and you are a murderer. Kill millions of men, and you are a conqueror. Kill them all, and you are a god." -- Jean Rostand


  • PietjePuk007
  • Registratie: Maart 2007
  • Laatst online: 01-12 17:35
Ow sorry die code klopt natuurlijk niet meer. Hierbij de code die bij de exceptie hoort. Ik heb nav feedback direct de System.Exit eruit gegooid. Ik heb het trouwens uit het boek (daar deden ze het zo :P).
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class BankServlet extends HttpServlet
{
    private Statement statement;
    private Connection link;
    private String URL = "jdbc:odbc:Bank";
    
    public void init() throws ServletException
    {
        super.init();
        try
        {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            link = DriverManager.getConnection(URL, "", "");
        }
        catch(Exception e)
        {
            PrintWriter out = null;
            e.printStackTrace(out);
        }
    }
    
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    {
        String reknr, password;
        
        reknr = request.getParameter("bankrekeningnummer");
        password = request.getParameter("password");
        
        response.setContentType("text/HTML");
        PrintWriter out = response.getWriter(); 
        
        out.println("<HTML>");
        out.println("<HEAD>");
        out.println("<TITLE>Welkom bij de bank</TITLE>");
        out.println("</HEAD>");
        out.println("<BODY>");
        out.println("<BR><BR><BR>");
        
        String selectAll = "SELECT * FROM Rekeningen";
        
        try
        {
            statement = link.createStatement(); 
            ResultSet results = statement.executeQuery(selectAll);

            statement.close();
    
            results.next();
            String database = results.getString(1);
            out.println("<CENTER><H1>Welkom, rekeningnummer");
            out.println(reknr + "</H1></CENTER>");
            out.println("<BR><H2>");
            out.println(reknr);
            out.println("</H2>");
            out.println("</BODY>");
            out.println("</HTML>");
            out.flush();
        }
        catch(SQLException f)
        {
            f.printStackTrace(out);
        }
        catch(Exception e)
        {
            out.flush();
            out.println("<CENTER><H1>Welkom, rekeningnummer");
            out.println(e + "</H1></CENTER>");
            out.println("<BR><H2>");
            out.println(e.toString());
            out.println("</H2>");
            out.println("</BODY>");
            out.println("</HTML>");
            out.flush();
        }
    }
    
    public void destroy()
    {
        try
        {
            link.close();
        }
        catch(Exception e)
        {
            PrintWriter a = null;
            e.printStackTrace(a);
        }
    }
}

Verwijderd

De NullPointerException lijkt me vrij duidelijk. Wat is er null op regel 23...?

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

PietjePuk007 schreef op dinsdag 29 mei 2007 @ 13:00:
Ow sorry die code klopt natuurlijk niet meer. Hierbij de code die bij de exceptie hoort. Ik heb nav feedback direct de System.Exit eruit gegooid. Ik heb het trouwens uit het boek (daar deden ze het zo :P).
Java:
1
2
3
4
5
catch(Exception e)
        {
            PrintWriter out = null;
            e.printStackTrace(out);
        } 

Je doet enkel de declaratie van de variabele out; je dient deze nog te instantieren!
bv door er de writer van de response aan te hangen: response.getWriter();

Verwijderd

-FoX- schreef op dinsdag 29 mei 2007 @ 13:11:
Je doet enkel de declaratie van de variabele out; je dient deze nog te instantieren!
bv door er de writer van de response aan te hangen: response.getWriter();
Lekker didactisch verantwoord. Straks staat hier de vraag waarom het op regel nummer x fout gaat...

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Kijk eens naar:
Java:
1
2
PrintWriter out = null;
e.printStackTrace(out);


ofwel:
Java:
1
e.printStackTrace(null);

edit:

Laat maar, er waren een paar mensen me voor. :)

[ Voor 18% gewijzigd door JKVA op 29-05-2007 13:15 ]

Fat Pizza's pizza, they are big and they are cheezy


  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 30-11 11:20

voodooless

Sound is no voodoo!

Verwijderd schreef op dinsdag 29 mei 2007 @ 13:08:
De NullPointerException lijkt me vrij duidelijk. Wat is er null op regel 23...?
Java:
1
2
PrintWriter out = null;
e.printStackTrace(out); 


:+

Met andere woorden: het gaat fout bij Class.forName of de regel erna.

Do diamonds shine on the dark side of the moon :?


  • PietjePuk007
  • Registratie: Maart 2007
  • Laatst online: 01-12 17:35
-FoX- schreef op dinsdag 29 mei 2007 @ 13:11:
[...]

Java:
1
2
3
4
5
catch(Exception e)
        {
            PrintWriter out = null;
            e.printStackTrace(out);
        } 

Je doet enkel de declaratie van de variabele out; je dient deze nog te instantieren!
bv door er de writer van de response aan te hangen: response.getWriter();
Dat weet ik, maar ik moet de methode init() overschrijven (dus geen parameters meegeven). Naar mijn weten is dit de enige manier om de gehele stack te printen.

Verwijderd

voodooless schreef op dinsdag 29 mei 2007 @ 13:14:
Met andere woorden: het gaat fout bij Class.forName of de regel erna.
No shit Sherlock |:(

Diepe diepe *zucht*. Het gaat er natuurlijk om dat TS er wat van leert. Dat lukt niet bepaald als we met zijn allen het goede antwoord gaan geven.

  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 30-11 11:20

voodooless

Sound is no voodoo!

Nee, je print niets, aangezien je PrintWriter null is. Doe gewoon een normale stacktrace en check de logfile van je appserver.

Do diamonds shine on the dark side of the moon :?


  • PietjePuk007
  • Registratie: Maart 2007
  • Laatst online: 01-12 17:35
voodooless schreef op dinsdag 29 mei 2007 @ 13:14:
Met andere woorden: het gaat fout bij Class.forName of de regel erna.
Indien ik het gewoon zo doe

Java:
1
2
3
4
catch(Exception e)
        {
            e.printStackTrace();
        }


Krijg ik de volgende uitkomst:
Welkom, rekeningnummer java.lang.NullPointerException

java.lang.NullPointerException

Die printwriter is gewoon een noodoplossing om de hele exceptie te kunnen lezen.

[ Voor 6% gewijzigd door PietjePuk007 op 29-05-2007 13:21 ]


  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 30-11 11:20

voodooless

Sound is no voodoo!

Zoals ik zei: check de logfile en niet wat je browser uitspuugt.

Do diamonds shine on the dark side of the moon :?


  • PietjePuk007
  • Registratie: Maart 2007
  • Laatst online: 01-12 17:35
Allereerst dank voor jullie antwoorden, ik leer met de minuut :P.

Jullie hadden gelijk (duuh), de logfile:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
java.sql.SQLException: [Microsoft][ODBC-stuurprogrammabeheer] De naam van de gegevensbron is niet gevonden en er is geen standaardstuurprogramma opgegeven
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at BankServlet.init(BankServlet.java:18)
    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
    at BankServlet.destroy(BankServlet.java:87)
    at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1382)
    at org.apache.catalina.core.StandardWrapper.stop(StandardWrapper.java:1727)
    at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4486)
    at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:924)
    at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1180)
    at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1151)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:313)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1086)
    at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1098)
    at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448)
    at org.apache.catalina.core.StandardService.stop(StandardService.java:584)
    at org.apache.catalina.core.StandardServer.stop(StandardServer.java:744)
    at org.apache.catalina.startup.Catalina.stop(Catalina.java:616)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:591)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
java.sql.SQLException: [Microsoft][ODBC-stuurprogrammabeheer] De naam van de gegevensbron is niet gevonden en er is geen standaardstuurprogramma opgegeven
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at BankServlet.init(BankServlet.java:18)
    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)
java.sql.SQLException: [Microsoft][ODBC-stuurprogrammabeheer] De naam van de gegevensbron is niet gevonden en er is geen standaardstuurprogramma opgegeven
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073)
    at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at BankServlet.init(BankServlet.java:18)
    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
java.sql.SQLException: [Microsoft][ODBC-stuurprogrammabeheer] De naam van de gegevensbron is niet gevonden en er is geen standaardstuurprogramma opgegeven
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073)
    at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at BankServlet.init(BankServlet.java:18)
    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
java.lang.NullPointerException
    at BankServlet.destroy(BankServlet.java:79)
    at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1382)
    at org.apache.catalina.core.StandardWrapper.stop(StandardWrapper.java:1727)
    at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4486)
    at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3077)
    at org.apache.catalina.manager.ManagerServlet.reload(ManagerServlet.java:912)
    at org.apache.catalina.manager.HTMLManagerServlet.reload(HTMLManagerServlet.java:520)
    at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:113)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)
java.sql.SQLException: [Microsoft][ODBC-stuurprogrammabeheer] De naam van de gegevensbron is niet gevonden en er is geen standaardstuurprogramma opgegeven
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
    at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073)
    at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
    at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at BankServlet.init(BankServlet.java:18)
    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:806)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)

[ Voor 80% gewijzigd door PietjePuk007 op 29-05-2007 13:33 ]


  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 30-11 11:20

voodooless

Sound is no voodoo!

Is dat alles :? Dat is enkel de exception voor het "vernietigen" van het servlet, en niet voor de init()...

Do diamonds shine on the dark side of the moon :?


  • PietjePuk007
  • Registratie: Maart 2007
  • Laatst online: 01-12 17:35
voodooless schreef op dinsdag 29 mei 2007 @ 13:31:
Is dat alles :? Dat is enkel de exception voor het "vernietigen" van het servlet, en niet voor de init()...
Niet dus, er zijn vele soorten logs, had blijkbaar de verkeerde. Bovenstaande post aangepast.

  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 30-11 11:20

voodooless

Sound is no voodoo!

Oke, nu weet je de foutmelding en waar deze vandaan komt (regel 18) -> Oplossen dus!

[ Voor 4% gewijzigd door voodooless op 29-05-2007 13:36 ]

Do diamonds shine on the dark side of the moon :?


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 30-11 15:10

Creepy

Tactical Espionage Splatterer

Kan je nu uberhaupt al debuggen vanuit Eclipse? Dan loop je ook direct tegen dit soort fouten aan.
Daarnaast zijn de stacktraces toch behoorlijk duidelijk in aangeven wat en waar het nu precies mis gaat. Dit moet je dan toch wel zelf kunnen oplossen? Puur en alleen de foutmelding (of stacktrace) dumpen tesamen met je code en vragen wat er mis gaat is niet de bedoeling. Probeer eerst zelf eens te berenederen en te checken wat er nu mis gaat en waarom. Dan is het daarna vaak vrij eenvoudig om het zelf op te lossen.

Probeer het gewoon eens. Als het dan echt niet lukt dan kan je een nieuw topic openen. Meld dan in elk geval wat er mis gaat met de eventuele relevante (en dus niet alle!) code en wat je nu zelf hebt geprobeerd om het op te lossen.

"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

Pagina: 1

Dit topic is gesloten.