<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text1/html; charset=UTF-8">
<title>JSP查询数据操作示例</title>
</head>
<body>
<%
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
//加载数据库驱动类
//Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Class.forName("com.mysql.jdbc.Driver").newInstance();
//数据库连接URL
//String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Student";
String url = "jdbc:mysql://localhost:3306/Student?useUnicode=true&characterEncoding=utf8";
//数据库用户名
String user = "root";
//数据库密码
String password = "root";
//根据数据库参数取得一个数据库连接
conn = DriverManager.getConnection(url, user, password);
stat = conn.createStatement();
String sql = "select * from userinfo";
rs = stat.executeQuery(sql);
%>
<table width="260" cellSpacing=0 height="12" style="font-size:10pt;border: 1pt">
<tr style="border:solid 1pt">
<td style="border:solid 1pt">编号</td>
<td style="border:solid 1pt">姓名</td>
<td style="border:solid 1pt">年龄</td>
<td style="border:solid 1pt">性别</td>
</tr>
<%
while(rs.next())
{
out.print("<tr style='border:solid 1pt'>");
out.print("<td style='border:solid 1pt'>"+rs.getInt("id")+"</td>");
out.print("<td style='border:solid 1pt'>"+rs.getString("name")+"</td>");
out.print("<td style='border:solid 1pt '>"+rs.getInt("age")+"</td>");
out.print("<td style='border:solid 1pt'>"+rs.getString("gender")+"</td>");
out.print("</tr>");
}
if(rs != null)
{
rs.close();
}
if(stat!=null)
{
stat.close();
}
if(conn!=null)
{
conn.close();
}
%>
</table>
</body>
</html>
驱动包加了,错误信息太长了,我截取了一点,就上面的,你看看
org.apache.jasper.JasperException: javax.servlet.ServletException: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'student'
Unknown database 'student'这边只能看出是数据名不存在,检查下MYsql中的数据库
追问这个地方让我很疑惑,我的数据库明显是有数据库student的,连大小写都一样……
追答数据库驱动类的路径再看下,我的是Class.forName("org.gjt.mm.mysql.Driver").
数据库名是student,我看过,应该没问题,权限不对是什么意思?
追答找个jdbc的工具,连接一下这个数据库就知道有没有问题了。
权限不对,意味着root无法访问该数据库