Hallo zusammen
Ich habe ein kleines Problem. Ich habe eine kleine Klasse übernommen, welche eine DB Abfrage durchführt:
Wenn ich diese nun aus einem anderen Java Prgramm aufrufe, funktioniert sie tadellos :toll:! Wenn ich sie allerdings über einen Webbrowser mittels einer jsp Routine aufrufe, dann klappt das nicht mehr
.
Ich habe eine Klasse geschrieben, mit welcher ich sowohl direkt als auch über jsp die Methode MeineFunktion() aufrufen kann:
Konkret: Mittels der main() Methode klappe es, mittels der tester() Methode bekomme ich den folgenden Fehler: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver. Natürlich ist das Verhalten dasselbe, wenn ich nicht über testClass sondern direkt vom jsp MeineBean ansteuere.
Das Class-File MeineBeans liegt ordnungsgemäss im Verzeichnis des Tomcat, das Ausführen von Zahlen grösser 9 klappt ja auch.
Kann mir jemand helfen? :rtfm:
Danke Euch.
Viele Grüse
Caspair
Ich habe ein kleines Problem. Ich habe eine kleine Klasse übernommen, welche eine DB Abfrage durchführt:
Java:
package Function;
import java.sql.*;
public class MeineBean {
public static String meineFunktion( String s )
{
if(s.length()>=2){
System.out.println(s + " ist grösser gleich 10");
try {
int i = Integer.parseInt( s );
s = "" + (i * i);
return s;
} catch( Exception ex ) {
s = "Fehler, bitte Zahl eingeben!";
return s;
}
}
else{
System.out.println(s + " ist kleiner 10");
try{
System.out.println("In try");
Class.forName("com.mysql.jdbc.Driver")/*.newInstance()*/;
System.out.println("Class ok");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/Qualdratzahlen","root","**********");
System.out.println("DB Connection erfolgreich");
con.setReadOnly(true);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("Select quadratzahl from quadratzahlen where zahl=" + s);
while(rs.next()){
s = rs.getString(1);
//System.out.println(s);
}
rs.close();
stmt.close();
con.close();
}catch(Exception e){
System.out.println("FEHLERMELDUNG --> " + e);
s = e.toString();
}
}
return s;
}
}
Wenn ich diese nun aus einem anderen Java Prgramm aufrufe, funktioniert sie tadellos :toll:! Wenn ich sie allerdings über einen Webbrowser mittels einer jsp Routine aufrufe, dann klappt das nicht mehr
Java:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- link rel="stylesheet" type="text/css" href="Styletest.css"/> -->
<body>
<%@ page import ="Function.*" %>
<h1>Mein JSP- und JavaBeans-Test</h1>
<h2>
<form action="MeinJspUndJavaBeansTest.jsp">
Bitte Zahl eingeben: <input type="text" name="EingabeZahl" size=5maxlength=5><br>
</form>
</h2>
<h3>
<%
String s1 = request.getParameter( "EingabeZahl" );
if( null != s1 )
//out.println("Das Quadrat von '" + s1 + "' ist: '" + MeineBean.meineFunktion( s1 ) + "'.");
out.println("Das Quadrat von '" + s1 + "' ist: '" + testClass.tester() + "'.");
%>
</h3>
</body></html>
Ich habe eine Klasse geschrieben, mit welcher ich sowohl direkt als auch über jsp die Methode MeineFunktion() aufrufen kann:
Java:
package Function;
public class testClass {
public static void main(String[] args) {
String strS = MeineBean.meineFunktion("2");
System.out.println(strS);
}
public static String tester() {
// TODO Auto-generated method stub
String strS = MeineBean.meineFunktion("2");
System.out.println(strS);
return strS;
}
}
Konkret: Mittels der main() Methode klappe es, mittels der tester() Methode bekomme ich den folgenden Fehler: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver. Natürlich ist das Verhalten dasselbe, wenn ich nicht über testClass sondern direkt vom jsp MeineBean ansteuere.
Das Class-File MeineBeans liegt ordnungsgemäss im Verzeichnis des Tomcat, das Ausführen von Zahlen grösser 9 klappt ja auch.
Kann mir jemand helfen? :rtfm:
Danke Euch.
Viele Grüse
Caspair