2016-java基础篇-分页算法

来源:互联网 发布:公众平台源码搭建 编辑:程序博客网 时间:2024/06/05 01:58

servlet分页算法:

package com.tsinghuas;import javax.servlet.http.*;import java.io.*;import java.sql.*;public class Welcome extends HttpServlet{    public void doGet(HttpServletRequest req,HttpServletResponse res){Connection con=null;PreparedStatement pre=null;ResultSet result =null;try{//String u = req.getParameter("uname");//String p = req.getParameter("uPasswd");//res.setContentType("text/html;charset=gbk");PrintWriter pw = res.getWriter();//pw.println("hello,http");//pw.println("欢迎");//pw.println(u+p);HttpSession hs1=req.getSession(true);String val = (String)hs1.getAttribute("pass");String email1 = (String)hs1.getAttribute("email1");//分页int pageSize=2;int pageNow=1;int rowCount=0;int pageCount=0;//动态接收pageNowString sPageNow=req.getParameter("pageNow");if(sPageNow==null){}else{pageNow=Integer.parseInt(sPageNow);}Class.forName("oracle.jdbc.driver.OracleDriver");String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";String user="Test01";String password="Test01";con=DriverManager.getConnection(url,user,password);String sql="select count(*) from users";pre =con.prepareStatement(sql);result=pre.executeQuery();if(result.next()){rowCount=result.getInt(1);}if(rowCount%pageSize==0){pageCount=rowCount/pageSize;}else{pageCount=rowCount/pageSize+1;}sql="select * from ( select rownum rn,t.* from users t) a where a.rn>? and a.rn<=?";pre=con.prepareStatement(sql);System.out.println("pageSize*(pageNow-1): "+pageSize*(pageNow-1));System.out.println("pageSize*pageNow: "+pageSize*pageNow);pre.setInt(1,pageSize*(pageNow-1));pre.setInt(2,pageSize*pageNow);result=pre.executeQuery();pw.println("<body><center>");pw.println("<br><img src=imgs/1.GIF><br>");pw.println("<table border=1>");pw.println("<tr><th>userid</th><th>username</th><th>passwd</th><th>email</th><th>grade</th></tr>");while(result.next()){pw.println("<tr>");pw.println("<td>"+result.getString(2)+"</td>");pw.println("<td>"+result.getString(3)+"</td>");pw.println("<td>"+result.getString(4)+"</td>");pw.println("<td>"+result.getString(5)+"</td>");pw.println("<td>"+result.getString(6)+"</td>");pw.println("</tr>");}pw.println("</table>");pw.println("</body>");if(pageNow!=1){int s1PageNow=pageNow-1;pw.println("<a href=welcome?pageNow="+s1PageNow+">上一页</a>");}for(int i=1;i<=pageCount;i++){pw.println("<a href=welcome?pageNow="+i+">"+i+"</a>");}if(pageNow<pageCount){int x1PageNow=pageNow+1;pw.println("<a href=welcome?pageNow="+x1PageNow+">下一页</a>");}pw.println(email1);if(val!="ok"){res.sendRedirect("login");}}catch(Exception e){e.printStackTrace();}finally{try{result.close();pre.close();con.close();}catch(Exception e){e.printStackTrace();}}}public void doPost(HttpServletRequest req,HttpServletResponse res){this.doGet(req,res);}        }



0 0