게시판 페이지 만들기
iv 선언
private int totalCnt; //총 개시물 개수
private int pageSize; //한 페이지의 크기
private int naviSize = 10; //페이지 네비게이션의 크기
//전체 게시물 수(totalCnt)에서 한 페이지의 게시물 수(pageSize)를 나눠서 올림.
private int totalPage; //전체 페이지의 개수. 
private int page; //현재 페이지
//현재페이지(page)를 네비게이션 크기(naviSize)로 나누고, 
//다시 네비게이션 크기를 곱해서 1의자리수를 0으로 만들고, 1을 더한다.
private int beginPage; //네비게이션의 첫번째 페이지. 
//beginPage에 네비게이션 크기(naviSize)를 더하고 1을 뺀 값과,
//총 페이지 수(totalPage) 중에 작은 것을 구한다.
private int endPage; //네비게이션의 마지막 페이지
//beginPage가 1이 아니면 true로 한다.
private boolean showPrev; //이전 페이지로 이동하는 링크를 보여줄 것인지의 여부
//endPage가 totalPage가 아니면 true로 한다.
private boolean showNext; //다음 페이지로 이동하는 링크르 보여줄 것인지의 여부
생성자
public PageHandler(int totalCnt, int page) {
	this(totalCnt, page, 10);
}
public PageHandler(int totalCnt, int page, int pageSize) {
	this.totalCnt = totalCnt;
	this.page = page;
	this.pageSize = pageSize;
	totalPage = (int)Math.ceil(totalCnt / (double)pageSize);
	beginPage = (page-1) / naviSize * naviSize + 1;
	endPage = Math.min(beginPage + naviSize - 1, totalPage);
	showPrev = beginPage != 1;
	showNext = endPage != totalPage;
}
Getter & Setter
PageHandler.java
package com.fastcampus.ch4.domain;
public class PageHandler {
    private int totalCnt; //총 개시물 개수
    private int pageSize; //한 페이지의 크기
    private int naviSize = 10; //페이지 네비게이션의 크기
    private int totalPage; //전체 페이지의 개수
    private int page; //현재 페이지
    private int beginPage; //네비게이션의 첫번째 페이지
    private int endPage; //네비게이션의 마지막 페이지
    private boolean showPrev; //이전 페이지로 이동하는 링크를 보여줄 것인지의 여부
    private boolean showNext; //다음 페이지로 이동하는 링크르 보여줄 것인지의 여부
    public PageHandler(int totalCnt, int page) {
        this(totalCnt, page, 10);
    }
    public PageHandler(int totalCnt, int page, int pageSize) {
        this.totalCnt = totalCnt;
        this.page = page;
        this.pageSize = pageSize;
        totalPage = (int)Math.ceil(totalCnt / (double)pageSize);
        beginPage = (page-1) / naviSize * naviSize + 1;
        endPage = Math.min(beginPage + naviSize - 1, totalPage);
        showPrev = beginPage != 1;
        showNext = endPage != totalPage;
    }
    void print() {
        System.out.println("page = " + page);
        System.out.print(showPrev ? "[PREV] " : "");
        for (int i = beginPage; i <= endPage; i++) {
            System.out.print(i + " ");
        }
        System.out.println(showNext ? " [NEXT]" : "");
    }
    public int getTotalCnt() {
        return totalCnt;
    }
    public void setTotalCnt(int totalCnt) {
        this.totalCnt = totalCnt;
    }
    public int getPageSize() {
        return pageSize;
    }
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
    public int getNaviSize() {
        return naviSize;
    }
    public void setNaviSize(int naviSize) {
        this.naviSize = naviSize;
    }
    public int getTotalPage() {
        return totalPage;
    }
    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }
    public int getPage() {
        return page;
    }
    public void setPage(int page) {
        this.page = page;
    }
    public int getBeginPage() {
        return beginPage;
    }
    public void setBeginPage(int beginPage) {
        this.beginPage = beginPage;
    }
    public int getEndPage() {
        return endPage;
    }
    public void setEndPage(int endPage) {
        this.endPage = endPage;
    }
    public boolean isShowPrev() {
        return showPrev;
    }
    public void setShowPrev(boolean showPrev) {
        this.showPrev = showPrev;
    }
    public boolean isShowNext() {
        return showNext;
    }
    public void setShowNext(boolean showNext) {
        this.showNext = showNext;
    }
    @Override
    public String toString() {
        return "PageHandler{" +
                "totalCnt=" + totalCnt +
                ", pageSize=" + pageSize +
                ", naviSize=" + naviSize +
                ", totalPage=" + totalPage +
                ", page=" + page +
                ", beginPage=" + beginPage +
                ", endPage=" + endPage +
                ", showPrev=" + showPrev +
                ", showNext=" + showNext +
                '}';
    }
}