尝试使用JSP页面连接到MySql时出错

时间:2013-09-26 12:10:58

标签: java jsp exception

我无法使用JSP页面连接到MySql。这是我的连接查询 -

<%
String driver = "com.mysql.jdbc.Driver";
Class.forName("Driver").newInstance();
Connection con=null;
ResultSet rst=null;
Statement stmt=null;
con=DriverManager.getConnection("jdbc:mysql://10.1.11.103:3306/jiradb40","opsrptusr", "opsrptusr");
stmt=con.createStatement();

String query = "(select * from jiraissue limit 2)";
%>

我已将jar文件放在lib文件夹中,但仍然出现错误。

非常感谢任何帮助。


例外报告

 message An exception occurred processing JSP page /Worklog.jsp at line 5

 description The server encountered an internal error that prevented it from fulfilling this request.

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

2: <%@page import="java.text.DecimalFormat" %>
3:  <%
4: String driver = "com.mysql.jdbc.Driver";
5: Class.forName("Driver").newInstance();
6: Connection con=null;
7: ResultSet rst=null;
8: Statement stmt=null;

1 个答案:

答案 0 :(得分:0)

这是不正确的:

Class.forName("Driver").newInstance();

那是在尝试在默认包中找到一个名为Driver的类。

可能想要:

Class.forName(driver).newInstance();

......但即便如此也不需要:

  • 只需使用Class.forName()即可初始化该类,然后将其注册为DriverManager
  • 如果您正在使用相当现代的JRE,那么现在无论如何都不需要使用Class.forName。来自DriverManager的文档:

      

    应用程序不再需要使用Class.forName()明确加载JDBC驱动程序。当前使用Class.forName()加载JDBC驱动程序的现有程序将继续工作而无需修改。

请注意,作为一种风格问题,声明变量并给它们初始值null没有意义,只是立即分配一个新值。只需使用:

Connection con = DriverManager.getConnection(...);
Statement stmt = con.createStatement();
// ...