java+jsp+servlet实现分页
来源:互联网 发布:外设与cpu数据交换方式 编辑:程序博客网 时间:2024/06/16 21:16
web.xml配置:
<servlet> <servlet-name>abc</servlet-name> <servlet-class>test.pageServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>abc</servlet-name> <url-pattern>/insertstu</url-pattern> </servlet-mapping>
ConnectionTest.java
package test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.Date;import java.util.List;public class ConnectionTest { public static Statement returnConn() throws SQLException{ // String name="com.mysql.jdbc.Driver"; String url="jdbc:mysql://localhost:3306/page"; String user="root1"; String password="123456"; //加载驱动 try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } //连接数据库 Connection conn=DriverManager.getConnection(url, user, password); Statement st=conn.createStatement(); return st; } public void closeIo(Connection conn,Statement st) throws SQLException{ conn.close(); st.close(); }}
PageView.java
package test;import java.util.List;public class PageView { private List<Student> records;// 记录 private Long totalrecordnumber;// 总记录数 private Integer startindex;// 第一页 private Integer endindex;// 最后一页 private Integer totalpagenumber;// 总页数 private Integer currentpage;// 当前页 public PageView(List<Student> records, Long totalrecordnumber, int currentpage, int maximum, int viewperpage) // 构造函数 { this.records = records; this.totalrecordnumber = totalrecordnumber; this.currentpage = currentpage; totalpagenumber = (int) (totalrecordnumber % maximum == 0 ? totalrecordnumber / maximum : totalrecordnumber / maximum + 1);//获得总页数 setIndex(currentpage, viewperpage, totalpagenumber); } public List<Student> getRecords() { return records; } public Long getTotalrecordnumber() { return totalrecordnumber; } public Integer getStartindex() { return startindex; } public Integer getEndindex() { return endindex; } public Integer getTotalpagenumber() { return totalpagenumber; } public Integer getCurrentpage() { return currentpage; } //获得总页数 显示页数 当前页数 第一页 最后一页 public void setIndex(int currentpage, int viewperpage, int totalpagenumber) { if (viewperpage >= totalpagenumber) { startindex = 1; endindex = totalpagenumber; } else { if (currentpage <= viewperpage / 2) { startindex = 1; endindex = viewperpage; } else if ((currentpage + viewperpage / 2) > totalpagenumber) { startindex = totalpagenumber - viewperpage + 1; endindex = totalpagenumber; } else { startindex = currentpage - (viewperpage - 1) / 2; endindex = currentpage + viewperpage / 2; } } }}
Student.java
package test;import java.util.Date;public class Student { private int id; private String name; private int age; private String sex; private Date birth;public Student() { super();}public Student(int id, String name, int age, String sex, Date birth) { super(); this.id = id; this.name = name; this.age = age; this.sex = sex; this.birth = birth;}public int getId() { return id;}public void setId(int id) { this.id = id;}public String getName() { return name;}public void setName(String name) { this.name = name;}public int getAge() { return age;}public void setAge(int age) { this.age = age;}public String getSex() { return sex;}public void setSex(String sex) { this.sex = sex;}public Date getBirth() { return birth;}public void setBirth(Date birth) { this.birth = birth;}}
pageServlet.java
package test;import java.io.IOException; import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.Date;import java.util.List;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class pageServlet extends HttpServlet { public static Statement returnConn() throws SQLException{ // String name="com.mysql.jdbc.Driver"; String url="jdbc:mysql://localhost:3306/page"; String user="root1"; String password="123456"; //加载驱动 try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } //连接数据库 Connection conn=DriverManager.getConnection(url, user, password); Statement st=conn.createStatement(); return st; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //showone(request,response); try { showtwo(request,response); } catch (SQLException e) { e.printStackTrace(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } public void showone(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ try { Statement st=returnConn(); String sql="select * from student"; ResultSet rs=st.executeQuery(sql); List<Student> list=new ArrayList<Student>(); while(rs.next()){ int id=rs.getInt("id"); String name=rs.getString("name"); int age=rs.getInt("age"); String sex=rs.getString("sex"); Date birth=rs.getDate("birth"); Student stu=new Student(id,name,age,sex,birth); list.add(stu); } //response.sendRedirect("studentlist.jsp"); request.setAttribute("list", list); request.getRequestDispatcher("studentlist.jsp").forward(request, response); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void showtwo(HttpServletRequest request, HttpServletResponse response) throws SQLException, ServletException, IOException{ // 当前是第几页 String currentpageStr = request.getParameter("currentpage") == null ? "1" : request.getParameter("currentpage"); int currentpage = Integer.parseInt(currentpageStr); // 每页显示多少条 int maximum = 5; // 可以显示多少页 int viewperpage = 5; Statement st=returnConn(); String sql="select * from student limit "+ (currentpage - 1) * maximum + "," + maximum; ResultSet rs=st.executeQuery(sql); List<Student> list=new ArrayList<Student>(); while(rs.next()){ int id=rs.getInt("id"); String name=rs.getString("name"); int age=rs.getInt("age"); String sex=rs.getString("sex"); Date birth=rs.getDate("birth"); Student stu=new Student(id,name,age,sex,birth); list.add(stu); } String sql2="select * from student"; ResultSet rs2=st.executeQuery(sql2); int count=0; while(rs2.next()){ count++; } long totalrecordnumber=count; // 将数据都封装到pageView PageView pageView =new PageView(list, totalrecordnumber, currentpage, maximum, viewperpage); // PageView<Student> pageView = new PageView<Student>(records,totalrecordnumber, currentpage, maximum, viewperpage); request.setAttribute("pageView", pageView); request.setAttribute("list", list); request.getRequestDispatcher("studentlist.jsp").forward(request, response); }}
jsp页面代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ page import="test.*" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <script type="text/javascript"> function topage(currentpage) { var form = document.forms[0]; form.currentpage.value = currentpage; form.submit(); }</script> </head> <body> <form> <input type="hidden" name="currentpage" /> <table align="center" style="width: 60%;" border="1"> <tr> <th>学生编号</th> <th>学生姓名</th> <th>学生年龄</th> <th>学生性别</th> <th>学生生日</th> </tr> <c:forEach items="${requestScope.list}" var="list"> <tr> <td>${list.id }</td> <td>${list.name }</td> <td>${list.age }</td> <td>${list.sex }</td> <td>${list.birth}</td> </tr> </c:forEach> </table> <div align="right" style="width: 80%"> <c:forEach begin="${pageView.startindex}" end="${pageView.endindex}" var="wp"> <c:if test="${pageView.currentpage==wp}"> <b>[${wp}]</b> </c:if> <c:if test="${pageView.currentpage!=wp}"> <a href="javascript:topage('${wp}')">[${wp}]</a> </c:if> </c:forEach> 总共${pageView.totalrecordnumber}页 </div> </form> </body></html>
0 0
- java+jsp+servlet实现分页
- servlet jsp 实现分页
- JSP+JavaBean+Servlet实现分页
- JSP+servlet+javabean实现分页
- jsp+servlet+javaBean实现分页
- JSP+Servlet+JavaBean实现分页
- jsp+servlet+javaBean怎样实现分页
- javaBean+servlet+jsp实现分页效果
- 使用jsp-javabean-servlet实现分页功能
- JSP+Servlet+JDBC实现数据分页
- 用jsp和servlet实现分页方法
- jsp+servlet实现的简单分页
- jsp+servlet+javabean实现数据分页
- JavaBean+Servlet+jsp真分页实现
- MySQL数据库+jsp+servlet实现分页查询
- servlet+jsp实现分页查询+导出
- jsp+Javabean+servlet实现分页查询
- java-web分页操作(javaBean+Servlet+jsp)
- 苹果开发 笔记(24)
- 【ThinkingInJava】33、动态代理机制
- 指针
- javascript事件监听,事件冒泡/捕获总结
- 机器学习实战——第一章:机器学习基础
- java+jsp+servlet实现分页
- 第10周-不借助中间变量交换求三个数的最值
- 动态代理
- springmvc的@RequestMapping、@PathVariable、@RequestParam
- 获取页面图片路径
- 语法高亮控件
- PHP Warning: PHP Startup
- 八皇后问题(回溯算法)
- Learn to Say, “Hello, World”