1,总体架构

  index是进去的页面,

可以跳转Insert的增加页面,operatePerson是根据传进来的URI来判断增删改查的页面,

DbManager.java是封装的数据库操作类, Pagination.java是页脚的信息栏

2,index页面

    final int pageSize = 5;//一页显示多少纪录
    int pageNum = 1;//当前页数
    int pageCount = 1;//总页数
    int recordCount = 0;//总记录数
    <form action="operatePerson.jsp" method="post">
        <table border="1">
            <%
                for(; resultSet.next();){
                    out.println("<tr>");
                    String name = resultSet.getString("name");
                    out.println("<td>" + name + "</td>");
                    out.println("<td>" + resultSet.getString("age") + "</td>");
                    out.println("<td>" + resultSet.getString("sex") + "</td>");
                    out.println("<td><a href='operatePerson.jsp?action=delete&name=" + name +"'>删除</a></td>");
                    out.println("<td><a href='operatePerson.jsp?action=edit&name=" + name +"'>修改</a></td>");
                    out.println("</tr>");
                }
            %>
        </table>
        <%=Pagination.getPagination(pageNum, pageCount
                    , recordCount, request.getRequestURI()) %>

画出表,包括页脚,(上面的form其实没有什么用

分页技术使用数据库的 select * from person limit ?,?   ----意思是从哪条开始(不包括这一条)的 n条记录

问号使用preparedStatement语句来实现

代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.DriverManager"%>
<%@ page import="java.sql.Connection"%>
<%@ page import="java.sql.Statement"%>
<%@ page import="java.sql.ResultSet"%>
<%@ page import="java.sql.PreparedStatement"%>
<%@ page import="java.sql.SQLException"%>
<%@ page import="testPackage.DbManager" %>
<%@ page import="testPackage.Pagination" %>
<%
    String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
</head>

<%
    final int pageSize = 5;//一页显示多少纪录
    int pageNum = 1;//当前页数
    int pageCount = 1;//总页数
    int recordCount = 0;
    try{//当前页数
        pageNum = Integer.parseInt(request.getParameter("pageNum"));
        System.out.println("0000:" + pageNum);
    }catch(Exception e){}
    String sql = null;
    Connection con = null;
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;
    try{
        sql = "select count(*) from person";
        recordCount = DbManager.getCount(sql);
        pageCount = (recordCount + pageSize - 1) / pageSize;
        int startRecord = (pageNum - 1) * pageSize;
        sql = "select * from person limit ?,?";
        con = DbManager.getConnection();
        preparedStatement = con.prepareStatement(sql);
        DbManager.setParams(preparedStatement, startRecord, pageSize);
        resultSet = preparedStatement.executeQuery();
%>
<body>
    <a href="Insert.jsp">新建一个</a>
    <form action="operatePerson.jsp" method="post">
        <table border="1">
            <%
                for(; resultSet.next();){
                    out.println("<tr>");
                    String name = resultSet.getString("name");
                    out.println("<td>" + name + "</td>");
                    out.println("<td>" + resultSet.getString("age") + "</td>");
                    out.println("<td>" + resultSet.getString("sex") + "</td>");
                    out.println("<td><a href='operatePerson.jsp?action=delete&name=" + name +"'>删除</a></td>");
                    out.println("<td><a href='operatePerson.jsp?action=edit&name=" + name +"'>修改</a></td>");
                    out.println("</tr>");
                }
            %>
        </table>
        <%=Pagination.getPagination(pageNum, pageCount
                    , recordCount, request.getRequestURI()) %>
        <br/>
        <%=pageNum %>
    </form>
    <%
    }catch(SQLException e1){
        out.println("0001" + e1.getMessage());
    }
    finally {
        if (resultSet != null)
            resultSet.close();
        if (preparedStatement != null)
            preparedStatement.close();
        if (con != null)
            con.close();
    }
    %>
</body>
</html>
View Code

相关文章:

  • 2021-07-01
  • 2022-12-23
  • 2021-08-11
  • 2022-12-23
  • 2022-12-23
  • 2021-12-18
  • 2021-07-01
  • 2021-06-30
猜你喜欢
  • 2022-12-23
  • 2021-08-13
  • 2021-10-19
  • 2021-10-28
  • 2022-01-15
  • 2021-09-02
相关资源
相似解决方案