keine mysql-Verbindung in Browser

JavaFX und die Programmierung

Moderator: wegus

Antworten
LIV
Beiträge: 2
Registriert: 03.11.2011, 11:55

keine mysql-Verbindung in Browser

Beitrag von LIV » 03.11.2011, 12:03

Hallo,

ich habe mit Netbeans eine JavaFX 2.0 Applikation geschrieben, die auf eine mysql-Datenbank zugreift (XAMPP). Als Standalone funktioniert alles bestens, aber mit Webstart und Browsern (Firefox, Explorer, Opera, Chrome) wird nichts gestartet, weil die Datenbank nicht geöffnet werden kann ((eigene) Fehlermeldung: Error on DB connection).

Ich habe den jar-File dann gesigned (mit jarsigner und mit den Optionen unter SignJar Task). Beim ersten Mal hat die mit jarsigner signierte Application dann zwar keine Fehlermeldung in der Javakonsole mehr ausgegeben, aber der Browser gab folgende Rückmeldung:
"JavaFX application could not launch due to system configuration. See java.com/javafx for troubleshooting information."
Das kann ich inzwischen aber nicht einmal mehr replizieren. Jetzt gibt es bei allen signed-Varianten nur noch "Error on DB connection".

Mit der Datenbank verbinde ich mich ganz normal mit

Code: Alles auswählen

        public void buildData(){       
	          Connection c ;
	          try{
	             c = DBConnect.connect();
                     String SQL = "select * from set1";	 
	             rsSet1 = c.createStatement().executeQuery(SQL);      
	          }catch(Exception e){
	              System.out.println("Error on DB connection");
	          } 
	      } 

bzw.

package laute;

Code: Alles auswählen

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

	public class DBConnect {
	 
	    private static Connection conn;
	    private static String url = "jdbc:mysql://localhost/lautedb";
	    private static String user = "root";
	    private static String pass = "";
	 
	    public static Connection connect() throws SQLException{
	        try{
	            Class.forName("com.mysql.jdbc.Driver").newInstance();
                }catch(ClassNotFoundException cnfe){
	            System.err.println("Error: "+cnfe.getMessage());
	        }catch(InstantiationException ie){
	            System.err.println("Error: "+ie.getMessage());
	        }catch(IllegalAccessException iae){
	            System.err.println("Error: "+iae.getMessage());
	        }
	 
	        conn = DriverManager.getConnection(url,user,pass);
	        return conn;
	    }
	 
	    public static Connection getConnection() throws SQLException, ClassNotFoundException{
	        if(conn !=null && !conn.isClosed())
	            return conn;
	        connect();
	        return conn;
	 
	    }
	}

Ich habe keine Ahnung, wo ich noch suchen könnte. Mit Systemkonfigurationen kenne ich mich nicht aus (wenn es denn wirklich daran liegen sollte).

Ich hoffe auf irgendwelche Tipps, die mich etwas weiterbringen könnten!

LG,
Liv

EDIT: Ich füge den von Netbeans generierten html-Code noch an:

Code: Alles auswählen

<html><head>
  <SCRIPT src="./web-files/dtjava.js"></SCRIPT>
<script>
    function launchApplication(jnlpfile) {
        dtjava.launch(            {
                url : 'Laute.jnlp',
                jnlp_content : 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjEuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iTGF1dGUuam5scCI+DQogIDxpbmZvcm1hdGlvbj4NCiAgICA8dGl0bGU+TGF1dGU8L3RpdGxlPg0KICAgIDx2ZW5kb3I+Q2Fyb2xhPC92ZW5kb3I+DQogICAgPGRlc2NyaXB0aW9uPlNhbXBsZSBKYXZhRlggMi4wIGFwcGxpY2F0aW9uLjwvZGVzY3JpcHRpb24+DQogICAgPG9mZmxpbmUtYWxsb3dlZC8+DQogIDwvaW5mb3JtYXRpb24+DQogIDxyZXNvdXJjZXMgb3M9IldpbmRvd3MiIGFyY2g9Ing4NiI+DQogICAgPGpmeDpqYXZhZngtcnVudGltZSB2ZXJzaW9uPSIyLjArIiBocmVmPSJodHRwOi8vZG93bmxvYWQub3JhY2xlLmNvbS9vdG4tcHViL2phdmEvamF2YWZ4L2phdmFmeC13aW5kb3dzLWk1ODZfX1ZsYXRlc3QuZXhlICIvPg0KICA8L3Jlc291cmNlcz4NCiAgPHJlc291cmNlcyBvcz0iV2luZG93cyIgYXJjaD0ieDY0Ij4NCiAgICA8amZ4OmphdmFmeC1ydW50aW1lIHZlcnNpb249IjIuMCsiIGhyZWY9Imh0dHA6Ly9kb3dubG9hZC5vcmFjbGUuY29tL290bi1wdWIvamF2YS9qYXZhZngvamF2YWZ4LXdpbmRvd3MteDY0X19WbGF0ZXN0LmV4ZSAiLz4NCiAgPC9yZXNvdXJjZXM+DQogIDxyZXNvdXJjZXM+DQogICAgPGoyc2UgdmVyc2lvbj0iMS42KyIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9wcm9kdWN0cy9hdXRvZGwvajJzZSIvPg0KICAgIDxqYXIgaHJlZj0iTGF1dGUuamFyIiBzaXplPSIzMDUxMTk4IiBkb3dubG9hZD0iZWFnZXIiIC8+DQogICAgPGphciBocmVmPSJsaWIvbXlzcWwtY29ubmVjdG9yLWphdmEtNS4xLjEzLWJpbi5qYXIiIHNpemU9Ijc1MzU0MiIgZG93bmxvYWQ9ImVhZ2VyIiAvPg0KICA8L3Jlc291cmNlcz4NCiAgPGFwcGxldC1kZXNjICB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCIgbWFpbi1jbGFzcz0iY29tLmphdmFmeC5tYWluLk5vSmF2YUZYRmFsbGJhY2siICBuYW1lPSJMYXV0ZSIgLz4NCiAgPGpmeDpqYXZhZngtZGVzYyAgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiIG1haW4tY2xhc3M9ImxhdXRlLkxhdXRlIiAgbmFtZT0iTGF1dGUiIC8+DQogIDx1cGRhdGUgY2hlY2s9ImJhY2tncm91bmQiLz4NCjwvam5scD4NCg=='
            },
            {
                javafx : '2.0+'
            },
            {}
        );
        return false;
    }
