===초기 구성===
BoardFrontController.java
client에서 *.bbs로 들어오는 모든 요청을 처리한다
여기서 어느 url로 보낼지 정한다. (글 목록 조회하기, 글 추가하기)
글 목록 조회처리 >
cmdURI 값에 /boardList.bbs 값이 들어오면
DB에서 데이터를 가져온다
어떻게? BoardListCmd 즉 cmd.execute를 통해
글 추가하기 처리 >
cmdURI 값에 /boardInsert.bbs 값이 들어오면
엔드유저가 작성한 글을 db에 insert시킨다
어떻게 ? BoardInsertCmd 즉 cmd.excute를 통해
그리고 viewPage를 boardInsert.bbs로 바꿔서 아래 코드를 실행
getRequestDispatcher()메서드 안에 들어가는 문자열viewPage는 뷰페이지 경로이다
따라서 boardInsert가 들어가냐, boardList가 들어가냐에 따라 이동경로가 바뀐다
dispatcher.forward() 를 통해 위에서 지정한 뷰 페이지로 이동시킨다
BoardListCmd ( 글목록 조회 )
글 목록 조회 요청이 들어왔을때 DB (BoardDAO) 에 접근해서 가져온 데이터를 Jsp파일로 넘겨준다
db접근해서 데이터를 가져와서(BoardDAO) > 가져온 db데이터를 list배열에 저장
그리고 request.setAttribute로 boardRowList 객체명으로 list를 Jsp파일에 넘겨주고
Jsp파일에서는 객체명boardRowList를 통해 객체 list를 받을 수 있다
BoardList.jsp-----------------------------------------
forEach 문으로 boardRowList 객체명을 사용하여
글목록을 보여주는 jsp페이지이다
글 추가하기 버튼을 누르면 boardInsert.jsp로 이동된다
BoardInsertCmd (글 추가하기 )
엔드유저에게 입력받은 데이터를 DB (boardDAO) 에게 호출해서 처리하는 곳
엔드유저로 입력받은 데이터를
String타입으로 지정 (subject, author, content)
> 잘 들어왔는지 log를 출력
db에 접근하여 데이터를 가져와 (boardDAO)
int로 지정한 newId 값을 가져오고 > ( boardDAO로 보내서 가장 높은 Id값에 +1을 하여 newId로 지정한다 )
dao의 insertBoardContent 를 호출해서 엔드유저에게 입력받은 데이터를 insert한다 (newId, subject, author, content)
boardInsert.jsp-----------------------
URL boardInsert.bbs로 폼 데이터를 post방식으로 보낸다
>> BoardFrontController.java 의 if문 글추가하기 부분을 통하여 >> boardInsertCmd로 엔드유저의 입력값을 보낸다
취소버튼을 누르면 상대경로 ../boardList.bbs 으로
BoardDAO
db에서 가져온 데이터를 확인하고
여러가지 기능을 수행한다
- Read 의 :데이터를 row단위로 가져와서 list에 넣는다
- Insert의 : 글 목록을 boardRowList로
- Insert의 : newId를 가져와서 +1을 시켜주는 쿼리, 엔드유저가 입력한 데이터를 insert하는 쿼리
boardDTO
db에서 board테이블의 칼럼과 row를 정의하는 부분
'수업 & 공부 > 수업 내용' 카테고리의 다른 글
25 - 게시판 만들기3 (삭제기능 구현) (0) | 2021.08.27 |
---|---|
24- 게시판 만들기2 (MVC 패턴) (0) | 2021.08.26 |
22- MVC패턴 : 게시판 만들기 - 1 (jstl 태그로 데이터 출력) (0) | 2021.08.25 |
21- 파일 업로드 예제 (0) | 2021.08.24 |
20- SQL ( DB트랜잭션 ) (0) | 2021.08.23 |