<%@ page contentType="text/html;charset=gb2312" %>
<%@ include file="incoming/common.jsp"%>
<%@ include file="incoming/check.jsp"%>
<html>
<head>
<title>网上书店</title>
<link href="incoming/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<%@ include file="incoming/header.jsp"%>
<br><a class="title">在线购书</a><br>
<%
DBSQLManager dbsm = new DBSQLManager();
String sql="SELECT * FROM bookinfo ";
dbsm.setSqlStr(sql);
dbsm.executeQuery();
ResultSet rs=dbsm.getRs();
%>
<table width="700" border="1" cellpadding="0" cellspacing="0">
<tr>
<td width="43%" height="26"><div align="center">书名</div></td>
<td width="17%"><div align="center">作者</div></td>
<td width="17%"><div align="center">出版社</div></td>
<td width="5%"><div align="center">价格</div></td>
<td width="9%"><div align="center">操作</div></td>
</tr>
<% while(rs.next())
{
%>
<tr>
<td height="32"><div align="center"><%=rs.getString("TITLE")%></div></td>
<td><div align="center"><%=rs.getString("AUTHOR")%></div></td>
<td><div align="center"><%=rs.getString("PUBLISHER")%></div></td>
<td><div align="center"><%=rs.getFloat("PRICE")%></div></td>
<td><div align="center"><a href="bookdetail.jsp?isbn=<%=rs.getString("ISBN")%>"><img src="images/buy.gif" width="45" height="16" border="0""></a></div></td>
</tr>
<%}%>
</table>
<p> </p>
<%@ include file="incoming/footer.jsp"%>
</body>
</html>
这是上面那个文件booklist.jsp,不知道哪里有问题
<%@ include file="incoming/common.jsp"%>
<%@ include file="incoming/check.jsp"%>
<html>
<head>
<title>网上书店</title>
<link href="incoming/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<%@ include file="incoming/header.jsp"%>
<br><a class="title">在线购书</a><br>
<%
DBSQLManager dbsm = new DBSQLManager();
String sql="SELECT * FROM bookinfo ";
dbsm.setSqlStr(sql);
dbsm.executeQuery();
ResultSet rs=dbsm.getRs();
%>
<table width="700" border="1" cellpadding="0" cellspacing="0">
<tr>
<td width="43%" height="26"><div align="center">书名</div></td>
<td width="17%"><div align="center">作者</div></td>
<td width="17%"><div align="center">出版社</div></td>
<td width="5%"><div align="center">价格</div></td>
<td width="9%"><div align="center">操作</div></td>
</tr>
<% while(rs.next())
{
%>
<tr>
<td height="32"><div align="center"><%=rs.getString("TITLE")%></div></td>
<td><div align="center"><%=rs.getString("AUTHOR")%></div></td>
<td><div align="center"><%=rs.getString("PUBLISHER")%></div></td>
<td><div align="center"><%=rs.getFloat("PRICE")%></div></td>
<td><div align="center"><a href="bookdetail.jsp?isbn=<%=rs.getString("ISBN")%>"><img src="images/buy.gif" width="45" height="16" border="0""></a></div></td>
</tr>
<%}%>
</table>
<p> </p>
<%@ include file="incoming/footer.jsp"%>
</body>
</html>
这是上面那个文件booklist.jsp,不知道哪里有问题
dbsm.executeQuery();
这2句有问题
你去看下DBSQLManager里面有没有executeQuery()这个方法,他要不要穿参
========================
不过估计肯定有的
我更相信是因为你sql没有set到dbsm里面去导致他execute的时候没有sql语句导致空指针
import java.sql.*;public class DBConnectionManager {
private String driverName =
"com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String url =
"jdbc:microsoft:sqlserver://localhost:1433;databaseName=bookshop";
private String user = "sa";
private String password = "123"; public void setDriverName(String newDriverName) {
this.driverName = newDriverName;
}
public String getDriverName() {
return driverName;
}
public void setUrl(String newUrl) {
this.url = newUrl;
}
public String getUrl() {
return url;
}
public void setUser(String newUser) {
this.user = newUser;
}
public String getUser() {
return user;
}
public void setPassword(String newPassword) {
this.password = newPassword;
}
public String getPassword() {
return password;
}
public Connection getConnection() {
try
{
Class.forName(driverName);
return DriverManager.getConnection(url, user, password);
}
catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
import bookshop.*;public class DBSQLManager{
protected Connection conn = null; //Connection对象
protected Statement stmt = null; //Statement对象
protected ResultSet rs = null; //记录结果集
protected String sqlStr; //SQL语句
public DBSQLManager() {
try
{
sqlStr = "";
DBConnectionManager dcm = new DBConnectionManager();
conn = dcm.getConnection();
stmt = conn.createStatement();
}
catch (Exception e) {
System.out.println(e);
}
} public Statement getStmt() {
return stmt;
} public Connection getConn() {
return conn;
} public ResultSet getRs() {
return rs;
} public void setSqlStr(String newSqlStr) {
this.sqlStr=newSqlStr;
}
public String getSqlStr() {
return sqlStr;
} public void executeQuery() throws Exception {
rs = stmt.executeQuery(sqlStr);
}
public void executeUpdate() throws Exception {
stmt.executeUpdate(sqlStr);
}
public void close() throws SQLException {
if ( stmt != null ) {
stmt.close();
stmt = null;
}
conn.close();
conn = null;
}};