这里先在jsp连接数据库后,直接定义几个变量,如pageSize,linecount等,然后从数据库取到总行数,给这些变量赋值。
<%
try {
System.out.println("数据库连接开始了");
Class.forName("com.mysql.cj.jdbc.Driver"); 驱动程序名
System.out.println("Success loading Mysql Driver!");
String url = "jdbc:mysql://127.0.0.1:3306/wenshi?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"; //数据库名
String username = "root"; //数据库用户名
String password = "root"; //数据库用户密码
Connection conn = DriverManager.getConnection(url, username, password+""); //连接状态
if(conn != null){
out.print("数据库连接成功!");
out.print("<br />");
%>
<%
String n=request.getParameter("pageNow");//取到页面点击传过来的pageNow值
System.out.println(n);
int pageSize=8;
int lineCount;
int pageCount;
int pageNow=1;
if(n!=null)
{
pageNow=Integer.parseInt(n);
}
String sqlcount="select count(1) from ws;"; //查询行数
Statement stmtcount=null;
ResultSet rscount=null;
stmtcount=conn.createStatement();
rscount=stmtcount.executeQuery(sqlcount);
rscount.next();
lineCount=rscount.getInt(1);//返回当前行中指定列的值
pageCount=lineCount%pageSize==0?lineCount/pageSize:lineCount/pageSize+1;//这里获取到最大的页数,利用总行数除一页的行数
if(pageNow<=0)//这是为了后面的select标签的代码服务的
{
pageNow=1;
}
if(pageNow>=pageCount)
{
pageNow=pageCount;
}
Statement stmt = null;
ResultSet rs = null;
String sql = "SELECT * FROM ws order by id limit "+pageSize*(pageNow-1)+","+pageSize+";"; //查询语句
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
out.print("近期温湿度记录:");
out.print("<br/>");
while (rs.next()) {
%>
这是显示的标签代码,利用a标签中问号“?pageNow”后面的变量来定向到路由
<div style="text-align:center;margin-bottom:20px;">
<a href="wenshi.jsp?pageNow=1" style="margin-left:10px">首页</a>
<a href="wenshi.jsp?pageNow=<%=pageNow-1%>" style="margin-left:10px">上一页</a>
<a href="wenshi.jsp?pageNow=<%=pageNow+1%>" style="margin-left:10px">下一页</a>
<a href="wenshi.jsp?pageNow=<%=pageCount%>" style="margin-left:10px">尾页</a>
<i style="margin-left:10px">一共分类<%=pageCount%>页,当前是<%=pageNow%>页
<select onchange="location.replace('wenshi.jsp?pageNow='+this.value)">
<%//固定住当前的页面号
for(int i=1;i<=pageCount;i++){
if(pageNow==i){
%>
<option value="<%=i%>" selected="selected"><%=i %></option>
<%
}else{
%>
<option value="<%=i%>" ><%=i %></option>
<%
}
}
%>
</select>
</i>
</div>
错误处理
<%
}else{
out.print("连接失败!");
}
}catch (Exception e) {
//e.printStackTrace();
out.print("数据库连接异常!");
}
%>