java servlet 分页显示_科学网—jsp servlet javaBean实现oracle数据库分页显示 - 姜红的博文...

一:起始提交页面choiceDatabase.java

pageEncoding="UTF-8"%>

oracle数据库jh,表名是student


输入每页显示的记录数:

二:显示页面

您查询的数据库:

查询的表:


记录分页

每页最多显示条记录

目前显示第页

三:javaBean ShowByPage.java

package flower.grass;

import java.sql.*;

import java.util.Vector;

import com.sun.corba.se.pept.transport.Connection;

public class ShowByPage{

static int pageSize=2;//每页显示的记录数

int pageAllCount=0;//分页后的总页数

int rowCount=0;//总行数

int showPage=1;//当前显示页

String tableName="";

String databaseName="";

ResultSet rs;

Vector result;

Vector pageCld;

Vector v=new Vector();

public void setPageSize(int mm) {

// TODO Auto-generated method stub

pageSize=mm;

}

public int getPageSize() {

// TODO Auto-generated method stub

return pageSize;

}

public int getPageAllCount() {

// TODO Auto-generated method stub

return pageAllCount;

}

public void setPageAllCount(int n) {

// TODO Auto-generated method stub

pageAllCount=n;

}

public int getShowPage() {

// TODO Auto-generated method stub

return showPage;

}

public void setShowPage(int n) {

// TODO Auto-generated method stub

showPage=n;

}

public void setTableName(String s) {

// TODO Auto-generated method stub

tableName=s.trim();

}

public String getTableName(){

return tableName;

}

public void setDatabaseName(String s) {

// TODO Auto-generated method stub

databaseName=s.trim();

}

public String getDatabaseName(){

return databaseName;

}

public int getRowCount() {

// TODO Auto-generated method stub

return rowCount;

}

public void setRowCount(int s) {

// TODO Auto-generated method stub

rowCount=s;

}

public void setResult(Vector v) {

result = v;

}

public   Vector   getResult(){

return   result;

}

public void setPageCld(Vector v) {

pageCld = v;

}

public   Vector   getPageCld(){

return   pageCld;

}

}

四servlet HandleDatabase.java

package rain.snow;

import flower.grass.ShowByPage;

import java.io.IOException;

import java.sql.*;

import java.util.Vector;

import javax.servlet.*;

import javax.servlet.http.*;

public class HandleDatabase extends HttpServlet{

/**

*

*/

private static final long serialVersionUID = 1L;

int RowCount=0;

ResultSet rs=null;

Connection con;

ShowByPage databaseBean=null;

String databaseName;

String tableName;

Vector v=new Vector();

public void init(ServletConfig config)throws ServletException{

super.init(config);

try{Class.forName("oracle.jdbc.driver.OracleDriver");}

catch(Exception e){}

}

public void doPost(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException{

ShowByPage databaseBean=null;

HttpSession session=request.getSession(true);

try{ databaseBean=(ShowByPage)session.getAttribute("database1");

if(databaseBean==null){

databaseBean=new ShowByPage();

session.setAttribute("database1", databaseBean);

}

}    catch(Exception exp){

databaseBean=new ShowByPage();

session.setAttribute("database1", databaseBean);

}

//String databaseName=request.getParameter("databaseName");

//String tableName=request.getParameter("tableName");

//String ps=request.getParameter("pageSize");

String databaseName=(String)session.getAttribute("databaseName");

if(databaseName==null){

session.setAttribute("databaseName", "jh");

}

String tableName=(String)session.getAttribute("tableName");

if(tableName==null){

session.setAttribute("tableName", "student");

}

String ps=(String)session.getAttribute("pageSize");

if(ps==null){

session.setAttribute("ps", "2");

}

if(ps!=null){

try{

int mm=Integer.parseInt(ps);

databaseBean.setPageSize(mm);

}

catch(NumberFormatException exp){databaseBean.setPageSize(1);}

}

boolean boo=databaseName!=null&&tableName!=null&&databaseName.length()>0&&tableName.length()>0;

//System.out.println("databaseName="+databaseName+"tableName="+tableName+"databaseName.length()="+databaseName.length()+"tableName.length()="+tableName.length());

System.out.println("boo="+boo);

if(boo){

String uri="jdbc:oracle:thin:@127.0.0.1:1521:"+databaseName;

try{//获取总行数,总页数

int showPage=databaseBean.getShowPage();

int pageSize=databaseBean.getPageSize();

con=DriverManager.getConnection(uri,"jh","jh");

Statement sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

ResultSet rst=sql.executeQuery("SELECT * FROM "+tableName);

if(rst.next()){

rst.last();

RowCount=rst.getRow();

}

int n=pageSize;

int pageAllCount=((RowCount%n)==0)?(RowCount/n):(RowCount/n+1);

databaseBean.setPageAllCount(pageAllCount);

//System.out.print(pageAllCount);

//判断为哪一页

String whichPage=request.getParameter("whichPage");

if(whichPage==null||whichPage.length()==0){

showPage=1;

System.out.println("showPage="+showPage);

databaseBean.setShowPage(showPage);

}

else if(whichPage.equals("nextPage")){

showPage++;

if(showPage>databaseBean.getPageAllCount())

showPage=1;

System.out.println("showPage="+showPage);

databaseBean.setShowPage(showPage);

}

else if(whichPage.equals("previousPage")){

showPage--;

if(showPage<=0)

showPage=databaseBean.getPageAllCount();

System.out.println("showPage="+showPage);

databaseBean.setShowPage(showPage);

}

//取得要显示的结果集,并存放在vector中

ResultSet rs=sql.executeQuery("select * from (select rownum r,no ,name,math,chinese,english from " +

"(select no,name,math,chinese,english from student))" +

" where r between " +((showPage-1) * pageSize + 1)+ " and " +(showPage* pageSize));

System.out.println("showPage="+showPage);

int i=0;

while(rs.next()){

if(i

Object[]   obj=new   Object[5];

obj[0]=rs.getString("no");

obj[1]=rs.getString("name");

obj[2]=rs.getFloat("math");

obj[3]=rs.getFloat("chinese");

obj[4]=rs.getFloat("english");

for(int k=0;k<5;k++){

v.add(obj[k]);

}

}

i++;

}

session.setAttribute("result", v);

rs.close();

sql.close();

con.close();

}

catch(SQLException exp){}

}

RequestDispatcher dispatcher=request.getRequestDispatcher("/showRecord.jsp");

dispatcher.forward(request,response);

}

public void doGet(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException{

doPost(request,response);

}

}

转载本文请联系原作者获取授权,同时请注明本文来自姜红科学网博客。

链接地址:http://blog.sciencenet.cn/blog-437884-327059.html

上一篇:把vector的内容输出到jsp页面上

下一篇:对上一篇javaBean的改进

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值