求分页查询的代码。该如何处理

求分页查询的代码。
要写一个分页查询,页面是html5,后台是servlet写的,求分页查询的代码。该如何处理就是这个样子的,求大神给代码。
------解决思路----------------------

function getChildProdPageInfo(childProdDescLink,newsCount,pageIdx,pageDivId)
{
var pageItemHtml='';
var pageForwardHtml = '';
var pageReverseHtml = '';
var isExtend = false;
var pageInfoHtml='';
for(idx=0,len=newsCount;idx<len;idx++)
{
//判断是否第一页,如是,不加上一页链接,如不是,加上一页连接
if((idx+1)==(pageIdx-1)&&pageIdx!=1)
{
pageForwardHtml='<a href="#" target="_self" onclick="getChildProdPageInfo(\''+childProdDescLink+'\','+newsCount+','+(pageIdx-1)+',\''+pageDivId+'\')" >上一页</a>';
}
//判断是否最后一页,如是,不加下一页链接,否则加上下一页链接
if(pageIdx<len&&(idx+1)==(pageIdx+1))
{
pageReverseHtml='<a href="#" target="_self" onclick="getChildProdPageInfo(\''+childProdDescLink+'\','+newsCount+','+(pageIdx+1)+',\''+pageDivId+'\')" >下一页</a>';
}
//判断是否超过6页,如果超过,加extend扩展,否则加每一页的连接
if(Math.abs(idx+1-pageIdx)>5&&isExtend==false)
{

pageItemHtml+='<a href="#" target="_self" onclick="getChildProdPageInfo(\''+childProdDescLink+'\','+newsCount+','+(idx+1)+',\''+pageDivId+'\')" >...</a>';
isExtend=true;
}
else
{
//当前页
if((idx+1)==pageIdx)
{
pageItemHtml+='<a href="#" target="_self" onclick="getChildProdPageInfo(\''+childProdDescLink+'\','+newsCount+','+(idx+1)+','+pageDivId+'\')" >'+'<font class="red">['+pageIdx+']</font>'+'</a>';
}
else
{
pageItemHtml+='<a href="#" target="_self" onclick="getChildProdPageInfo(\''+childProdDescLink+'\','+newsCount+','+(idx+1)+',\''+pageDivId+'\')" >'+(idx+1)+'</a>';
}
isExtend=false;
}
}

//组合最终的分页信息并打开当前点击页的咨询连接
pageInfoHtml+='<div class="Page">';
pageInfoHtml+=pageForwardHtml;
pageInfoHtml+=pageItemHtml;
pageInfoHtml+=pageReverseHtml;
pageInfoHtml+='</div>';
$('#'+pageDivId).html(pageInfoHtml);
//刷新静态化html咨询页面
var index = childProdDescLink.indexOf('html');
var htmlPath = '/webfin/'+childProdDescLink.substr(0,(index-1))+'_'+pageIdx+'.html';
window.open(htmlPath,"prodDetailHtmliFrame");

}


参考如上,之前写的,支持"上一页2,3,4,5...下一页"这种,当前页高亮显示,传的数据格式自己定,前端分页
------解决思路----------------------
求分页查询的代码。该如何处理你想要实现的是在Servlet里面逻辑实现分页,然后直接访问对应的Servlet时候返回相应的html静态页面对不?
其实对于分页这个问题,是很常见的一个问题,你可以系统地学习一下,要从下面几个方向考虑:
1:要实现分页的数据是关于什么的,总共有多少条数据
2:每页显示多少条数据,在总数据条数跟每页显示数据条数一定的条件下,页数如何计算(比如总共101条数据,每页显示10条等等这些细节问题)
3:对于每页来说它就表示10条数据,那么对于数据库来说如何对应起来,比如有一条是第三页的第五条数据,那么对应数据库里应该对应第几条(这一点是最关键的一点)
4:上面的对应关系确定后,如果是mysql可以用limit实现,那么oracle中如何实现呢
虽然目前有封装好的分页框架,但是它的实现方式无非就是上面那样,至于代码的话我就不给了,如果实在是想要的话联系我吧,1026555477
------解决思路----------------------
以前写的分页后台,主要获取各项参数,可以参考下

package com.vanda.dao;

import org.apache.log4j.Logger;
import java.sql.*;

import com.vanda.bean.PageBean;

