Hallo,
ich habe ein kleines Browserspiel in Form eines Applets geschrieben. Wenn man verloren hat sollen die Punkte die ma n erreicht hat in eine Tabelle einer MySQL db eingetragen werden. Ich habe mittels des Programms XXAMP einen Server mit MySQL auf meinem PC simuliert. Hat alles super geklappt, neue Score konnte eingetragen werden und so weiter.
Hier einmal erst der Code der Klasse, mit der ich zur DB connecte und Updates und Anfragen mache:
(ich bin noch ein ziemlicher Anfänger)
Code:
Sobald ich aber nun alles auf den richtigen Server im Internet mit korrektem Datenbankname, user und passwort bleibt das Applet an der Stelle, wo der Teil mit der DB geschichte kommt stehen und es meldet sich folgende Exception:
Den Treiber habe ich mit Eclipse in den Build Path reingepackt und vorsichthalber auch die Jar Datei(mysql-connector-java 3.1.12) in den Ordner wo alle Dateien drin sind getan. diese Java.policy.applet datei hab ich auch in den Ordner gepackt. Ehrlich gesagt hab ich keine Ahnung was die Exception mir nun sagen soll. Danke schon mal für eure Hilfe.
ich habe ein kleines Browserspiel in Form eines Applets geschrieben. Wenn man verloren hat sollen die Punkte die ma n erreicht hat in eine Tabelle einer MySQL db eingetragen werden. Ich habe mittels des Programms XXAMP einen Server mit MySQL auf meinem PC simuliert. Hat alles super geklappt, neue Score konnte eingetragen werden und so weiter.
Hier einmal erst der Code der Klasse, mit der ich zur DB connecte und Updates und Anfragen mache:
(ich bin noch ein ziemlicher Anfänger)
Code:
Code:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class dbconnect {
// --static-Variabeln----------------
static Connection con;
static Statement stmt;
static Statement stmt2;
static ResultSet rs = null;
static String[] name = new String[20];
static String[] score = new String[20];
public static void open()throws SQLException{
try {
Class.forName( "com.mysql.jdbc.Driver" );
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
con = DriverManager.getConnection("jdbc:mysql://localhost/dbname","user","passwort");
stmt = con.createStatement();
stmt2 = con.createStatement();
}
public static void close() throws SQLException {
stmt.close();
stmt2.close();
con.close();
}
public static void update(String _name, int _score) throws SQLException{
stmt.executeUpdate("INSERT INTO highscore VALUES('"+_name+"','"+_score+"')");
}
public static void query() throws SQLException{
int x = 0;
//--------
rs = stmt2.executeQuery("SELECT * FROM highscore ORDER BY score DESC");
while(rs.next() && (x<20)){
name[x] = rs.getString(1);
score[x] = rs.getString(2);
x++;
}
rs.close();
//--------
}
public String[] getName(){
return this.name;
}
public String[] getScore(){
return this.score;
}
}
Sobald ich aber nun alles auf den richtigen Server im Internet mit korrektem Datenbankname, user und passwort bleibt das Applet an der Stelle, wo der Teil mit der DB geschichte kommt stehen und es meldet sich folgende Exception:
Code:
Exception in thread "AWT-EventQueue-2" java.lang.RuntimeException: java.lang.SecurityException: illegal URL redirect
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at sun.applet.AppletClassLoader.getBytes(Unknown Source)
at sun.applet.AppletClassLoader.access$100(Unknown Source)
at sun.applet.AppletClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at dbconnect.open(dbconnect.java:22)
at Main.holeScore(Main.java:321)
at Main.paint(Main.java:390)
at Main.update(Main.java:440)
at sun.awt.RepaintArea.updateComponent(Unknown Source)
at sun.awt.RepaintArea.paint(Unknown Source)
at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Den Treiber habe ich mit Eclipse in den Build Path reingepackt und vorsichthalber auch die Jar Datei(mysql-connector-java 3.1.12) in den Ordner wo alle Dateien drin sind getan. diese Java.policy.applet datei hab ich auch in den Ordner gepackt. Ehrlich gesagt hab ich keine Ahnung was die Exception mir nun sagen soll. Danke schon mal für eure Hilfe.