Problem bei JSP mit DB-Abfrage

ingo preuss

Mitglied
Hallo,
ich habe vor mit einer jsp-Datei eine Datenbankabfrage via JDBC zu machen. Die Datei sieht so aus:
Code:
   <%@page import="java.sql.*"%>
    <%@page import="java.sql.Connection" %>
    <%@page import="java.sql.Statement" %>
    <%@page import="java.sql.Statement" %>
   
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
   <html>
   <head>
   ...
   
   
   <%	
    	try {
    	
    		Class.forName("com.sybase.jdbc3.jdbc.Sybdriver");	 
    		
    	
 		Connection con = DriverManager.getConnection("jdbc:sybase:Tds:192.168.39.38:12000","user","pwd");
    		Statement stmt = con.createStatement();
    	    
 		ResultSet rs = stmt.executeQuery("select * from Gaestebuch order by Datum desc");		
    		
    		while(rs.next()) { 
    %>
   			<tr>
   				<td>
 					<font face="Verdana">
 		 		 <%=rs.getString("Datum")%>	 			
 		 		 <%=rs.getString("Nachname")%>
 		 		 <%=rs.getString("Email")%>
 		 		 <%=rs.getString("Nachricht")%>
 					</font>
   				</td>
   			</tr>
   <%
    		}	
    		
    		rs.close();
    		con.close();
    	} 
    	catch( Exception e) {
 		 		throw new Error("Verbindung ist nicht zustande gegommen: "+e.getMessage());
    	}
    %>
   </table>
   </body>
   </html>

Das Tomcat-Projekt liegt in ROOT, der Tomcat laeuft, doch die Daten koennen aus der DB nicht abgerufen werden. Falls ihr die Fehlermeldung braucht mailt mir bitte.

Gruß,
Ingo
 
ReHallo,

Und? Wie lautet die Fehlermeldung?
Sieht nach einem Problem beim Deployen der Anwendung aus. Hat Tomcat Zugriff auf alle erforderlichen Klassen? Insbesondere auf den JDBC-Treiber? Sind der Klassenname für den Treiber und die Parameter bei getConnection() korrekt angegeben? Wird die Seite überhaupt gefunden?

mfg

HUL
 
Hallo,
hier die Fehlermeldung:
Code:
    HTTP Status 500 - 
   
     type Exception report
   
    message 
   
    description The server encountered an internal error () that prevented it from fulfilling this request.
   
    exception 
   
    org.apache.jasper.JasperException: Unable to compile class for JSP
   	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
   	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:346)
   	org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:414)
   	org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
   	org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
   	org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
   	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
   	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
   	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:802)
    root cause 
   
    Unable to find a javac compiler;
   com.sun.tools.javac.Main is not on the classpath.
   Perhaps JAVA_HOME does not point to the JDK
  	org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:106)
   	org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:935)
   	org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:764)
   	org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:382)
   	org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
   	org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
   	org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
   	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
   	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
   	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:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
   
     Apache Tomcat/5.0.28

Was ich nicht begreife ist das Theater mit der javac. Der Pfad dorthin ist jedenfalls angegeben. Kann das evtl. damit in Zusammenhang stehn, das ich im Root-Verzeichnis einen separaten Ordner angegeben habe in dem das komplette TomCat-Projekt liegt?
Der aktuelle Pfad zur Datei guestbook.jsp:
Code:
  C:\Programme\Apache Software Foundation\Tomcat 5.0\webapps\ROOT\JspGuestbook
 
Zuletzt bearbeitet:
Hallo,

ich würde die Fehlermeldung zunächst mal wörtlich nehmen. Da wird der Java-Compiler nicht gefunden. Startest Du Tomcat von der Kommandozeile aus (startup.bat im Tomcat bin-Verzeichnis)? Wird der javac denn gefunden, wenn Du in einer Commandshell z. B. "javac -help" eingibst? Und was erhälst Du bei Engabe des Befehls "echo %JAVA_HOME%"? Hast Du evtl. Änderungen in den Startup-Scripts vorgenommen (startup.bat und/oder catalina.bat)?
Welche Tomcat-Version benutzt Du?
Das sind bisher leider auch nur Fragen, aber ich vermute, da kommt der Fehler irgendwo her.
 
Hallo!

Hier mal eine Beispielkonfiguration:
Java Installiert in:
C:\Programme\Java\jdk1.5.0_03

Umgebungsvariablen definieren:
JAVA_HOME -> C:\Programme\Java\jdk1.5.0_03
PATH -> .... %JAVA_HOME%\bin;.....

und schon sollte es wieder klappen ;-)

Gruß Tom
 
Ein Fehler geht der naechste kommt

Hallo,
der Tomcat tut endliche seinen Dienst ;o) Bin auch schon ganz gut mit den Fehlermeldungen klar gekommen. Jetzt krieg ich aber eine "
java.lang.ClassNotFoundException: com.sybase.jdbc3.jdbc.SybDriver", obwohl das externe jar ueber den JavaBuildPath eingebunden habe. Eclipse macht auch keine Anstalten, dass etwas fehlt. Die Fehlermeldung sieht wie folgt aus:
Code:
   exception 
  
   javax.servlet.ServletException: com.sybase.jdbc3.jdbc.SybDriver
  	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
  	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
  	org.apache.jsp.guestbook_jsp._jspService(guestbook_jsp.java:181)
  	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
  	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
  	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
  	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:802)
   root cause 
  
   java.lang.ClassNotFoundException: com.sybase.jdbc3.jdbc.SybDriver
  	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
  	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
  	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:148)
  	org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:69)
  	java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
  	java.lang.Class.forName0(Native Method)
  	java.lang.Class.forName(Class.java:141)
  	org.apache.jsp.guestbook_jsp._jspService(guestbook_jsp.java:137)
  	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
  	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
  	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
  	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:802)

Gruß, Ingo
 
Zurück