java web 分页技术

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java web 分页技术相关的知识,希望对你有一定的参考价值。

查询界面,通过姓名和车号进行查询,然后将查询结果提交给servlet:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body background="images/bottom.png">
<br><br><br><br><br>
   <form action="<%=request.getContextPath()%>/SessionServrlet" method="get">
       <table boder="1" align="center">
         <tr>
           <td align="right"><span style="color:white">姓名:</span></td>
           <td><input type="text" name="name" size="30" /></td>
         </tr>
         <tr>
           <td align="right"><span style="color:white">车号:</span></td>
           <td><input type="text" name="carNum" size="30" /></td>
         </tr>
          <tr>
           <td><input type="hidden" name="URL" value="beginQueryDynamicMonitor.jsp"></td>
         </tr>
         <tr align="right">
           <td colspan="2">
             <input type="submit" name="submit" value="查询">
             <input type="reset" name="reset" value="重置">
           </td>
         </tr>
       </table>
   </form>
</body>
</html>

在servlet将从页面获取到的姓名和车号存到session中(因为request有效期只是一次请求的全过程,翻页的时候就会失效,所以要将其存到session中)

package shouqisystem.user;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * Servlet implementation class ServiceServlet
 */
public class ServiceServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ServiceServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
         String name=new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");
         String carNum=new String(request.getParameter("carNum").getBytes("iso-8859-1"),"utf-8");
         String s1="beginQueryService.jsp";
         HttpSession session = request.getSession();
         session.setAttribute("name", name);
         session.setAttribute("carNum", carNum);
         response.setContentType("text/html;charset=UTF-8");
         String s = response.encodeURL(s1);
         RequestDispatcher disp=null;
         disp=request.getRequestDispatcher(s);
         disp.forward(request, response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}

Pages.java控制分页

package shouqisystem.user;

import java.sql.ResultSet;

import javax.servlet.http.HttpServletRequest;

public class Pages {
        ResultSet CountTopicrs=null;//记录总数结果集
        ResultSet Pagirs=null;//查询结果集
        public int intCountTopic=0;//记录总数
        public int intPageSize;//每页显示几条记录
        public int intPageCount;//总页数
        public int intPage=1;//当前页数
        public String nowPage;
        public String HttpFile;
        UserInfo db;
        
        public Pages(){
            intPageSize=2;
            db=new UserInfo();
        }
        
        public void querySql(ResultSet CountTopicrs,ResultSet Pagirs,HttpServletRequest request)throws Exception{
            HttpFile=request.getRequestURI();
            nowPage=request.getParameter("pages");
            if(nowPage==null){
                intPage=1;
            }else{
                intPage=Integer.parseInt(nowPage);
                if(intPage<1)
                    intPage=1;
            }
            
            //CountTopicrs=db.queryICcardDataSum(name, carNum);
            if(CountTopicrs.next()){
                intCountTopic=CountTopicrs.getInt(1);
            }
            intPageCount=(intCountTopic+intPageSize-1)/intPageSize;
            if(intPage>intPageCount){
                intPage=intPageCount;
            }
            CountTopicrs.close();
            //db.close_all();
            //Pagirs=db.queryICcardData(name, carNum);
            //return Pagirs;
        }
        public int getCountTopic(){
            return intCountTopic;
        }
        public int getPageCount(){
            return intPageCount;
        }
        public int getIntPage(){
            return intPage;
        }
        public String PageFooter(){
            String str="";
            int next,prev;
            prev=intPage-1;
            next=intPage+1;
            System.out.println();
            str+="<font color=red>查询到"+getCountTopic()+"条记录</font>"+" <font color=red> 共"+getPageCount()+"页</font>";
            str+="<font color=red>第"+getIntPage()+"页</font>";
            if(intPage>1)
                str+="<font color=red><a href=" + HttpFile + "?pages=1"+">首页</a></font>";
            else 
                str+="<font color=red>首页";
            if(intPage>1)
                str +="<font color=red><a href=" + HttpFile + "?pages="+prev+">上一页</a></font>";
            else
                str +="<font color=red>上一页</font>";
            if(intPage<intPageCount)
                str +="<font color=red><a href=" + HttpFile + "?pages="+next+">下一页</a></font>";
            else
                str +="<font color=red>下一页</font>";
            if(intPageCount>1&&intPage !=intPageCount)
                str +="<font color=red><a href=" + HttpFile + "?pages="+intPageCount+">尾页</a></font>";
            else
                str +="<font color=red>尾页</font>";
            return str;
        }
        public void close_all()throws Exception{
            db.close_all();
        }
}

