2015-10-18 107 views
0

我想连接到Java Servlet中的数据库,但我无法连接。我搜索谷歌和每个网站显示不同的方式,我不知道为什么。在Java Servlet中的数据库连接

这里是我尝试连接的代码,但没有任何(数据)会进入MySQL数据库行。

public class DBConnection{ 
    private static final long serialVersionUID = 1L; 

    private final Connection connection; 
    private final String dbURL = "jdbc:mysql://localhost:3306/Servlet"; 
    private final String user = "root"; 
    private final String pwd = ""; 
    public DBConnection() throws ClassNotFoundException, SQLException{ 
     Class.forName("com.mysql.jdbc.Driver"); 
     this.connection = DriverManager.getConnection(dbURL, user, pwd); 
    } 

    public Connection gC(){ 
     return this.connection; 
    } 
} 

这是我试图在数据库中插入数据(但数据没有添加到数据库)。

public class ReServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 
    @Override 
    protected void doPost(HttpServletRequest req, HttpServletResponse res) 
      throws ServletException, IOException { 
     try{ 
      String uName=req.getParameter("uName"); 
      String uEmail=req.getParameter("uEmail"); 
      String uPass=req.getParameter("uPass"); 
      DBConnection conn=new DBConnection(); 
      PreparedStatement ps; 
      ps = conn.gC().prepareStatement("insert into users(name,email,password) values (?,?,?)"); 
      ps.setString(1, uName); 
      ps.setString(2, uEmail); 
      ps.setString(3, uPass); 
      ps.execute(); 
     }catch(SQLException | ClassNotFoundException se){ 
      se.printStackTrace(); 

     }finally{ 
     } 
    } 
} 

我还要求所有,请给我简单和容易的数据库连接例如,关于每个网站显示的正式注册或任何其他系统。但我只想简单的数据库连接示例,因为我正在尝试在我的代码中。

编辑 通过更换se.printStackTrace();这个throw new RuntimeException(se);我得到这个异常java.lang.RuntimeException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

+0

为什么'DBConection'扩展'HTTPServlet'?你有什么异常? – Jens

+0

@Jens对不起,我正在尝试不同的方式,忘记删除它。我在哪里可以看到异常?在编译时没有任何东西。 – UnKnown

+1

您可以在服务器的日志文件中看到 – Jens

回答

-1

您NEDD与DriverManager的注册你的驱动程序是这样的:

Class c = Class.forName("com.mysql.jdbc.Driver"); 
    DriverManager.registerDriver(c.newInstance()); 

请记得关闭您的连接最后阻止。

+0

我认为它可以解决我的问题,但在哪里添加这些行? – UnKnown

+0

在您的DBConnection构造函数中。 – k0staa