0

我无法使用 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;
4

1 回答 1

0

这是不正确的:

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

那是试图找到一个Driver在默认包中调用的类。

可能想要:

Class.forName(driver).newInstance();

...但即使这样也不应该是必需的:

  • 只需使用Class.forName()应该初始化类,然后将其注册到DriverManager
  • Class.forName如果您正在使用相当现代的 JRE,那么您现在不需要使用。从文档中DriverManager

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

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

Connection con = DriverManager.getConnection(...);
Statement stmt = con.createStatement();
// ...
于 2013-09-26T12:14:25.543 回答