public class QueryPage {

private static final Logger log = Logger.getLogger(QueryPage.class);
private String sql;              //查询sql
private int page;                //当前页
private int rowCountPerpage;     //每页记录数
private int totalRows = 0;       //总页数
private int pageCount = 0;       //页数
private int iBegin = 0;          //
private int pageRowCount = 0;    //当前页记录数

public QueryPage(String sql,int page,int rowCountPerpage){
this.sql = sql;
this.page = page;
this.rowCountPerpage = rowCountPerpage;
}

/**
 * 查询总页数
 */
public void queryTotalRows(){
String sql1 = "select count(1) from (" + sql + ")";
Connection conn = null;
PreparedStatement pstmt = null;
log.info("开始执行 SQL:" + sql);
try{
conn = DbConnection.getConnection();
conn.setAutoCommit(false);
pstmt = conn.prepareStatement(sql1,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = pstmt.executeQuery();
//rs.last();
//totalRows = rs.getRow();
while(rs.next()){
totalRows = rs.getInt(1);
}
rs.close();
}catch(SQLException e){
log.error("查找总记录数失败:" + e.getMessage()+"SQL:"+sql1);
try{
conn.rollback();
}catch(SQLException ex){
log.error("数据回滚失败:" + ex.getMessage());
}
}finally{
try{
pstmt.close();
conn.close();
}catch(SQLException ex1){
log.error("关闭连接失败:" + ex1.getMessage());
}
}
}
/**
 * 得出总页数
 */
public void queryPageCount(){
pageCount = (totalRows + rowCountPerpage - 1)/rowCountPerpage;
//int pageCount = (totalRows%rowCountPerpage)==0?(totalRows/rowCountPerpage):(totalRows/rowCountPerpage+1);
if(pageCount < 1){
pageCount = 1;
}
}

/**
 * 得到当前页数
 */
public void queryPage(){
if(page < 1){
page = 1;
}
if(page > pageCount){
page = pageCount;
}
}
/**
 * 获取当前页第一条记录的行编号
 */
public void queryIBegin(){
iBegin = rowCountPerpage * (page - 1) + 1;
}
/**
 * 获取当前页记录数
 */
public void queryPageRowCount(){
int num = totalRows - rowCountPerpage * (page - 1);
pageRowCount = (num >= rowCountPerpage) ? rowCountPerpage : num;
}

/**
 * 获取查询参数
 * @return
 */
public PageBean query(){
PageBean pageBean = new PageBean();
this.queryTotalRows();//总记录数
this.queryPageCount();//总页数
this.queryPage();//当前页
this.queryIBegin();//当前页第一条记录的行编号
this.queryPageRowCount();//当前页记录数
int iEnd = iBegin + pageRowCount;
//解析sql,得到分页后查询sql
String pageSql = "SELECT T2.* FROM (SELECT T1.*, ROWNUM AS RN FROM ( " + sql + " ) T1 ";
pageSql = pageSql + " ) T2 WHERE ";
pageSql = pageSql + " T2.RN < " + iEnd + " AND ";
pageSql = pageSql + " T2.RN >=" + iBegin;

//将参数封装在bean中
pageBean.setTotalRows(totalRows);
pageBean.setPageCount(pageCount);
pageBean.setPage(page);
pageBean.setIBegin(iBegin);
pageBean.setPageRowCount(pageRowCount);
pageBean.setSql(pageSql);
return pageBean;
}

}


------解决思路----------------------
javabean的内容

package com.vanda.bean;

public class PageBean {

private int page;                //当前页
private int rowCountPerpage;     //每页记录数
private int totalRows;           //总记录数
private int pageCount;           //总页数
private int iBegin;              //当前页第一条记录行编号
private int pageRowCount;        //当前页记录数
private String sql;

public PageBean(){}
public PageBean(int page,int rowCountPerpage){
this.page = page;
this.rowCountPerpage = rowCountPerpage;
}

public int getPage() {
return page;
}

public void setPage(int page) {
this.page = page;
}

public int getRowCountPerpage() {
return rowCountPerpage;
}

public void setRowCountPerpage(int rowCountPerpage) {
this.rowCountPerpage = rowCountPerpage;
}

public int getTotalRows() {
return totalRows;
}

public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
}

public int getPageCount() {
return pageCount;
}

public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}

public int getIBegin() {
return iBegin;
}

public void setIBegin(int iBegin) {
this.iBegin = iBegin;
}

public int getPageRowCount() {
return pageRowCount;
}

public void setPageRowCount(int pageRowCount) {
this.pageRowCount = pageRowCount;
}
public String getSql() {
return sql;
}
public void setSql(String sql) {
this.sql = sql;
}

}


------解决思路----------------------
数据库连接

package com.vanda.dao;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

import org.apache.log4j.Logger;

import java.sql.*;

public class DbConnection{
private static final Logger log = Logger.getLogger(DbConnection.class);
public static final String databasesource = "jdbc/JG_TALK";
public static final String jdbcUrl="jdbc:oracle:thin:@192.168.1.2:1521:ORCL";
public static final String username="JG_TALK";
public static final String password="JJJJJJ";

public static Connection getConnection(){
Connection conn = null;
try {
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup(databasesource);
conn = ds.getConnection();
} catch (SQLException e) {
log.error("从连接池获取连接失败!" + e.getMessage());
throw new NullPointerException("无法连接数据库!");
} catch (NamingException e) {
log.error("寻找数据源失败!" + e.getMessage());
throw new NullPointerException("无法连接数据库!");

return conn;
}

public static Connection getConnection2(){
Connection conn=null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn= DriverManager.getConnection(jdbcUrl, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}

}