【问题标题】:problem with connecting to a mySQL data source using jsp使用 jsp 连接到 mySQL 数据源的问题
【发布时间】:2011-06-15 18:29:38
【问题描述】:

我有一个简短的 jsp 页面,它尝试建立与名为“test”的 mySQL 数据库的连接。我试图在 Tomcat 中正确部署它,但没有成功。所有其他 jsp 页面都运行良好。此页面在执行时会出错。我仍然是一名学生,我正在尝试对此进行试验。我已经得到了 mysql-connector-java-5.1.16-bin.jar 并尝试将它放在我搜索这个问题时找到的答案中的位置。 jsp页面包括;​​

<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>

Connection con = null;

try
        {
            String connectionURL = "jdbc:mysql://localhost:3306/test";

            Class.forName("com.mysql.jdbc.Driver").newInstance();
            con = DriverManager.getConnection(connectionURL);

        }
        catch(SQLException ex)
        {
            throw new ServletException("Servlet could not display records.",ex);
        }
        catch(ClassNotFoundException ex)
        {
            throw new ServletException("JDBC Driver not found",ex);
        }

错误是;

org.apache.jasper.JasperException: An exception occurred processing JSP page /access_exp_two.jsp at line 72

69:         {
70:             String connectionURL = "jdbc:mysql://localhost:3306/test";
71:             
72:             Class.forName("com.mysql.jdbc.Driver").newInstance();
73:             con = DriverManager.getConnection(connectionURL);
74:             
75:         }

.....

root cause
javax.servlet.ServletException: JDBC Driver not found
.....

root cause
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
.....

我认为出现这种错误是因为我没有正确部署 Tomcat 中的所有内容。如果有人能清楚地说明如何在 web.xml 文件中声明资源,修改 context.xml 文件,那将是一个巨大的帮助(此外,我不太明白每个人指的是哪个 context.xml 文件,因为它是不同的在每个答案中)。这可能是一个不合适的问题,但请至少以正确的方式指出我。非常感谢,提前。

【问题讨论】:

    标签: mysql jsp tomcat7


    【解决方案1】:

    尝试将其放在我在谷歌上搜索此问题时找到的答案中。

    webapp 的/WEB-INF/lib 文件夹在其中吗?在您直接在 JSP 中加载驱动程序的这种特殊情况下,它应该被放置在那里。

    另外我不太明白大家指的是哪个 context.xml 文件,因为每个答案都不一样

    这仅适用于您使用由 servletcontainer 管理的connection pooled datasource 时。但是您手动加载驱动程序并使用DriverManager#getConnection() 方法而不是DataSource#getConnection(),因此context.xml 与您无关。但是,建议采用这种方法。连接池大大提高了getConnection() 的性能,Java 代码doesn't 属于一个JSP 文件。

    另见:

    【讨论】:

    • 嘿,它有效。我怎么错过了。嘿,谢谢负载,我一直在努力寻找几个小时的解决方案。感谢您的建议,我将继续研究连接池数据源。再次感谢。
    • 不客气。 /WEB-INF/lib 文件夹只是您的 webapp 代码需要导入/使用的所有 3rd 方 JAR 文件的容器。
    猜你喜欢
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 2012-03-26
    • 1970-01-01
    • 2013-05-21
    • 2014-12-25
    相关资源
    最近更新 更多