ㅁ 일반게시판서비스
- 일반게시판서비스_목록조회요청(페이징처리)
- 일반게시판서비스_작성요청(파일업로드)
- 일반게시판서비스_수정요청
ㅁ 현재 일반게시판서비스 화면 구현 현황
- src/main/webapp/views/board 폴더에 일반게시판 목록, 상세, 수정, 작성페이지와 사진게시판 목록, 상세, 작성페이지들이 있다. 이건 받았다.
- "일반게시판목록페이지.html"이다.
- 공지사항 목록페이지와 비슷해보이지만 공지사항 목록페이지에는 페이징처리를 하지 않았다.
NOTICE 테이블의 전체 데이터를 싹 다 조회해왔었다.
- 만약 NOTICE 테이블에 데이터가 1000개 있다면 공지사항 목록페이지에 1000개의 게시글이 다 보여질 것이다.
다수의 데이터가 있을 수 있기 때문에 게시판 형태는 페이징처리를 해줘야 한다.
- 일반게시글 목록페이지에서 "게시글 데이터뿐" 아니라 "페이징 바"도 매번 동적으로 만들어줘야 한다.
내가 6번 페이지를 가면 페이징 바도 시작번호는 6, 끝번호는 10이 되어야 한다.
- 현재 내가 몇번 페이지를 보고 있고, 그 때 이 페이징 바의 목록을 몇개 단위씩(현재 5개) 할건지,
게시글도 몇개 단위씩 보여지게 할건지에 따라서 이 페이지는 다르게 보여진다.
- "일반게시글상세페이지.html"이다.
- "일반게시글작성페이지.html"이다.
- "일반게시글작성페이지.html"의 카테고리를 눌러본 화면이다.
- "일반게시글수정페이지.html"이다.
ㅁ 필요한 패키지, 클래스, xml 파일을 만든다.
ㅁ db.mappers 패키지에 board-mapper.xml 파일을 세팅한다.
- xml 파일은 항상 작성해야하는 구문이 있었다. 다른데서 가져온다.
ㅁ BoardDao.java를 기본세팅한다.
- BoardDao.class.getResource() 메소드의 괄호 안의 경로 중 "슬래시"가 곧 "classes" 폴더를 가리킨다.
현재 작업중인 곳은 NoticeDao.class 파일이다.
슬래시는 이 파일이 컴파일된 클래스 파일의 루트 폴더인 classes 폴더를 가리킨다.
(읽어들여야 하는 파일은 지금 작업중인 파일이 아니라, 동기화된 실제 배포되는 파일이다)
- getResource()로 파일을 찾고, getPath()로 그 파일의 경로가 반환된다.
ㅁ BoardService.java를 기본세팅한다.
- BoardService 클래스에는 BoardDao 객체를 만들어 놓는다.
ㅁ Board.java를 기본세팅한다.
- category 필드는 insert할 때는 카테고리 번호가 들어가지만, select할 때는 카테고리명이 들어가게끔 구성했다.
- boardWriter 필드는 insert할 때는 회원번호가 들어가지만, select할 때는 회원아이디가 들어가게끔 구성했다.
(이렇게 하지 않고 필드를 두 개 둬도 된다)
- Date는 java.sql.Date를 import 한다.
- 기본생성자, 매개변수 생성자, 게터세터, toString 메소드를 만든다.
ㅁ 메인 페이지
- 메인페이지의 메뉴바에서 '일반게시판'을 누르는 순간, 일반게시판 목록페이지로 이동된다.
보통 메뉴바를 클릭하면 목록페이지 중에서도 1번 페이지로 이동된다.
- 어떤 쇼핑몰의 메인페이지다.
메뉴바의 q&a 게시판을 누르면 q&a 게시판으로 이동한다.
- q&a 게시판의 1번 페이지가 보여진다.
- https://lovegram.co.kr/board/product/list.html?board_no=6
q&a 게시판을 클릭하는 순간 "list.html"이라는 url이 요청된다.
이때 board_no이 전달되는데 이건 무시. 지금 신경쓸 건 아님.
- 현재 1번 페이지 요청인데 메뉴바에서 클릭했을 때는 1번 페이지를 요청한다는 데이터가 넘어가진 않는다.
- 목록페이지의 2번 페이지에 띄워줄 데이터가 조회돼서 보여진다.
- https://lovegram.co.kr/board/product/list.html?board_no=6&page=2
페이징 바에 있는 숫자를 눌렀을 때는 똑같이 "list.html"이라는 url로 요청하는데
key값으로 "page", value값으로 "2"가 넘어간다.
- 메뉴바에 있는 메뉴 클릭 시에는 페이지 번호가 넘어가지 않는다.
페이지 번호가 넘어가지 않으면, 그때는 1번 페이지를 요청하는 것으로 간주되어야 한다.
- 페이징 바에 있는 숫자를 클릭했을 때는 현재 요청하는 페이지 번호가 넘어간다.
- 일반게시판도 이런 방식으로 만든다.
'05_Server (04. JSP 프로그래밍 구현)' 카테고리의 다른 글
[3-3] 일반게시판서비스 작성요청(파일업로드) (0) | 2024.09.11 |
---|---|
[3-2] 일반게시판서비스 목록조회요청(페이징처리) (0) | 2024.09.11 |
[2-5] 공지사항서비스 삭제요청 (0) | 2024.09.11 |
[2-4] 공지사항서비스 수정요청 (0) | 2024.09.10 |
[2-3] 공지사항서비스 작성요청 (0) | 2024.09.10 |