书上的一个例子,再jsp页面中使用,老没用成功,也不知道是jsp页面那边的错误,还是这个bean本身有为题,大虾们帮小弟看看,感激涕零:
-------------------------------------------------------------------------
package beans.pra;
import java.sql.*;
import java.io.*;
public class DBConn
{
String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String sConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Web1";
private Connection conn=null;
private Statement stmt=null;
ResultSet rs=null;

public DBConn()
{
try
{//注册数据库驱动程序
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e)
{
System.err.println(e.getMessage());
}
}
//建立数据库连接及定义数据查询
public ResultSet executeQuery(String sql)
{
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr,"sa","");//创建数据库联接对象
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}
//定义数据操作
public void executeUpdate(String sql)
{
stmt=null;
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr,"sa","");//创建数据库联接对象
stmt=conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
}
catch(SQLException ee)
{
System.err.println("aq.executeUpdate:"+ee.getMessage());
}
}
//关闭数据库联接
public void closeStmt()
{
try
{
stmt.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
public void closeConn()
{
try
{
conn.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
}

解决方案 »

  1.   

    你的错误没有写出来,错误原因可能是你的数据库没有装好,或者数据库密码与程序中的密码不符,还有其它语法等原因,最好把错误类型写出来,你的Catch语句中有打印错误的语句,呵呵,那就是给你判断的哦,欢迎参加程序员讨论群,共同进步,32998944(程序人生)
      

  2.   

    (我是楼主):这个类编译的时候没错,在jsp中使用出现错误如下:(根本无从下手)。
    ----------------------------------
    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause java.lang.NullPointerException
    org.apache.jsp.test_005fbean_jsp._jspService(test_005fbean_jsp.java:75)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)---------------------------------------
    我的jsp文件:(只是简单的将表的数据读出而已)<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <%@ page import="beans.pra.*" %>
    <html>
    <head>
    <title>test_bean</title>
    </head>
    <body>
    <jsp:useBean id="regBean" class="beans.pra.DBConn" scope="page" />
    <%
    try{
    //连接数据库
    String sql="select * from user";
    ResultSet rs=regBean.executeQuery(sql);
    //将数据在表格中显示
    out.print("<Table Border>");
    out.print("<TR>");
    out.print("<TH width=50>"+"name");
    out.print("<TH width=300>"+"email");
    out.print("<TH width=50>"+"www");
    out.print("<TH width=50>"+"oicq");
    out.print("</TR>");

    while(rs.next())
    {
    out.print("<TR>");
    out.print("<TD>"+rs.getInt("name")+"</TD>");
    out.print("<TD>"+rs.getString("email")+"</TD>");
    out.print("<TD>"+rs.getInt("www")+"</TD>");
    out.print("<TD>"+rs.getInt("oicq")+"</TD>");
    out.print("</TR>");
    }
    out.print("</Table>");

    regBean.closeStmt();
    regBean.closeConn();
    }
    catch(SQLException e){out.print(e);}
    %>
    </body>
    </html>
      

  3.   

    你的类不是一个javabean ,不否和javabean 标准,最好用import来操作