tomcat运行7(详细分页+代码优化)

一、详细分页
在“allUser.jsp”的“首页”和“尾页”中增加如下代码

<c:if test="${pageInfo.currentPage==1}">
            <a href="/findbyupage?currentPage=1&size=5">上一页</a>
        </c:if>
        <c:if test="${pageInfo.currentPage>1}">
            <a href="/findbyupage?currentPage=${pageInfo.currentPage-1}&size=5">上一页</a>
        </c:if>

        <c:forEach begin="1" end="${pageInfo.totalPage}" var="i">
            <a href="/findbyupage?currentPage=${i}&size=5">${i}</a>
        </c:forEach>

        <c:if test="${pageInfo.currentPage==pageInfo.totalPage}">
            <a href="/findbyupage?currentPage=${pageInfo.totalPage}&size=5">下一页</a>
        </c:if>
        <c:if test="${pageInfo.currentPage<pageInfo.totalPage}">
            <a href="/findbyupage?currentPage=${pageInfo.currentPage+1}&size=5">下一页</a>
        </c:if>

二、代码优化
将“SearchServlet.java”和“FindUServlet.java”删除

在“IUserDao”,“UserDaoImpl”,“IUserService”,“UserServiceImpl”中将“search”有关语句删除,并修改“findbyupage”语句

“IUserDao”

    List<User> findbyupage(String username,int start,int size);

“UserDaoImpl”

	@Override
    public List<User> findbyupage(String username,int start, int size) {
        List<User> users=new ArrayList<>();
        Connection connection=null;
        PreparedStatement statement=null;
        ResultSet resultSet=null;
        String sql=null;
        try {
            connection = DBUtil.getConnection();
            if (username == null) {
                sql = "select * from staff limit ?,?";
                statement = connection.prepareStatement(sql);
                statement.setInt(1, start);
                statement.setInt(2, size);
            } else {
                sql = "select * from staff where username like ? limit ?,?";
                statement = connection.prepareStatement(sql);
                statement.setString(1, "%" + username + "%");
                statement.setInt(2, start);
                statement.setInt(3, size);
            }
            resultSet = statement.executeQuery();
            while (resultSet.next()){
                User user=new User();
                user.setId(resultSet.getInt(1));
                user.setUsername(resultSet.getString(2));
                user.setPassword(resultSet.getString(3));
                users.add(user);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            DBUtil.closeAll(resultSet,statement,connection);
        }

        return users;
    }

“IUserService”

PageUInfo findbyupage(String username,int currentPage,int size);

“UserServiceImpl”

	@Override
    public PageUInfo findbyupage(String searchname,int currentPage, int size) {
        PageUInfo pageUInfo=new PageUInfo();
        pageUInfo.setCurrentPage(currentPage);
        pageUInfo.setSize(size);
        int start=(currentPage-1)*size;
        List<User> users=userDao.findbyupage(searchname,start,size);
        pageUInfo.setList(users);
        int count=userDao.selectCount();
        pageUInfo.setTotalCount(count);
        Double ceil=Math.ceil(Double.valueOf(count)/size);
        pageUInfo.setTotalPage(ceil.intValue());
        return pageUInfo;
    }

修改“FindByUPageServlet”代码为

public class FindByUPageServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session=request.getSession();
        String searchname= (String) session.getAttribute("searchname");
        String c=request.getParameter("currentPage");
        int currentPage=Integer.parseInt(c);
        String s=request.getParameter("size");
        int size=Integer.parseInt(s);
        IUserService userService=new UserServiceImpl();
        PageUInfo pageUInfo=null;
        pageUInfo=userService.findbyupage(searchname,currentPage,size);
        session.setAttribute("pageInfo",pageUInfo);
        request.getRequestDispatcher("/allUser.jsp").forward(request,response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String searchname=request.getParameter("searchname");
        int currentPage=1;
        int size=5;
        IUserService userService=new UserServiceImpl();
        PageUInfo pageUInfo=null;
        pageUInfo=userService.findbyupage(searchname,currentPage,size);
        HttpSession session=request.getSession();
        session.setAttribute("searchname",searchname);
        session.setAttribute("pageInfo",pageUInfo);
        request.getRequestDispatcher("/allUser.jsp").forward(request,response);
    }
}

在“web.xml”删除如下代码

    <servlet>
        <servlet-name>SearchServlet</servlet-name>
        <servlet-class>com.zhongruan.servlet.SearchServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>SearchServlet</servlet-name>
        <url-pattern>/search</url-pattern>
    </servlet-mapping>
<servlet>
        <servlet-name>FindUServlet</servlet-name>
        <servlet-class>com.zhongruan.servlet.FindUServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>FindUServlet</servlet-name>
        <url-pattern>/finduser</url-pattern>
    </servlet-mapping>

将“allUser.jsp”的“搜索相关代码改为

<form action="/findbyupage" method="post">
            <input name="searchname" type="text"/>
            <input type="submit" value="搜索"/>
        </form>

实现效果
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值