1

我刚开始使用 java 小程序连接到 mysql 数据库。这是我第一次尝试这样做。

我研究了很多,也看过很多教程,但我仍然面临问题。由于我的 java 小程序进入浏览器,我确实对其进行了签名。我也一直在使用 jdbc,并且 jar 文件已正确导入到我的库中。

我也一直在使用 000webhost.com 并尝试从 IDE 和浏览器连接到数据库。我还请了两个朋友帮助我。其中一个不得不早点去,另一个不知道我哪里出错了。

这是我的代码: http: //prntscr.com/oagfi

在此处输入图像描述

我得出的结论是 DriverManager.getConnection(...) 给我带来了问题。

错误显示... http://prntscr.com/oaetz

在此处输入图像描述

我也尝试查找原因,但仍然没有运气。

我能做些什么来解决这个问题吗?我很好奇这个原因意味着什么以及为什么我遇到麻烦。

4

5 回答 5

1

如果您使用的是免费的 000webhost 帐户,那么您无法在主机帐户之外访问您的数据库。

于 2016-06-22T13:56:21.393 回答
0

从 Applet(如果我的记忆没有失败),您必须使用签名代码和/或您只能从 Applet 下载连接到远程主机......如果没有,则会引发安全异常。(小程序在受限/受限沙箱上运行)

于 2013-01-06T09:24:20.807 回答
0
        /* RegistrationDAO*/


        /*
         * To change this template, choose Tools | Templates
         * and open the template in the editor.
         */
        package com.tcs.ignite.connectionname.DAO;

        import com.tcs.ignite.connectionname.bean.Register;
        import com.tcs.ignite.connectionname.util.Eyeconnection;
        import java.sql.Connection;
        import java.sql.PreparedStatement;
        import java.sql.ResultSet;

        public class RegisterDAO {
            private Connection connection;
             private connectionnamecon;

            public RegisterDAO() {
                con = new connectionname();
            }

            public boolean insertRecords(Register rg) throws Exception {

                connection = con.openConnection();

                String select="select * from register";
                PreparedStatement ps=connection.prepareStatement(select);
                ResultSet rs=ps.executeQuery();
                while(rs.next())
                {
                    String email=rs.getString("user_email");
                    if(rg.getUser_email().equals(email))
                    {
                        return false;
                     }
                }
               ps.close();



                String query = "insert into register(user_Fname,user_Lname,password,confirm_pass,contact_no,user_email,user_address,user_pincode) VALUES (?,?,?,?,?,?,?,?)";
                ps = connection.prepareStatement(query);

                ps.setString(1, rg.getUser_Fname());
                ps.setString(2, rg.getUser_Lname());
                ps.setString(3, rg.getPassword());
                ps.setString(4, rg.getConfirm_pass());
                ps.setString(5, rg.getContact_no());
                ps.setString(6, rg.getUser_email());
                ps.setString(7, rg.getUser_address());
                ps.setString(8,rg.getUser_pincode());

                int rowcount = ps.executeUpdate();
                con.closeConnection();
                if (rowcount == 0) {
                    return false;
                } else {
                    return true;
                }
            }
        }

    /*
    RegistrationManager*/
     */
    package com.tcs.ignite.connectionname.Manager;

    import com.tcs.ignite.connectionname.DAO.RegisterDAO;
    import com.tcs.ignite.connectionname.bean.Register;


    public class RegisterManager {
         public boolean insertManager(Register rg) throws Exception {

            RegisterDAO regdao = new RegisterDAO();
            boolean result = regdao.insertRecords(rg);
            if(result==true)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

    }
 /*RegistrationServlet*/

     protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {

            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            try {

              Register reg=new Register();

              reg.setUser_Fname(request.getParameter("firstname"));
              reg.setUser_Lname(request.getParameter("lastname"));
              reg.setPassword(request.getParameter("password"));
              reg.setConfirm_pass(request.getParameter("confirm_password"));
              reg.setContact_no(request.getParameter("mobile"));
              reg.setUser_email(request.getParameter("email"));
              reg.setUser_address(request.getParameter("address"));
              reg.setUser_pincode(request.getParameter("pincode"));




              RegisterManager regManager=new RegisterManager();
              if(regManager.insertManager(reg)){
    //               RequestDispatcher requestDispatcher= request.getRequestDispatcher("TCSBLUE.jsp");
    //               requestDispatcher.forward(request, response);
                  HttpSession session = request.getSession(true);
                   session.setAttribute("loginid", reg.getUser_email());
                   //out.print(session.getAttribute("loginid"));
                  out.write("Successfully Registered...");
              }
              else
              {
    //              RequestDispatcher requestDispatcher= request.getRequestDispatcher("Error.jsp");
    //               requestDispatcher.forward(request, response);
                  out.write("Something is going wrong....");
              }
            }
            catch(Exception ex)
            {
                Logger.getLogger(Connection.class.getName()).log(Level.SEVERE, null, ex);
            }
            finally {            
                out.close();
            }

        }
于 2013-05-22T07:04:27.463 回答
0

检查JDBC Connector您正在使用的版本。以下链接也将帮助您做到JDBC Connection-

将 Java 连接到 MySQL 数据库

于 2013-01-06T07:48:41.967 回答
0

你在防火墙/代理服务器后面吗?如果是这样,它是否允许您使用的端口 3306 上的传出连接?这是我曾经遇到过的一个问题,我们的公司防火墙严重瘫痪,我们只能通过 http / https 端口进行交谈。

于 2013-01-06T08:04:01.337 回答