resin下jsp的bean访问数据库有问题,实在是不知道哪里有毛病。
哪位朋友能告诉我到底什么地方有问题。
我照着《jsp网络程序设计》的实例做的,但是老是有错误?
javabean程序如下:放在目录D:\Software\resin-2.0.2\doc\WEB-INF\classes\person下。
package person;
import java.sql.*;
public class personbean{
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr="jdbc:odbc:k_person";
Connection conn=null;
ResultSet rs=null;
public personbean(){
try{
Class.forName(sDBDriver);
}catch(java.lang.ClassNotFoundException e){
System.err.println("personbean(): "+e.getMessage());
}
}
public ResultSet executeQuery(String sql){
rs=null;
try{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("aq.executeQuery: "+ex.getMessage());
}
return rs;
}
}
jsp程序如下:放在目录D:\Software\resin-2.0.2\doc\kkk下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html";charset=gb2312">
<title>档案</title>
</head>
<body>
<p><b>YX Co. 档案</b></p>
<%@ page language="Java" import="java.sql.*" %>
<jsp:useBean id="p_bean" scope="page" class="person.personbean"/>
<%
ResultSet rs=p_bean.executeQuery("select * from inf");
String kk="";
while (rs.next()){
kk=rs.getString("ID");
out.print("<LI>"+kk+"</li><br>");
out.print(rs.getString("Name"));
out.print(" ");
out.print(rs.getString("Age"));
out.print(" ");
out.print(rs.getString("Add"));
out.print(" ");
out.print(rs.getString("Tel"));
out.print(" ");
out.print(rs.getString("Note"));
}
rs.close();
%>
</body>
</html>
运行后报错:
500 Servlet Exception
java.sql.SQLException
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:285)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:376)
at _zhk._person_0inf__jsp._jspService(/zhk/person_inf.jsp:39)
at com.caucho.jsp.JavaPage.service(JavaPage.java:87)
at com.caucho.jsp.JavaPage.subservice(JavaPage.java:81)
at com.caucho.jsp.Page.service(Page.java:474)
at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:166)
at com.caucho.server.http.Invocation.service(Invocation.java:277)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:129)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:216)
at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:158)
at com.caucho.server.TcpConnection.run(TcpConnection.java:140)
at java.lang.Thread.run(Thread.java:484)
--------------------------------------------------------------------------Resin 2.0.2 (built Mon Aug 27 16:52:49 PDT 2001)
数据库是access。
odbc也照书上的设了。
请告诉我什么地方有问题。