Java MySQL与JSP的连接错误

Java MySQL与JSP的连接错误,java,jsp,jdbc,Java,Jsp,Jdbc,我正在尝试从jsp页面连接到mysql数据库。这个 连接代码如下所示 InitialContext ic=new InitialContext(); DataSource ds=(DataSource)ic.lookup("jdbc:mysql://localhost:3306/"); Connection con=ds.getConnection(); Statement stmt = con.createStatement(); 当我打开页面时,我得到以下错误 j

我正在尝试从jsp页面连接到mysql数据库。这个 连接代码如下所示

   InitialContext ic=new InitialContext();
   DataSource ds=(DataSource)ic.lookup("jdbc:mysql://localhost:3306/");
   Connection con=ds.getConnection();
    Statement stmt = con.createStatement();
当我打开页面时,我得到以下错误 javax.servlet.ServletException:javax.naming.NamingException:Lookup “jdbc:mysql://localhost:3306/'在SerialContext[Root]中 异常为javax.naming.NameNotFoundException:jdbc:mysql:]


有人能告诉我这有什么问题吗…

您正在尝试使用JNDI查找持久连接。JNDI用于存储和访问servlet容器中的资源,但您使用的是JDBC连接字符串而不是JNDI引用

如果您想通过页面中的JDBC直接连接到数据库,那么您需要以下内容来获得连接

       Connection conn = null;

       try {
           String userName = "myuser";
           String password = "mypassword";
           String url = "jdbc:mysql://localhost:3306/mydb";
           Class.forName ("com.mysql.jdbc.Driver").newInstance ();
           conn = DriverManager.getConnection (url, userName, password);
       } catch (Exception e) {
           System.err.println ("Cannot connect to database server");
       }

另一方面,如果您想使用JNDI,则需要首先将连接存储在JNDI中,然后通过用于存储它的名称在JSP中访问它。这是一个更为复杂的过程,因此这里有一个示例来解释如何执行此操作。

您正在尝试使用JNDI查找持久连接。JNDI用于存储和访问servlet容器中的资源,但您使用的是JDBC连接字符串而不是JNDI引用

如果您想通过页面中的JDBC直接连接到数据库,那么您需要以下内容来获得连接

       Connection conn = null;

       try {
           String userName = "myuser";
           String password = "mypassword";
           String url = "jdbc:mysql://localhost:3306/mydb";
           Class.forName ("com.mysql.jdbc.Driver").newInstance ();
           conn = DriverManager.getConnection (url, userName, password);
       } catch (Exception e) {
           System.err.println ("Cannot connect to database server");
       }

另一方面,如果您想使用JNDI,则需要首先将连接存储在JNDI中,然后通过用于存储它的名称在JSP中访问它。这是一个更为复杂的过程,因此这里有一个例子来说明如何进行操作。

在最简单的情况下,您可以:

Class.forName(driverClass);
Connection connection = DriverManager.getConnection(
     "jdbc:mysql://localhost:3306/", userName, password);
如果您想使用容器定义的连接池,并且您正在使用tomcat,请查看


作为旁注,我不建议从
.jsp
连接到数据库。为此使用servlet。JSP是一种表示技术,不应该包含数据库连接逻辑。

在最简单的情况下,您可以:

Class.forName(driverClass);
Connection connection = DriverManager.getConnection(
     "jdbc:mysql://localhost:3306/", userName, password);
如果您想使用容器定义的连接池,并且您正在使用tomcat,请查看

作为旁注,我不建议从
.jsp
连接到数据库。为此使用servlet。JSP是一种表示技术,不应该包含数据库连接逻辑。

同学:同学: