jsp+bean+access数据库,访问时出现错误,详细的情况请进来看看,望不吝赐教。

jianeite 2005-05-04 08:48:58
我一共有两个文件,jsp.java,实现了bean,代码如下:
package db;
import java.sql.*;
public class sql
{
String DBdriver="sun.jdbc.odbc.JdbcOdbcDriver";
String connStr="jdbc:odbc:guestbook";
Connection conn=null;
ResultSet rs=null;

public sql()
{
try
{
Class.forName(DBdriver);
}
catch(ClassNotFoundException e)
{
System.out.println("sql():"+e.getMessage());
}
}
public void executeInsert(String sql)
{
try
{
conn=DriverManager.getConnection(connStr);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException ex)
{
System.out.println("sql.excuteUpdate:"+ex.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
rs=null;
try
{
conn=DriverManager.getConnection(connStr);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.out.println("sql.executeQuery:"+ex.getMessage());
}
return rs;
}
public void executeDelete(String sql)
{
try
{
conn=DriverManager.getConnection(connStr);
Statement stmt=conn.createStatement();
stmt.executeUpdate(sql);
}
catch(SQLException ex)
{
System.out.println("sql.excuteDelete:"+ex.getMessage());
}
}
}
我的show.jsp的代码如下:
<html>
<head>
<title>追风驿站</title>
</head>

<body>
<%@ page language="java" import="java.sql.*"%>
<%@ page contentType="text/html; charset=gb2312" %>
<jsp:useBean id="sqlbean" class="db.sql" scope="session"/>
<center>
<font size="+5">追风驿站</font>
<%!
String name,url,email,sql,body;%>

<%

ResultSet RS=sqlbean.executeQuery("SELECT * FROM guestbook");
int i=0;
while(RS.next())
{
i++;
name=RS.getString(1);
email=RS.getString(2);
url=RS.getString(3);
body=RS.getString(4);
%>
<table width="80%" border="2" cellpadding="0" cellspacing="2" bordercolor="#3399CC">
<tr>
<td width="100">呢称:</td>
<td><%=name%></td>
</tr>
<tr>
<td>电子邮件:</td>
<td><a href="mailto:<%=email%>"><%=email%></a></td>
</tr>
<tr>
<td>个人主页:</td>
<td><a href="<%=url%>"><%=url%></a></td>
</tr>
<tr>
<td>留言:</td>
<td><%=body%></td>
</tr>
<tr>
<td>时间:</td>
<td><%=RS.getString(5)%></td>
</tr>
</table>
<hr color="#CC99FF" width="80%">
<%
}
RS.close();
%>
共有<%=i%>条记录
</center>
</body>
</html>
我把jsp.class放在了webapps/root/web-inf/classes/db下了,而show.jsp放在webapps/root下面,执行
http://localhost:8080/show.jsp出现了如下的错误:
Exception report

message

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

exception

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.NullPointerException
org.apache.jsp.show_jsp._jspService(show_jsp.java:70)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.27 logs.


--------------------------------------------------------------------------------
谁能帮忙看看是什么原因啊?我的系统配置应该没有问题,能够正确运行一个简单的jsp+bean的程序,而且能够在jsp中查询sqlserver 2000中的数据,就是下面这段代码我是能够正确运行的,
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=EBookStore";
//EBookStore作为你的数据库
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
String sql="select * from AuthorList";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
那位达人不吝次教,在下感激不尽,这个问题已经困扰我好长时间了,谢谢啊。
...全文
98 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fashchina 2005-05-04
  • 打赏
  • 举报
回复
是这样跟踪下,
lilovezhu 2005-05-04
  • 打赏
  • 举报
回复
你在jsp文件中的数据库联接不成功ResultSet为空,你可以加入测试语句看看!
jianeite 2005-05-04
  • 打赏
  • 举报
回复
怎么看啊?我晕了,麻烦各位说的具体点,好吗?有搞了一天,啥也没收获到啊。郁闷。。。。。。。。。。。。。。。
oyljerry 2005-05-04
  • 打赏
  • 举报
回复
先看数据库是否连接成功
jianeite 2005-05-04
  • 打赏
  • 举报
回复
楼上的两位,能详细烁烁吗?

81,116

社区成员

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

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