书上的一个例子,再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();
}
}
}
-------------------------------------------------------------------------
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();
}
}
}
----------------------------------
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>