C기능과 R기능을 MVC 패턴을 이용해 구현했다.
이번엔 글 수정과 글 삭제를 해보겠다.
<U 기능 구현>
main.jsp
메인에서 수정 버튼을 누르면 controller로 bd_update 요청이 넘어가게 해준다.
selectone.jsp 에서도 똑같이 요청을 넘겨준다.
controller.jsp
bd_update 요청이 들어오면 같이 온 bd_no 값을 받아 원래 해당 게시글의 데이터와 같이 bd_update.jsp로 보내준다.
bd_update.jsp
UTF-8과 import를 해주고
수정할 부분인 title, content를 text type으로 지정해 값을 받아와준다.
수정버튼은 submit으로 지정해 누르면 바로 controller.jsp로 넘어가게 해준다. 이 요청 이름은 update로 지정해준다.
다시 controller로 돌아가 update 요청이 들어오면 받아온 bd_no, title, content를 dto의 bd_title, bd_content, bd_no에 저장해준다.
그리고 dao의 update를 실행해준다.
MVCBoardDao.java
update( )메소드를 이용해 db를 연결하고 쿼리를 실행해서 pstm에 쿼리 실행한 값을 받고 그걸 또 res에 저장해준다.
다시 controller.jsp로 돌아가서
사용자가 입력한 값이 있으면 수정 완료를, 없으면 수정 실패를 리턴해준다.
다 됐으면 browser에서 실행을 해본다.
글 수정이 잘 되는 걸 볼 수 있다.
<D 기능 구현>
일단 삭제버튼이 총 3개임을 기억한다.
목록에서 하나,
게시글 보기에서 하나,
그리고 다시 목록에서 멀티 삭제기능으로 하나
일단 목록(main.jsp)과 게시글 보기(selectone.jsp)에 요청 bd_delete를 controller에 넘겨주는 <a>태그를 완성해준다. 특정 게시글를 지우는 것이므로 게시글 번호도 같이 넘겨준다.
그리고 main에서 멀티 삭제를 위한 checkbox를 만들어준다.
jquery로 동작을 추가해준다.
위의 내용은 jsp실습 참고...
controller.jsp에서 요청받은 bd_delete, multidel를 처리해준다.
저번 jsp실습에서는 둘을 각각 메소드로 처리했지만 이번에는 한가지 메소드 multiDelete( )만을 이용했다.
Dao에서 multiDelete( ) 메소드를 완성해준다.
db를 연결하고 쿼리를 실행하고 값을 받아온다.
그리고 다시 controller.jsp로 돌아가 dao 메소드 후 처리를 완성해준다.
이렇게 세가지 삭제 기능이 잘 돌아가는 걸 볼 수 있다.
저번 jsp와 똑같은 기능과 디자인의 게시판을 만들어봤다.
현재는 사용자도 관리자도 나 혼자고 데이터도 그리 많지 않아 별반 차이를 못 느낀다.
하지만 대형 프로젝트/기업에선 분명히 mvc패턴이 유지 보수 관리하기 용이할 것 같다.
댓글