본문 바로가기

수업 & 공부/수업 내용

23- 게시판 만들기 1. (MVC패턴)

===초기 구성===

 

 

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를 정의하는 부분