我正在尝试将MySQL连接到JSP网站。以下是目前采取的步骤:
MySQL command line client
时,系统会提示我输入密码,这与我在安装过程中输入的密码相同。
我能够创建数据库和表,将行插入表等。我有一个管理员和一个用户。
SELECT CURRENT_USER();
返回:root@localhost
我需要一个MySQL连接器,所以我去了这里:
http://www.mysql.com/get/Downloads/Connector-J/mysql-connector-java-3.0.9-stable.zip并下载了此zip文件:
mysql-connector-java-3.0.9-stable.zip
我解压缩了档案,拿了一个名为mysql-connector-java-3.0.9-stable-bin.jar
的jar文件并将其放在Tomcat网站文件夹中:
C:\ Program Files \ Apache Software Foundation \ Tomcat 5.5 \ web应用\数据访问\ WEB-INF \ lib中
(这个.jar应该被复制到需要访问数据库的每个Web应用程序的WEB-INF \ lib \文件夹中;我还有那些运行良好的JSTL jar文件)
" C:\ Program Files \ Apache Software Foundation \ Tomcat 5.5 \ web应用\数据访问\ booklist.jsp"
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql_rt" %>
<sql:setDataSource var="datasource" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/rentbooks"
user="root" password="1234"/>
<sql:query dataSource="${datasource}" var="result" > SELECT id, title, authors FROM book </sql:query>
<html>
<head>
<title>A First JSP Database</title
</head>
<body>
<table border="1">
<tr>
<td>id</td><td>title</td><td>authors</td>
</tr>
<c:forEach items="${result.rows}" var="row">
<tr>
<td><c:out value="${row.id}" /></td>
<td><c:out value="${row.title}" /></td>
<td><c:out value="${row.authors}" /></td>
</tr>
</c:forEach>
</table>
</body>
</html>
不确定为什么在这个阶段我收到错误:
type Exception report exception
org.apache.jasper.JasperException: Exception in JSP: /booklist.jsp:10
9: user="root" password="1234"/>
10: <sql:query sql="SELECT id, title, authors FROM book" var="result"
11: dataSource="${datasource}"/>
更准确地说明错误消息:&#34;由于异常而无法连接到任何主机:java.lang.ArrayIndexOutOfBoundsException:44&#34; 有什么帮助吗?数据库,表和字段名称是正确的。我如何知道它是否与JDBC连接器相关或者它是否无法连接到数据库?或者,如果它连接但无法读取数据? 在MySql安装期间,我创建了一个名为sammy的用户名,但是当我输入MySQL命令行时,它返回的当前用户是&#34; root @ localhost&#34;。 先感谢您。我试图尽可能详细地说明这些步骤。
答案 0 :(得分:1)
在我用更新版本5.0.8替换mysql-connector-java-*-bin.jar
之后它终于奏效了(我在这里找到了它:
http://dev.mysql.com/downloads/connector/j/5.0.html;我下载了这个zip文件:mysql-connector-java-5.0.8.zip,解压缩归档文件,将名为mysql-connector-java-5.0.8-bin.jar的jar文件放在Tomcat网站文件夹中。
我重新启动了Tomcat和MySql,现在它可以工作了。顺便说一句,我输入的用户名是root
,但在安装过程中我选择了一个不同的用户名。不知道为什么。
我会在这里留下这个问题,以防它也帮助其他人,特别是因为我详细说明了我的所有步骤。