<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="Login"%>
<%@ page import="PageNumber"%>
<%@ page import="java.io.*"%>
<jsp:useBean id="pagenumber" class="PageNumber" scope="session"></jsp:useBean>
<jsp:useBean id="login" class="Login" scope="session"></jsp:useBean>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body>
<%@ include file="head.txt"%>
<p>图书目录:
<%! Connection con=null;
public void showList(ResultSet rs,javax.servlet.jsp.JspWriter out,int n,String buybook)
{
try
{
out.println("<Table Border>");
out.print("<tr>");
out.print("<th width=50>"+"<font size=1>"+"id"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"订购号"+"</font>");
out.print("<th width=70>"+"<font size=1>"+"书名"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"作者"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"出版社"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"出版时间"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"价钱"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"分类"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"添加到定单"+"</font>");
out.print("</tr>");
for(int i=1;i<=n;i++)
{
String id=rs.getString(1);
out.print("<tr>");
out.print("<th width=50>"+"<font size=1>"+id+"</font>");
out.print("<th width=50>"+"<font size=1>"+rs.getString(2)+"</font>");
out.print("<th width=70>"+"<font size=1>"+rs.getString(3)+"</font>");
out.print("<th width=60>"+"<font size=1>"+rs.getString(4)+"</font>");
out.print("<th width=60>"+"<font size=1>"+rs.getString(5)+"</font>");
out.print("<th width=50>"+"<font size=1>"+rs.getString(6)+"</font>");
out.print("<th width=20>"+"<font size=1>"+rs.getString(7)+"</font>");
out.print("<th width=50>"+"<font size=1>"+rs.getString(8)+"</font>");
String s1="<form action="+buybook+" method=get>";
String s2="<input type=hidden name=id value="+id+">";
String s3="<input type=submit value=订购></form>";
String s=s1+s2+s3;
out.print("<td>"+s+"</td>");
out.print("</tr>");
rs.next();
}
out.print("</table>");
}
catch(Exception e1)
{
}
}
%>
<% Statement sql=null;
ResultSet rs=null;
int rowCount=0;
if(con==null)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e2)
{
out.print(e2);
}
try
{
con=DriverManager.getConnection("jdbc:odbc:zhang","scott","tiger");
sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=sql.executeQuery("select * from BOOK");
rs.last();
int number=rs.getRow();
rowCount=number;
pagenumber.setPageSize(3);
pagenumber.setPageCount(rowCount,pagenumber.getPageSize());
out.print("共有"+pagenumber.getPageCount()+"页,");
out.print("每页显示"+pagenumber.getPageSize()+"条记录");
}
catch(SQLException e3)
{
out.print("e3");
}
}
else
{
synchronized(con)
{
try
{
sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs.last();
int number=rs.getRow();
rowCount=number;
pagenumber.setPageSize(3);
pagenumber.setPageCount(rowCount,pagenumber.getPageSize());
out.print("共有"+pagenumber.getPageCount()+"页");
out.print("每页显示"+pagenumber.getPageSize()+"条记录");
}
catch(SQLException e4)
{
out.print(e4);
}
}
}
%>
<%
String str=response.encodeURL("showBookList.jsp");
String buybook=response.encodeURL("buybook.jsp");
%>
<form action="<%=str%>" method="post">
显示下一页:<input type="hidden" name="a" value="next">
<input type="submit" value="next">
</form>
<form action="<%=str%>" method="post">
显示上一页:<input type="hidden" name="a" value="previous">
<input type="submit" value="previous">
</form>
<form action="<%=str%>" method="post">
输入欲显示的页<input type="text" name="a" value="1">
<input type="submit" value="submit">
</form>
<% String s=request.getParameter("a");
if(s==null)
{
s="1";
}
if(s.equals("next"))
{
int n=pagenumber.getShowPage();
n=n+1;
if(n>pagenumber.getPageCount())
{
n=1;
}
pagenumber.setShowPage(n); out.print("目前显示"+pagenumber.getShowPage()+"页");
rs.absolute((n-1)*pagenumber.getPageSize()+1);
showList(rs,out,pagenumber.getPageSize(),buybook);
}
else if(s.equals("previous"))
{
int n=pagenumber.getShowPage();
n=n-1;
if(n<=0)
{
n=pagenumber.getPageCount();
}
pagenumber.setShowPage(n);
out.print("目前显示第"+pagenumber.getShowPage()+"页");
rs.absolute((n-1)*pagenumber.getPageSize()+1);
showList(rs,out,pagenumber.getPageSize(),buybook);
}
else
{
int m=Integer.parseInt(s);
pagenumber.setShowPage(m);
out.print("目前显示第"+pagenumber.getShowPage()+"页");
int n=pagenumber.getShowPage();
rs.absolute((n-1)*pagenumber.getPageSize()+1);
showList(rs,out,pagenumber.getPageSize(),buybook);
}
%>
</body>
</html>
这是我的原代码。可是打开时正常。可一点下一页就出错。
提示
java.lang.NullPointerException
高手快帮帮我啊。明天交不了这门课要挂啊。
<%@ page import="Login"%>
<%@ page import="PageNumber"%>
<%@ page import="java.io.*"%>
<jsp:useBean id="pagenumber" class="PageNumber" scope="session"></jsp:useBean>
<jsp:useBean id="login" class="Login" scope="session"></jsp:useBean>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body>
<%@ include file="head.txt"%>
<p>图书目录:
<%! Connection con=null;
public void showList(ResultSet rs,javax.servlet.jsp.JspWriter out,int n,String buybook)
{
try
{
out.println("<Table Border>");
out.print("<tr>");
out.print("<th width=50>"+"<font size=1>"+"id"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"订购号"+"</font>");
out.print("<th width=70>"+"<font size=1>"+"书名"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"作者"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"出版社"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"出版时间"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"价钱"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"分类"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"添加到定单"+"</font>");
out.print("</tr>");
for(int i=1;i<=n;i++)
{
String id=rs.getString(1);
out.print("<tr>");
out.print("<th width=50>"+"<font size=1>"+id+"</font>");
out.print("<th width=50>"+"<font size=1>"+rs.getString(2)+"</font>");
out.print("<th width=70>"+"<font size=1>"+rs.getString(3)+"</font>");
out.print("<th width=60>"+"<font size=1>"+rs.getString(4)+"</font>");
out.print("<th width=60>"+"<font size=1>"+rs.getString(5)+"</font>");
out.print("<th width=50>"+"<font size=1>"+rs.getString(6)+"</font>");
out.print("<th width=20>"+"<font size=1>"+rs.getString(7)+"</font>");
out.print("<th width=50>"+"<font size=1>"+rs.getString(8)+"</font>");
String s1="<form action="+buybook+" method=get>";
String s2="<input type=hidden name=id value="+id+">";
String s3="<input type=submit value=订购></form>";
String s=s1+s2+s3;
out.print("<td>"+s+"</td>");
out.print("</tr>");
rs.next();
}
out.print("</table>");
}
catch(Exception e1)
{
}
}
%>
<% Statement sql=null;
ResultSet rs=null;
int rowCount=0;
if(con==null)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e2)
{
out.print(e2);
}
try
{
con=DriverManager.getConnection("jdbc:odbc:zhang","scott","tiger");
sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=sql.executeQuery("select * from BOOK");
rs.last();
int number=rs.getRow();
rowCount=number;
pagenumber.setPageSize(3);
pagenumber.setPageCount(rowCount,pagenumber.getPageSize());
out.print("共有"+pagenumber.getPageCount()+"页,");
out.print("每页显示"+pagenumber.getPageSize()+"条记录");
}
catch(SQLException e3)
{
out.print("e3");
}
}
else
{
synchronized(con)
{
try
{
sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs.last();
int number=rs.getRow();
rowCount=number;
pagenumber.setPageSize(3);
pagenumber.setPageCount(rowCount,pagenumber.getPageSize());
out.print("共有"+pagenumber.getPageCount()+"页");
out.print("每页显示"+pagenumber.getPageSize()+"条记录");
}
catch(SQLException e4)
{
out.print(e4);
}
}
}
%>
<%
String str=response.encodeURL("showBookList.jsp");
String buybook=response.encodeURL("buybook.jsp");
%>
<form action="<%=str%>" method="post">
显示下一页:<input type="hidden" name="a" value="next">
<input type="submit" value="next">
</form>
<form action="<%=str%>" method="post">
显示上一页:<input type="hidden" name="a" value="previous">
<input type="submit" value="previous">
</form>
<form action="<%=str%>" method="post">
输入欲显示的页<input type="text" name="a" value="1">
<input type="submit" value="submit">
</form>
<% String s=request.getParameter("a");
if(s==null)
{
s="1";
}
if(s.equals("next"))
{
int n=pagenumber.getShowPage();
n=n+1;
if(n>pagenumber.getPageCount())
{
n=1;
}
pagenumber.setShowPage(n); out.print("目前显示"+pagenumber.getShowPage()+"页");
rs.absolute((n-1)*pagenumber.getPageSize()+1);
showList(rs,out,pagenumber.getPageSize(),buybook);
}
else if(s.equals("previous"))
{
int n=pagenumber.getShowPage();
n=n-1;
if(n<=0)
{
n=pagenumber.getPageCount();
}
pagenumber.setShowPage(n);
out.print("目前显示第"+pagenumber.getShowPage()+"页");
rs.absolute((n-1)*pagenumber.getPageSize()+1);
showList(rs,out,pagenumber.getPageSize(),buybook);
}
else
{
int m=Integer.parseInt(s);
pagenumber.setShowPage(m);
out.print("目前显示第"+pagenumber.getShowPage()+"页");
int n=pagenumber.getShowPage();
rs.absolute((n-1)*pagenumber.getPageSize()+1);
showList(rs,out,pagenumber.getPageSize(),buybook);
}
%>
</body>
</html>
这是我的原代码。可是打开时正常。可一点下一页就出错。
提示
java.lang.NullPointerException
高手快帮帮我啊。明天交不了这门课要挂啊。
解决方案 »
- 安装myeclipse6.5找不到系统指定的文件
- 回帖的引用回复功能怎么实现的 知道的最好给点源码 谢谢
- 请问 Filter和Listener的区别。
- 开发者突击:Java Web主流框架整合开发:J2EE+Struts+Hibernate+Spring
- struts2的url乱码问题,action传值没有乱码。
- tomcat6.0怎么部署SSH项目
- 请教高手们一个问题~~帮帮忙!!
- 客户端jsp页面关掉后在服务器端怎么能知道?????、
- 一个可笑的问题
- 计数器小问题?请看看
- 我有一段代码,是javascrip对表格每一行自动求和的,但我想时实反映求和的结果,写如表格的最右一列。我该如何写
- validator 国际化
。
楼主是不是包倒错了啊。。好象是包名加类名了。。怎么没有啊。。
首先
1、rs=sql.executeQuery("select * from BOOK");
rs.last();执行完之后你应该把指针从新回到开始rs.first();
2、 for(int i=1;i<=n;i++)循环,最好不要用。
应该用while( rs.next()&&i<+n)循环。
仅供参考。
这样写你觉得累吗
out.println("<Table Border>");
out.print("<tr>");
out.print("<th width=50>"+"<font size=1>"+"id"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"订购号"+"</font>");
out.print("<th width=70>"+"<font size=1>"+"书名"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"作者"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"出版社"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"出版时间"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"价钱"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"分类"+"</font>");
out.print("<th width=50>"+"<font size=1>"+"添加到定单"+"</font>");
out.print("</tr>");直接写出来不行啊