Code:
-
package?com.tsinghua;??
-
import?javax.servlet.http.*;??
-
import?java.io.*;??
-
import?java.sql.*;??
-
??
-
??
-
public?class?Wel?extends?HttpServlet{??
-
??
-
??????
-
??????
-
??????
-
????public?void?doGet(HttpServletRequest?req,HttpServletResponse?res){??
-
??????????
-
????????Connection?ct=null;??
-
????????PreparedStatement?ps=null;??
-
????????ResultSet?rs=null;??
-
??????????
-
????????res.setContentType("text/html;charset=gbk");???
-
????????PrintWriter?pw=null;??
-
??????????????
-
????????try{??
-
????????????pw=res.getWriter();??
-
????????????pw.println("<body><center>");??
-
??????????????
-
????????????HttpSession?hs=req.getSession(true);??
-
????????????String?myName=(String)hs.getAttribute("pass");??
-
??????????????
-
??????????
-
????????????if(myName==null){??
-
??????????????????
-
????????????????res.sendRedirect("login");????
-
????????????????return?;??
-
????????????}?????
-
??????
-
??????????????
-
????????????int?pageSize=3;??
-
????????????int?pageNow=1;??
-
????????????int?rowCount=0;??
-
????????????int?pageCount=0;??
-
??????????????
-
??????????????
-
????????????String?sPageNow=req.getParameter("pageNow");??
-
????????????if(sPageNow!=null){??
-
????????????????pageNow=Integer.parseInt(sPageNow);??
-
????????????}??
-
??????????????
-
??????????????
-
??????????????
-
????????????Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");??
-
??????????????
-
????????????ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=spdb","sa","sa");??
-
??????????????
-
????????????ps=ct.prepareStatement("select?count(*)?from?users");??
-
????????????rs=ps.executeQuery();??
-
??????????
-
????????????if(rs.next()){??
-
????????????????rowCount=rs.getInt(1);??
-
????????????}??
-
??????????????
-
??????????????
-
????????????if(rowCount%pageSize==0){??
-
????????????????pageCount=rowCount/pageSize;??
-
????????????}else{??
-
????????????????pageCount=rowCount/pageSize+1;??
-
????????????}??
-
??????????????
-
????????????ps=ct.prepareStatement("select?top?"+pageSize+"?*?from?users?where?userId?not?in(select?top?"+pageSize*(pageNow-1)+"?userId?from?users)");??
-
??????????????
-
????????????rs=ps.executeQuery();??
-
??????????????
-
??????????
-
????????????pw.println("<table?border=1>");??
-
????????????pw.println("<tr><th>id</th><th>username</th><th>password</th><th>email</th><th>grade</th></tr>");??
-
????????????while(rs.next()){??
-
????????????????pw.println("<tr>");??
-
????????????????pw.println("<td>"+rs.getInt(1)+"</td>");??
-
????????????????pw.println("<td>"+rs.getString(2)+"</td>");??
-
????????????????pw.println("<td>"+rs.getString(3)+"</td>");??
-
????????????????pw.println("<td>"+rs.getString(4)+"</td>");??
-
????????????????pw.println("<td>"+rs.getInt(5)+"</td>");??
-
????????????????pw.println("</tr>");??
-
????????????}??
-
????????????pw.println("</table>");??
-
??????????????
-
??????????????
-
????????????if(pageNow>1){??
-
????????????????pw.println("<a?href=wel?pageNow="+1+">首页</a>");??
-
????????????????pw.println("<a?href=wel?pageNow="+(pageNow-1)+">上一页</a>");??
-
????????????}??
-
??????????????
-
????????????for(int?i=pageNow;i<=pageNow+4;i++){??
-
??????????????????????
-
????????????????pw.println("<a?href=wel?pageNow="+i+">"+i+"</a>");??
-
????????????????if(i>pageCount)??
-
????????????????????break;??
-
????????????}??
-
??????????????
-
????????????if(pageNow<pageCount){??
-
????????????????pw.println("<a?href=wel?pageNow="+(pageNow+1)+">下一页</a>");??
-
????????????????pw.println("<a?href=wel?pageNow="+pageCount+">末页</a>");??
-
????????????}??
-
????????????pw.println("</center></body>");??
-
????????}catch(Exception?e){??
-
????????????e.printStackTrace();??
-
????????}?
-
????}??
-
??????
-
????public?void?doPost(HttpServletRequest?req,HttpServletResponse?res){??
-
??????????
-
????????this.doGet(req,res);??
-
????}??
-
??????
-
??????
- }??
?最近在学习用Servlet做网页,这是刚刚学会的分页算法,与大家共享。
ps:我的新博客地址:http://www.xinghaixu.com
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|