当前位置: 首页 > 知识库问答 >
问题:

连接池中没有合适的驱动程序异常

韦望
2023-03-14

我试图使用servlet实现连接池。我知道有很多类似的问题被问到,但没有一个能帮上忙。

以下是例外:

我在WEB-INF/lib文件夹中添加了jar文件。

下面是我的Servlet代码:

package connection;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

@WebServlet("/CityInfoServlet")
public class CityInfoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

DataSource dataSource = null;

public void init( ServletConfig config ) {
    try{  
        Context initContext = new InitialContext();
        Context envContext = (Context) initContext.lookup("java:/comp/env");
        dataSource = (DataSource) envContext.lookup("jdbc/worldDB");
    }
    catch( Exception exe )
    {
        exe.printStackTrace();
    }
}

public void doGet(HttpServletRequest request, HttpServletResponse response)  throws ServletException, IOException{
    response.setContentType("text/html");

    PrintWriter out = response.getWriter();
    String title = "City Information From Mysql Database";
    out.print("<html><body bgcolor=\"#f0f0f0\">");
    out.print("<h1 align=\"center\">" + title + "</h1>\n");
    showCityInformation(out);

    out.print("</body></html>");
}

private void showCityInformation( PrintWriter out )
{
    Connection connection = null;
    PreparedStatement preparedStatement = null;
    try {

        String sql = "select * from city limit ?";
        connection = dataSource.getConnection();

        preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setInt(1, 10);

        ResultSet rs = preparedStatement.executeQuery();

        while( rs.next() )
        {
            int id = rs.getInt(1);
            String name = rs.getString(2);
            String countryCode = rs.getString(3);
            String district = rs.getString(4);
            int population = rs.getInt(5);

            out.print("ID: " + id + "<br>");
            out.print("Name: " + name+ "<br>");
            out.print("CountryCode: " + countryCode+ "<br>");
            out.print("District: " + district+ "<br>");
            out.println("Population: " + population+ "<br>");
            out.println("--------------------------------------"+ "<br>");
        }

        rs.close();

    }

    catch( Exception e )
    {
        e.printStackTrace();
    }
    finally
    {
        try {
            if( preparedStatement != null ) {
                preparedStatement.close();
            }
        }
        catch( SQLException sqlException ){
            sqlException.printStackTrace();
        }
        try
        {
            if( connection != null )
            {
                connection.close();
            }
        }
        catch( SQLException sqlException )
        {
            sqlException.printStackTrace();
        }
    }
  }
}

这是context.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/worldDB" auth="Container" type="javax.sql.DataSource"
    maxTotal="100" maxIdle="30" maxWaitMillis="10000"
    username="root" password="12345" driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/world"/>
</Context>

共有1个答案

谭鹏云
2023-03-14
Cannot create JDBC driver of class for connect URL null

连接的URL没有设置,因此JDBC库无法确定要加载的驱动程序。

 类似资料:
  • 我不知道这个代码有什么问题?它抛出一个SQL异常:没有找到适合jdbc的驱动程序:mysql://localhost:3306/test. 但是我已经包含了jar文件mysql-connector-java-5.0.8-bin.jar 我试图通过数据源通过连接池获得连接。 我希望有人能帮我解决这个问题。 请忽略如果有任何日志错误我希望有人来解决连接错误已突出显示在上面 项目的上下文文件如下所示 堆

  • 我正在尝试运行Selenium测试。我正在使用C#。我试过的每个司机都有问题。 看起来像是chromedriver。已找到exe,但它可以找到Chrome二进制文件。我设置了通往chrome的路径。自动搜索失败后显式执行。我甚至在最后用“chrome.exe”试过了。我总是得到同样的结果: 在以下位置找不到Chrome二进制文件: C:\用户\Vilem\AppData\本地\谷歌\Chrome\

  • 我试图将JavaEE应用程序部署到运行在ubuntu服务器上的payara服务器,但当应用程序运行时,会引发数据库异常。我想要注意的是,相同的配置和文件在我的本地windows机器上运行时没有任何问题。这里是一些关于我的配置的信息,如果任何其他的细节需要或错过请让我知道。 MySQL Server 5.7版 数据库异常 本地异常堆栈:异常[EclipseLink-4002](Eclipse Per

  • 我试图理解Datastax Cassandra驱动程序中的连池,因此我可以更好地在我的Web服务中使用它。 我有留档的1.0版。它说: Java驱动程序异步使用连接,因此可以在同一个连接上同时提交多个请求。 他们通过连接理解什么?当连接到集群时,我们有:一个生成器、一个集群和一个会话。他们中的哪一个是连接? 例如,有一个参数: MaxSimultaneousRecestsPerConnection

  • 我正在尝试在独立模式下使用OracleJDBC8(ojdbc8.jar)在Kafka中运行oracle源代码连接器。我已经下载了confluent的jdbc JAR和ojdbc8。甲骨文网站上的jar。我已经在本地进行了测试,效果很好,但在我们的测试环境中,它抛出了以下错误: 完整错误消息: 插件的路径也很好,因为它正在注册所有JAR。我在网上找到了一些修复方法,包括将插件路径放在CLASSPAT

  • 我正在使用JDBC接收器连接器尝试Kafka和Postgres接收器。 例外: 水槽特性: 我已经设置了< code > plugin . path =/usr/share/Java/Kafka-connect-JDBC /usr/share/java/kafka-connect-jdbc我有以下文件: , , 和其他一些基本上与汇合物一起打包的罐子。 然后我下载了 postgres-jdbc 驱