2013-01-13 30 views
0

我有問題,我的小程序。它在applet查看器中正常工作,但在Web browser它拋出一個異常。連接小程序<->數據庫通過瀏覽器

異常詳細信息:

`SQLException: No suitable driver found for jdbc:mysql://s46.eatj.com:3307/cmentarz 
Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException 
at JDBC.LogIn(JDBC.java:49) 
at AdminPanelLogIn$1.actionPerformed(AdminPanelLogIn.java:64) 
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) 
at java.awt.Component.processMouseEvent(Unknown Source) 
at javax.swing.JComponent.processMouseEvent(Unknown Source) 
at java.awt.Component.processEvent(Unknown Source) 
at java.awt.Container.processEvent(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.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
at java.awt.EventQueue.access$200(Unknown Source) 
at java.awt.EventQueue$3.run(Unknown Source) 
at java.awt.EventQueue$3.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue$4.run(Unknown Source) 
at java.awt.EventQueue$4.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue.dispatchEvent(Unknown Source) 
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForFilter(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)` 

我已經使用JARmaker簽署我的jar文件。

getConnection方法代碼:

public Connection getConnection() throws SQLException { 

    try { 
     Class.forName("com.mysql.jdbc.Driver"); 
    } catch (java.lang.ClassNotFoundException e) { 
     System.err.print("ClassNotFoundException: "); 
     System.err.println(e.getMessage()); 
    } 

    try { 
     con = DriverManager.getConnection(url, userid, password); 
    } catch (SQLException ex) { 
     System.err.println("SQLException: " + ex.getMessage()); 
    } 
    return con; 
} 

Useridpasswordurl是正確的,因爲它在applet瀏覽器。

static String url = "jdbc:mysql://s46.eatj.com:3307/cmentarz";

所以,可能是什麼問題呢?

+1

可能的重複:http://stackoverflow.com/questions/5616898/java-sql-sqlexception-no-suitable-driver-found-for-jdbcmicrosoftsqlserver –

+0

另一方面。一個applet不應該直接訪問數據庫。而是強制它通過調解訪問的服務器工作,並限制它可以做的事情。 –

回答

0

在瀏覽器中運行時,請確保MySQL jar可用於您的小程序。您可以在applet(或object)標籤中指定此:

<applet code="org.package.MyApplet" width="800" height="600" archive="myappletjar.jar,mysql-connector-java-5.1.6-bin.jar"> 
</applet> 

還要確保jar文件在同一位置爲您的小程序jar文件的存在使得它可供下載。

+0

非常感謝!現在evrything工作正常。 –

相關問題