楼主应该是用Servlet做的吧给你的代码的例子你看看有没有帮助
//分页的值类信息
public class PageBean {
//当前页
private int currpage = 0;
//总页数
private int totalpages = 0;
//每页显示数
private int pagesize = 3;
//构造 通过总记录数计算总页数
public PageBean(int totalrecords) {
totalpages = totalrecords % pagesize == 0 totalrecords / pagesize
: totalrecords / pagesize + 1;
}
public int getCurrpage() {
return currpage;
}
public void setCurrpage(int currpage) {
thiscurrpage = currpage;
}
public int getTotalpages() {
return totalpages;
}
public void setTotalpages(int totalpages) {
thistotalpages = totalpages;
}
public int getPagesize() {
return pagesize;
}
public void setPagesize(int pagesize) {
thispagesize = pagesize;
}
}
//分页的数据库访问类
public class PageDAO {
//返回总记录数
public int getRows() {
//连接数据库 方法无所谓
Connection con = ConnectionFactorygetDBConnection();
//计算总的记录数
String sql = "select count() from T_notice";
int i = 0;
//得到总数
try {
PreparedStatement ps = conprepareStatement(sql);
ResultSet rs = psexecuteQuery();
while (rsnext()) {
i = rsgetInt(1);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
return i;
}
//分页主方法 最重要的
public Collection getPages(PageBean pb) {
Collection col = new ArrayList();
Connection con = ConnectionFactorygetDBConnection();
//获得当前页信息
int curr = pbgetCurrpage();
//总页数
int tota = pbgetTotalpages();
//每页显示数
int page = pbgetPagesize();
// Systemoutprintln(curr+"++++"+page);
String sql = "";
try {
Systemoutprint(">>>>>>>>>>>>>>>>>>>>>>2");
//主要就是这个语句了
sql = "select top " + page
+ " from T_notice where Notice_id not in (select top "
+ (curr - 1) page + " Notice_id from T_notice) ";
PreparedStatement ps = conprepareStatement(sql);
Systemoutprintln(curr + "++++" + page);
ResultSet rs = null;
try {
rs = psexecuteQuery();
} catch (RuntimeException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
if (rs == null) {
Systemoutprintln("|||||||||||||||||||||\\");
}
//便利结果集
while (rsnext()) {
NoticeInfo info = new NoticeInfo();
String nt = new String(rsgetString("Notice_title")getBytes(
"iso-8859-1"), "gbk");
String np = new String(rsgetString("Notice_peo")getBytes(
"iso-8859-1"), "gbk");
String nc = new String(rsgetString("Notice_content")getBytes(
"iso-8859-1"), "gbk");
String na = new String(rsgetString("Notice_ambit")getBytes(
"iso-8859-1"), "gbk");
String nb = new String(rsgetString("Notice_btime")getBytes(
"iso-8859-1"), "gbk");
String ne = new String(rsgetString("Notice_etime")getBytes(
"iso-8859-1"), "gbk");
String ns = new String(rsgetString("Notice_status")getBytes(
"iso-8859-1"), "gbk");
infosetNoticeid(rsgetInt("Notice_id"));
infosetNoticetitle(nt);
infosetNoticepeo(np);
infosetNoticecontent(nc);
infosetNoticeambit(na);
infosetNoticebtime(nb);
infosetNoticeetime(ne);
infosetNoticestatus(ns);
coladd(info);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
return col;
}
}
//Servlet 主要就是接受页面值,然后进行Page值逻辑判断和计算的
public class LookDeptByPageServlet extends >
按以下步骤排查问题:
1、代码中是否加锁,某些地方使用了同步方法?锁使用错误导致线程死锁或阻塞;
2、数据层问题,是否使用了框架,比如mybatis,hibernate?,或者使用JDBC直连?
3、有没有使用数据库连接池?如果使用了连接池排查连接池配置是否有问题,最大连接数等,当最大连接数过小时导致大量线程处于等待获取数据库连接状态,或者 *** 作完成后连接没有及时返还给连接池?
4、如果使用的jdbc连接请检查连接使用完后有没有及时释放,如果没有及时释放链接会导致连接越来越多,最后CPU使用率飙高。
以上就是关于jsp分页问题!!全部的内容,包括:jsp分页问题!!、node连接mysql数据库(含方法封装)、java考试系统考试答一道题 *** 作一下数据库(即保存考试答案),考试人员达到100人时服务器CPU占用率过高等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)