今天用javabean做了个分页结果报了500错误,结果我咋弄的弄不出来,哪位高手帮忙弄下,很急啊
下面是我写的jsp文件:
<%@ page contentType="text/html;charset=GBK" %>
<%@ page import="java.sql.ResultSet"%>
<%@ page import="char10.db.PageBean"%>
<%!
String str;
public String showResult(ResultSet rs){
String text="";
try{
while(rs.next())
{
text+="<tr>";
text+="<td>"+rs.getString("学号")+"</td>";
text+="<td>"+rs.getString("姓名")+"</td>";
text+="<td>"+rs.getString("成绩")+"</td>";
text+="</tr>";
}
}catch(Exception e){
e.printStackTrace();
}
return text;
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>成绩查询</title>
</head>
<body background="#FFFFFF">
<h2 align>分页显示</h2>
<hr>
<center>
<table border>
<tr bgcolor=lightblue>
<th>学号</th>
<th>姓名</th>
<th>分数</th>
</tr>
<%
int pages=1;
int pagesize=4;
int totalPage=PageBean.getTotalPage(pages);
try{
if(request.getParameter("page")==null||
request.getParameter("Page").equals("") )
page=1;
else
pages=Integer.parseInt(request.getParameter("Page"));
}catch(NumberFormatException e){
pages=1;
}
if(pages<1 )pages=1;
if(pages>totalPage)pages=totalPage;
ResultSet rs=PageBean.getPagePesult(pagesize, pages);
out.println(showResult(rs));
%>
</table>
<form Action="queryPage.jsp" method="get">
<%
if(pages!=1){
out.println("<a href=queryPage.jsp?Page=1>第一页</A>");
out.println("<a href=queryPage.jsp?Page="+(pages-1)+">上一页</A>");
}
if(pages!=totalPage){
out.println("<a href=queryPage.jsp?Page="+(pages+1)+">下一页</A>");
out.println("<a href=queryPage.jsp?Page="+ totalPage +">最后一页</A>");
}
rs.close();
%>
<p>输入页数
<input type="text"name="page"size="3"value="<%=pages%>">
<input type="submit" value="翻页">
页数:<font color="red"><%=pages %>/<%=totalPage %></font>
</p>
</form>
</center>
<hr>
</body>
</html>
下面是我写的javabean;
package char10.db;
import java.sql.*;
public class PageBean {
static String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
static String sConnStr="jdbc:odbc:studentDatabase";
public PageBean(){
}
public static Connection getConnection( ){
Connection conn=null;
try{
Class.forName(sDBDriver);
conn=DriverManager.getConnection(sConnStr);
} catch(ClassNotFoundException e){
e.printStackTrace( );
}catch(SQLException e1){
e1.printStackTrace( );
}
return conn;
}
public static void closeResult(ResultSet rs){
if(rs!=null ){
try{
rs.close( );
}catch(SQLException e){
}
}
}
public static void closeStatement(Statement stmt){
if(stmt!=null){
try{
stmt.close();
}catch(SQLException e){
}
}
}
public static void closeConnection(Connection conn){
if(conn!=null){
try{
conn.close();
}catch(SQLException e){
}
}
}
public static int getRowNumber(){
Connection conn=getConnection( );
int num=0;
try{
Statement stmt=conn.createStatement();
String sql="select count(*)as 学号 from 学生成绩";
ResultSet rs=stmt.executeQuery(sql);
rs.next();
num=rs.getInt("学号");
}catch(SQLException e)
{
e.printStackTrace();
}
finally{
closeConnection(conn );
}
return num;
}
public static int getTotalPage(int pageSize){
int totalPage=1;
int tmpPage=0;
int rowNum=getRowNumber( );
tmpPage=rowNum%pageSize;
if(tmpPage==0){
totalPage=rowNum/pageSize;
}else{
totalPage=(int)(Math.floor(rowNum/pageSize)+1);
}
if(totalPage==0){
totalPage=1;
}
return totalPage;
}
public static ResultSet getPagePesult(int pageSize,int page){
String sql="select * from (select row_.*,rownum rownum_from";
sql+="(Select * from student order by id)";
sql+="row_where rownum<=?)where rownum_>?";
ResultSet rs=null;
int start =(page-1)*pageSize;
int end =page*pageSize;
int rowNumber=getRowNumber( );
if(end>rowNumber)
end=rowNumber;
Connection conn=getConnection( );
try{
PreparedStatement stmt=conn.prepareStatement(sql);
stmt.setInt(1, end);
stmt.setInt(2,start );
rs=stmt.executeQuery();
}catch(SQLException e){
e.printStackTrace();
}return rs;
}
public static void main(String[]args){
System.out.println(getTotalPage(5));
}}
下面是我建立的表:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class J_AccessCreatetable { /**
* @param args
*/
public static void main(String[] args) {
try{
// TODO Auto-generated method stub
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c=DriverManager.getConnection("jdbc:odbc:studentDatabase");
Statement s=c.createStatement();
s.executeUpdate("create table Stulist("+
"u_id integer CONSTRAINT authIndex PRIMARY KEY,"+
"u_name char(20),"+
"u_test integer)");
s.close();
c.close();
System.out.println("创建数据库表:学生成绩");
}
catch (Exception e)
{
System.err.println("异常:"+e.getMessage());
}
}}
大哥大姐们快帮忙啊,我急用呢!谢谢了,预祝元旦快来
下面是我写的jsp文件:
<%@ page contentType="text/html;charset=GBK" %>
<%@ page import="java.sql.ResultSet"%>
<%@ page import="char10.db.PageBean"%>
<%!
String str;
public String showResult(ResultSet rs){
String text="";
try{
while(rs.next())
{
text+="<tr>";
text+="<td>"+rs.getString("学号")+"</td>";
text+="<td>"+rs.getString("姓名")+"</td>";
text+="<td>"+rs.getString("成绩")+"</td>";
text+="</tr>";
}
}catch(Exception e){
e.printStackTrace();
}
return text;
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>成绩查询</title>
</head>
<body background="#FFFFFF">
<h2 align>分页显示</h2>
<hr>
<center>
<table border>
<tr bgcolor=lightblue>
<th>学号</th>
<th>姓名</th>
<th>分数</th>
</tr>
<%
int pages=1;
int pagesize=4;
int totalPage=PageBean.getTotalPage(pages);
try{
if(request.getParameter("page")==null||
request.getParameter("Page").equals("") )
page=1;
else
pages=Integer.parseInt(request.getParameter("Page"));
}catch(NumberFormatException e){
pages=1;
}
if(pages<1 )pages=1;
if(pages>totalPage)pages=totalPage;
ResultSet rs=PageBean.getPagePesult(pagesize, pages);
out.println(showResult(rs));
%>
</table>
<form Action="queryPage.jsp" method="get">
<%
if(pages!=1){
out.println("<a href=queryPage.jsp?Page=1>第一页</A>");
out.println("<a href=queryPage.jsp?Page="+(pages-1)+">上一页</A>");
}
if(pages!=totalPage){
out.println("<a href=queryPage.jsp?Page="+(pages+1)+">下一页</A>");
out.println("<a href=queryPage.jsp?Page="+ totalPage +">最后一页</A>");
}
rs.close();
%>
<p>输入页数
<input type="text"name="page"size="3"value="<%=pages%>">
<input type="submit" value="翻页">
页数:<font color="red"><%=pages %>/<%=totalPage %></font>
</p>
</form>
</center>
<hr>
</body>
</html>
下面是我写的javabean;
package char10.db;
import java.sql.*;
public class PageBean {
static String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
static String sConnStr="jdbc:odbc:studentDatabase";
public PageBean(){
}
public static Connection getConnection( ){
Connection conn=null;
try{
Class.forName(sDBDriver);
conn=DriverManager.getConnection(sConnStr);
} catch(ClassNotFoundException e){
e.printStackTrace( );
}catch(SQLException e1){
e1.printStackTrace( );
}
return conn;
}
public static void closeResult(ResultSet rs){
if(rs!=null ){
try{
rs.close( );
}catch(SQLException e){
}
}
}
public static void closeStatement(Statement stmt){
if(stmt!=null){
try{
stmt.close();
}catch(SQLException e){
}
}
}
public static void closeConnection(Connection conn){
if(conn!=null){
try{
conn.close();
}catch(SQLException e){
}
}
}
public static int getRowNumber(){
Connection conn=getConnection( );
int num=0;
try{
Statement stmt=conn.createStatement();
String sql="select count(*)as 学号 from 学生成绩";
ResultSet rs=stmt.executeQuery(sql);
rs.next();
num=rs.getInt("学号");
}catch(SQLException e)
{
e.printStackTrace();
}
finally{
closeConnection(conn );
}
return num;
}
public static int getTotalPage(int pageSize){
int totalPage=1;
int tmpPage=0;
int rowNum=getRowNumber( );
tmpPage=rowNum%pageSize;
if(tmpPage==0){
totalPage=rowNum/pageSize;
}else{
totalPage=(int)(Math.floor(rowNum/pageSize)+1);
}
if(totalPage==0){
totalPage=1;
}
return totalPage;
}
public static ResultSet getPagePesult(int pageSize,int page){
String sql="select * from (select row_.*,rownum rownum_from";
sql+="(Select * from student order by id)";
sql+="row_where rownum<=?)where rownum_>?";
ResultSet rs=null;
int start =(page-1)*pageSize;
int end =page*pageSize;
int rowNumber=getRowNumber( );
if(end>rowNumber)
end=rowNumber;
Connection conn=getConnection( );
try{
PreparedStatement stmt=conn.prepareStatement(sql);
stmt.setInt(1, end);
stmt.setInt(2,start );
rs=stmt.executeQuery();
}catch(SQLException e){
e.printStackTrace();
}return rs;
}
public static void main(String[]args){
System.out.println(getTotalPage(5));
}}
下面是我建立的表:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class J_AccessCreatetable { /**
* @param args
*/
public static void main(String[] args) {
try{
// TODO Auto-generated method stub
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c=DriverManager.getConnection("jdbc:odbc:studentDatabase");
Statement s=c.createStatement();
s.executeUpdate("create table Stulist("+
"u_id integer CONSTRAINT authIndex PRIMARY KEY,"+
"u_name char(20),"+
"u_test integer)");
s.close();
c.close();
System.out.println("创建数据库表:学生成绩");
}
catch (Exception e)
{
System.err.println("异常:"+e.getMessage());
}
}}
大哥大姐们快帮忙啊,我急用呢!谢谢了,预祝元旦快来
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货