查询结果页面:

<%@page import="java.sql.ResultSet"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="java.io.*,java.util.*,java.sql.*,shouqisystem.user.*" %>
<jsp:useBean id="userinfo" scope="request" class="shouqisystem.user.UserInfo"/>
<jsp:useBean id="pages" scope="page" class="shouqisystem.user.Pages"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body background="images/bottom.png">
<center>
   <form action="" method="GET" name="form">
  <table boder="2" cellpadding="5" cellspacing="5">
  <tr>
     <td><b><span style="color:white">选择</span></b></td>
     <td><b><span style="color:white">姓名</span></b></td>
     <td><b><span style="color:white">车牌号</span></b></td>
     <td><b><span style="color:white">超速日期</span></b></td>
     <td><b><span style="color:white">超速四级次数</span></b></td>
     <td><b><span style="color:white">出外埠日期</span></b></td>
     <td><b><span style="color:white">去向</span></b></td>
     <td><b><span style="color:white">疲劳驾驶日期</span></b></td>
     <td><b><span style="color:white">级别</span></b></td>
     <td><b><span style="color:white">次数</span></b></td>
  </tr>
  <%

  String name=(String)session.getAttribute("name");
  String carNum=(String)session.getAttribute("carNum");
  ResultSet CountTopicrs=userinfo.queryDynamicMonitorSum(name, carNum);
  ResultSet rs=userinfo.queryDynamicMonitor(name, carNum);
  pages.querySql(CountTopicrs,rs,request);
  String footer=pages.PageFooter();
  if(pages.intPageCount>0){
      int i=0;
      while(rs.next())
      {
          i++;
          if(i>((pages.intPage-1)*pages.intPageSize)&&(i<=pages.intPage*pages.intPageSize))
          {  
  %>
  <tr>
 
      <td><input type="checkbox" name="pkey" size="5" value="<%=String.valueOf(rs.getInt("ID")) %>"/></td>
      <td><span style="color:white"><%=rs.getString("name") %></span></td>
      <td><span style="color:white"><%=rs.getString("carNum") %></span></td>
      <td><span style="color:white"><%=rs.getString("speedTime") %></span></td>
      <td><span style="color:white"><%=rs.getString("speedFourLevelTimes") %></span></td>
      <td><span style="color:white"><%=rs.getString("outGoingTime") %></span></td>
      <td><span style="color:white"><%=rs.getString("destination") %></span></td>
      <td><span style="color:white"><%=rs.getString("fatigueDrivingTime") %></span></td>
      <td><span style="color:white"><%=rs.getString("degree") %></span></td>
      <td><span style="color:white"><%=rs.getString("times") %></span></td>
  </tr>
  <%    
  }  
      }
  }
  out.println("<tr><td colspan=2>"+footer+"</td></tr>");
  rs.close();
  pages.close_all();
   %>
   <tr align="right">
           <td colspan="2">
             <input type="submit" name="revise" value="修改" onclick="form.action=‘reviseDynamicMonitor.jsp‘;form.submit();">
             <input type="submit" name="delete" value="删除" onclick="form.action=‘deleteDynamicMonitor.jsp‘;form.submit();">
           </td>
   </tr>

   </table><br><br> 
   </form>

   </center>
</body>
</html>

 

以上是关于java web 分页技术的主要内容,如果未能解决你的问题,请参考以下文章

Java Web——分页技术

java web 分页查询

想用JAVA WEB 实现分页技术。请问应该怎么做

java中的mongoDB怎么分页,要代码,数据量较大

JAVA WEB代码片段

Java全栈web网页技术:16.书城项目实战五:图书的分页显示