Java u. MySQL (TOMCAT)

Hallo,

irgend-wie verstehe ich den Fehler nicht, könnte bitte jemand helfen?

Error: 500
Location: /servlet/Jdbm
Internal Servlet Error:

java.lang.IllegalAccessException: Jdbm
 at org.apache.tomcat.core.ServletWrapper.loadServlet(ServletWrapper.java:268)
 at org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:289)
 at org.apache.tomcat.core.Handler.service(Handler.java:254)
 at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
 at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812)
 at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
 at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166)
 at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
 at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
 at java.lang.Thread.run(Thread.java)




-------------

Hier mein Listing:


import java.io.\*;
import java.util.\*;
import java.sql.\*;



class Jdbm extends Object {

 public static void main(String args[]) {

 Jdbm x = new Jdbm();

 x.listSysdevices();
 }


 public void listSysdevices() {

 Connection con;
 Statement stm;
 ResultSet rs;
 Properties info = new Properties();

 info.put("user","meinuser");
 info.put("password","meinpw");


 try {

 Class.forName("org.gjt.mm.mysql.Driver");

 con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/meinedb",info);
 stm = con.createStatement();
 rs = stm.executeQuery("select field1 from table1");

 while (rs.next()) {

 System.out.println(rs.getString("field1"));
 }

 }

 catch (ClassNotFoundException e) { System.out.println("ClassNotFound" +
e.getMessage()) ; }
 catch (SQLException e ) { System.out.println("SQLexceoption" +
e.getMessage()) ; }

 }

}

Danke!

Gruß,
Peter

java.lang.IllegalAccessException: Jdbm

Kann mich leider nicht mehr genau erinnern wie das war, aber es gibt da ein File in dem du dem Tomcat Rechte für u. a. Platten- und Netz-Zugriff geben mußt.

Und der MySQL-Treiber greift über TCP/IP auf die Datenbank zu, d. h. du müßtest da entsprechenden Port freigeben.

Falls du es nicht findest, schreib nochmal im Laufe des Tages, dann könnte ich in alten Projekt-Dateien nachschauen wie das genau ausgesehen hat. :o)

Grüße, Robert

java.lang.IllegalAccessException: Jdbm

Kann mich leider nicht mehr genau erinnern wie das war, aber
es gibt da ein File in dem du dem Tomcat Rechte für u. a.
Platten- und Netz-Zugriff geben mußt.

Und der MySQL-Treiber greift über TCP/IP auf die Datenbank zu,
d. h. du müßtest da entsprechenden Port freigeben.

Falls du es nicht findest, schreib nochmal im Laufe des Tages,
dann könnte ich in alten Projekt-Dateien nachschauen wie das
genau ausgesehen hat. :o)

Habe leider nichts gefunden - wäre gut, wenn Du mir die entspr. Einstellungen mailen könntest. Ich vermute, das ist die Datei tomcat.policy, doch eine Doku habe ich vergeblich gesucht…

Gruß,
pete

Hallo,

irgend-wie verstehe ich den Fehler nicht, könnte bitte jemand
helfen?

Error: 500
Location: /servlet/Jdbm
Internal Servlet Error:

java.lang.IllegalAccessException: Jdbm
at
org.apache.tomcat.core.ServletWrapper.loadServlet(ServletWrapper.java:268)
at
org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:289)
at org.apache.tomcat.core.Handler.service(Handler.java:254)
at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812)
at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
at
org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166)
at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java)

dein code scheint ja richtig zu sein aber was hat die ganze sache mit tomcat zu tun??
tomcat ist doch, wenn ich mich recht errinnere, ein webserver, welcher aus servlets html code generiert und zum client schickt bzw jsp zu servlets umwandelt und genauso verfaehrt. dein code ist aber weder das ein noch das andere, so das tomcat damit nicht soviel anfangen kann.

du musstest deine klasse von HttpServlet ableiten und in doGet oder doPost mal eine html-seite generieren. dann sollte der fehler nicht mehr kommen.

mein dozent hat das ganz gut mal zusammengefasst http://wi-bw.tfh-wildau.de/~mhendrix dann unter unterrichtsmaterialien=>java=>servlets

der jan

der link war falsch: http://www.wi-bw.tfh-wildau.de/~hendrix

danke, das war der entscheidende Tip

Pete

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Wirklich gut kenne ich mich auch nicht damit aus, aber mal hier ein Beispiel:

grant
{ 
 permission java.security.AllPermission;
}

In diesem Fall werden alle Rechte erteilt. Anderes Beispiel:

grant
{ 
 permission java.net.SocketPermission "192.168.0.1:123" "connect, accept, resolve"
}

In diesem Fall wird die Erlaubnis mit 192.168.0.1 auf Port 123 zu kommunizieren (sowohl hinverbinden als auch eingehende Verbindungen) erteilt.

Schau dir eventuell mal:
http://java.sun.com/j2se/1.3/docs/guide/security/Pol…

an, dort findest du eine genauere Beschreibung und mehr Beispiele (z. B. auch für Dateiberechtigungen).

Grüße, Robert

Ups, hab die andren Antworten nicht gelesen, Problem hat sich scheinbar schon geklärt. :o)