</script>

<script>
    function javafxEmbed_fxApp() {
        dtjava.embed(
            {
                id : 'fxApp',
                url : 'Laute.jnlp',
                placeholder : 'javafx-app-placeholder',
                width : 800,
                height : 600,
                jnlp_content : 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjEuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iTGF1dGUuam5scCI+DQogIDxpbmZvcm1hdGlvbj4NCiAgICA8dGl0bGU+TGF1dGU8L3RpdGxlPg0KICAgIDx2ZW5kb3I+Q2Fyb2xhPC92ZW5kb3I+DQogICAgPGRlc2NyaXB0aW9uPlNhbXBsZSBKYXZhRlggMi4wIGFwcGxpY2F0aW9uLjwvZGVzY3JpcHRpb24+DQogICAgPG9mZmxpbmUtYWxsb3dlZC8+DQogIDwvaW5mb3JtYXRpb24+DQogIDxyZXNvdXJjZXMgb3M9IldpbmRvd3MiIGFyY2g9Ing4NiI+DQogICAgPGpmeDpqYXZhZngtcnVudGltZSB2ZXJzaW9uPSIyLjArIiBocmVmPSJodHRwOi8vZG93bmxvYWQub3JhY2xlLmNvbS9vdG4tcHViL2phdmEvamF2YWZ4L2phdmFmeC13aW5kb3dzLWk1ODZfX1ZsYXRlc3QuZXhlICIvPg0KICA8L3Jlc291cmNlcz4NCiAgPHJlc291cmNlcyBvcz0iV2luZG93cyIgYXJjaD0ieDY0Ij4NCiAgICA8amZ4OmphdmFmeC1ydW50aW1lIHZlcnNpb249IjIuMCsiIGhyZWY9Imh0dHA6Ly9kb3dubG9hZC5vcmFjbGUuY29tL290bi1wdWIvamF2YS9qYXZhZngvamF2YWZ4LXdpbmRvd3MteDY0X19WbGF0ZXN0LmV4ZSAiLz4NCiAgPC9yZXNvdXJjZXM+DQogIDxyZXNvdXJjZXM+DQogICAgPGoyc2UgdmVyc2lvbj0iMS42KyIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9wcm9kdWN0cy9hdXRvZGwvajJzZSIvPg0KICAgIDxqYXIgaHJlZj0iTGF1dGUuamFyIiBzaXplPSIzMDUxMTk4IiBkb3dubG9hZD0iZWFnZXIiIC8+DQogICAgPGphciBocmVmPSJsaWIvbXlzcWwtY29ubmVjdG9yLWphdmEtNS4xLjEzLWJpbi5qYXIiIHNpemU9Ijc1MzU0MiIgZG93bmxvYWQ9ImVhZ2VyIiAvPg0KICA8L3Jlc291cmNlcz4NCiAgPGFwcGxldC1kZXNjICB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCIgbWFpbi1jbGFzcz0iY29tLmphdmFmeC5tYWluLk5vSmF2YUZYRmFsbGJhY2siICBuYW1lPSJMYXV0ZSIgLz4NCiAgPGpmeDpqYXZhZngtZGVzYyAgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiIG1haW4tY2xhc3M9ImxhdXRlLkxhdXRlIiAgbmFtZT0iTGF1dGUiIC8+DQogIDx1cGRhdGUgY2hlY2s9ImJhY2tncm91bmQiLz4NCjwvam5scD4NCg=='
            },
            {
                javafx : '2.0+'
            },
            {}
        );
    }
    <!-- Embed FX application into web page once page is loaded -->
    dtjava.addOnloadCallback(javafxEmbed_fxApp);
</script>

</head><body>
<h2>Test page for <b>Laute</b></h2>
  <b>Webstart:</b> <a href='Laute.jnlp' onclick="return launchApplication('Laute.jnlp');">click to launch this app as webstart</a><br><hr><br>

  <!-- Applet will be inserted here -->
  <div id='javafx-app-placeholder'></div>
</body></html>

LIV
Beiträge: 2
Registriert: 03.11.2011, 11:55

Re: keine mysql-Verbindung in Browser

Beitrag von LIV » 03.11.2011, 12:33

Ich habe die Lösung gefunden. Und zwar hier im Forum http://www.java-forum.org/deployment/84 ... mysql.html.

Der Konnektor muss auch signiert werden. Danke an real8!!

Antworten