急!JSP连接不上MYSQL数据库

lansiluo12 2006-03-09 07:53:28
mysql-connector-java-3.1.12-bin文件配置好了,jdk和tomcat都没有问题,JSP代码如下
<html>
<head>
<title>ss</title>
</head>
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<body>
<h2>
ss</h2>
<table border=1 align="center">
<tr>
<td>用户名</td>
<td>姓名</td>
<td>电子邮件</td>
<td>住址</td>
</tr>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:TestData";
String username="";
String password="";
Connection con=DriverManager.getConnection(url,username,password);
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from Users");
while(rs.next())
{
%>
<tr>
<td><%=rs.getString("UserID")%></td>
<td><%=rs.getString("Name")%></td>
<td><%=rs.getString("Email")%></td>
<td><%=rs.getString("Address")%></td>
</tr>
<%
}
rs.close();
con.close();
%>
</table>
</body>
</html>

出现的部分错误页面:type Exception report

message

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

exception

javax.servlet.ServletException: No data found
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:498)
at org.apache.jsp._06_01_jsp._jspService(_06_01_jsp.java:102)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
...全文
142 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
diege2002 2006-03-16
  • 打赏
  • 举报
回复
首先,把连接数据库的代码封装到bean中
其次,你能在odbc中找到mysql的驱动?

用直连吧,不要用桥接~
把mysql的驱动导入!

xuantian868 2006-03-16
  • 打赏
  • 举报
回复
最好不要用桥连接,用jdbc直接访问数据库.
将mysql驱动导入到tomcat/common/lib中.基本就可以了.
guanzhuangtun 2006-03-15
  • 打赏
  • 举报
回复
dbname没有名字
lyhmax 2006-03-10
  • 打赏
  • 举报
回复
注意驱动,不过我一般都是写成JAVABEAN的哦。很少把他直接写在显示层.
lansiluo12 2006-03-10
  • 打赏
  • 举报
回复
不行啊
bluelily22 2006-03-09
  • 打赏
  • 举报
回复
你的odbc连呀,恐怕不行吧

把mysql的jar放到web-ini下,把你的连接url改一下
改成你jar中driver.class的路径
believefym 2006-03-09
  • 打赏
  • 举报
回复
tomcatHome\work\Catalina\localhost\webappName\org\apache\jsp\
查出错文件第102行
dogod 2006-03-09
  • 打赏
  • 举报
回复
这是我用的一个测试页:
<%@page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>

<%
//test one

String driverName="com.mysql.jdbc.Driver";
String userName="abc";
String userPasswd="mysql";
String dbName="emarket";
String tableName="user";
String url="jdbc:mysql://localhost:3306/"+dbName+"?user="+userName+"&password="+userPasswd;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection=DriverManager.getConnection(url);

Statement statement = connection.createStatement();

/*
String sql2="insert into user values "+"('"+"_userid"+"','"+"_password"+"','"+"_username"+"','"+"_email.toString()"+"','"+"_worktel"+"','"+"_address"+"');";
statement.executeUpdate(sql2);
*/



String sql="SELECT * FROM "+tableName+" ;";
rs=statement.executeQuery(sql);
//获得数据结果集合
ResultSetMetaData rmeta = rs.getMetaData();
//确定数据集的列数,亦字段数
int numColumns=rmeta.getColumnCount();
// 输出每一个数据值

out.print(tableName);


out.print("<br>");
while(rs.next()) {
out.println(rs.getString("userid"));
out.print("|");
out.println(rs.getString("username"));
out.print("|");
out.println(rs.getString("email"));
out.print("<br>");

}
out.print("<br>");
out.print("数据库操作成功,恭喜你");
rs.close();

statement.close();
connection.close();
%>

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