Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 小程序SQL插入在浏览器中不工作_Java_Sql_Eclipse_Applet - Fatal编程技术网

Java 小程序SQL插入在浏览器中不工作

Java 小程序SQL插入在浏览器中不工作,java,sql,eclipse,applet,Java,Sql,Eclipse,Applet,我有一个小程序,当我在Eclipse中测试运行时,它工作得很好,但当我进入浏览器时,它似乎不工作 我已经读到小程序不再被广泛使用,但出于各种原因,我仍然想了解它们 这是我的密码。正如我所说,在eclipse中运行时,它可以按预期工作 public class WPStool extends Applet implements ActionListener { /** * */ private static final long serialVersionUID = 69

我有一个小程序,当我在Eclipse中测试运行时,它工作得很好,但当我进入浏览器时,它似乎不工作

我已经读到小程序不再被广泛使用,但出于各种原因,我仍然想了解它们

这是我的密码。正如我所说,在eclipse中运行时,它可以按预期工作

public class WPStool extends Applet implements ActionListener
{
 /**
     * 
     */
 private static final long serialVersionUID = 6920052961843268403L;
 Label lblCustNum, lblCustName, lblAccount, lblEmpID, lblSuccess;
 TextField txtCustNum, txtCustName, txtAccount, txtEmpID;
 Button bEnter;
 boolean blnCorrect;

 public void init()
 {
     lblCustNum = new Label("Customer #");
  add(lblCustNum);

  txtCustNum = new TextField(20);
  add(txtCustNum);

  lblCustName = new Label("Customer Name");
  add(lblCustName);

  txtCustName = new TextField(20);
  add(txtCustName);

  lblAccount = new Label("Account Type");
  add(lblAccount);

  txtAccount = new TextField(20);
  add(txtAccount);

  lblEmpID = new Label("EmployeeID");
  add(lblEmpID);

  txtEmpID = new TextField(20);
  add(txtEmpID);

  bEnter = new Button("Enter");
  add(bEnter);
  bEnter.addActionListener(this);
 }

 public void actionPerformed(ActionEvent e)
 {

  if (e.getSource() == bEnter)
    {
        //registerUser();
        int custNum = Integer.parseInt(txtCustNum.getText());
        int empID = Integer.parseInt(txtEmpID.getText());
        enterInfo(custNum, txtCustName.getText(), txtAccount.getText(), empID);
        txtCustNum.setText("");
        txtCustName.setText("");
        txtAccount.setText("");
        txtEmpID.setText("");
    }
 }



public void enterInfo(int custNuma, String custNamea, String accounta, int empIDa)
{
    Connection con = getConnection();
    try
    {
        Statement s = con.createStatement();
        String select = "INSERT INTO  customerInfo (custNum , custName, account ,empID) VALUES ("+ custNuma +",  '"+ custNamea +"',  '"+ accounta +"',  "+ empIDa +")";
        //String select = "INSERT INTO  customerInfo (custNum , custName, account ,empID) VALUES (123,  'Jim John Joe',  'New Account', 1234)";
        s.executeUpdate(select);
        lblSuccess = new Label("Success!");
        add(lblSuccess);

    }
    catch (SQLException e)
    {
        System.out.println("getClasses method: " + e.getMessage());
        lblSuccess = new Label("FAIL!");
        add(lblSuccess);
    }
}

private Connection getConnection()
{
    Connection con = null;
    try
    {
        Class.forName("com.mysql.jdbc.Driver");
        String url = "jdbc:mysql://localhost/wps";
        String user = "root";
        String pw = "";
        con = DriverManager.getConnection(url, user, pw);
    }
    catch (ClassNotFoundException e)
    {
        System.out.println("getConnection ClassNotFound: " + e.getMessage());
        System.exit(0);
    }
    catch (SQLException e)
    {
        System.out.println("getConnection SQL: " + e.getMessage());
        System.exit(0);
    }
    return con;
}

}

是否需要设置一些额外的浏览器设置?也。我正在导入JDBC以便使用sql,是否需要以某种方式添加它?

可能从浏览器中java代码无法连接到数据库

您必须更改应用程序结构,并将小程序部分与服务器部分分开。将所有用户界面逻辑放入applet部分,然后通过RMI或Web服务连接到服务器部分,发送数据,并在服务器端连接到数据库

另一个点事件,如果您的客户端能够连接到数据库,如果您使用连接url
jdbc释放小程序:mysql://localhost/wps
然后每个客户端都会尝试连接到运行小程序的同一台机器上的数据库。也就是说,如果您有10个客户端,每次尝试都会在自身上搜索数据库,因为您使用的是
localhost


但是,我建议您将应用程序登录分为我上面描述的两部分。

您可能遇到权限异常,因为在浏览器中,小程序在安全管理器下运行。您需要指定得到的异常,以便人们能够更有效地帮助您1)确保检查Java控制台中的错误。2) 数据库是否与小程序位于同一服务器上?3) 不要在这个千年使用基于AWT的组件,使用Swing.lol谢谢你的提示。我曾读到一些人喜欢AWT而不是swing浏览器小程序,但我会将其转换为swing。此外,我也没有得到任何例外。我已经检查了错误控制台,似乎一切正常。至于权限,我将不得不更仔细地研究。当小程序最初加载时,它会请求运行权限,但可能还有更多权限需要在其他地方设置。您是说编写一个PHP或Javascript脚本来连接到DB,还是说另一个java类?我对Java非常陌生,所以我希望这不会听起来很愚蠢。如果你更了解php,就用php编写服务器部分。然后从java调用php页面,以发送JSON格式的数据为例+我会支持我当天的第二张最后一票(无论如何,在接下来的3个小时里)此小程序不供任何其他人使用。我只是在努力提高我的Java知识。但正如你所说,Java似乎不是处理SQL的最佳语言。只是查看了如何通过POST将Java数据发送到php scipt…这绝对是解决此问题的方法。