0

我的自签名小程序在小程序查看器和本地 Web 浏览器上完美运行。但是,当我根据网站服务器上的mysql数据库的db名称、用户和密码更改连接字符串并通过ftp将项目上传到服务器时,小程序无法连接到数据库。小程序代码为:

public void init() {
JPanel panel = new JPanel();
panel.add( new JLabel("Start"));
revalidate();
// TODO start asynchronous download of heavy resources
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://www.mywebiste.com:3306/database";
String user = "user";
String password = "password";


try {
    Class.forName(driver);                        
    Connection con = DriverManager.getConnection(url,user,password);

    String sql4 = "Select * from form where Il='Ankara'";

                    //System.out.println(password + " " + userName);
               Statement  stmt = con.createStatement();
              ResultSet rs = stmt.executeQuery(sql4);
    panel.add( new JLabel("Connection"));
    revalidate();
}
catch(Exception e) {
    panel.add( new JLabel("Not Connected"));
    revalidate();
}

Container content = getContentPane();
             content.setLayout(new GridBagLayout()); 
             content.add(panel);

}

4

1 回答 1

1

你是同源政策的受害者。

通过签署小程序可以解决这个问题,但我强烈建议不要打扰。由于最近 Java 中的所有安全问题都涉及 Applets 和 JNLP,因此这项技术就像渡渡鸟一样死气沉沉。越来越多的系统默认禁用 Java 小程序,越来越多的用户自己(或他们的 IT 部门)禁用它。

最好在服务器上的 webapp 中使用一些轻量级的 REST 服务,在浏览器上使用一些 javascript(或者如果你真的坚持使用小程序),它们通过 http 使用这些服务。然后你也不需要将数据库暴露给网络。

即使对于一个内部应用程序,我也会认真考虑它(或回击任何提出要求的人)。

于 2013-07-16T11:44:12.647 回答