board - 수정

Hwawon_2·2022년 3월 10일
0

****_글 수정하기
1. 컨드롤러(servlet)
a. 수정 창 진입용 컨트롤러(BoardUpdateFormServlet)
-> 내가 수정하려는 글에 제목, 본문, 글쓴이
수정용 폼에 수정할 글 정보를 전달해야함.

b. 수정 완료 후 처리해줄 컨트롤러(BoardUpdateServlet)

2.모델(dao)
3.뷰(.jsp)_****

수정창을 집입하는걸 만들어보겠습니다. (1-a)
kr.co.ict.servlet에서 BoardUpdateFormServlet을 만들어 줍니다
(주소는 /boardUpdateForm doPost만 체크해줍니다. )

접속부터 되는지 확인해보겠습니다.
1.boarddetail.jsp에 목저지를 현재 서블릿으로 하고 post방식 전달을 하는 form과 submit버튼 "수정하기"를 만들어줍니다.


2.doPost에서 실제로 수정하기를 눌렀을때 반응이 있는지 체크하기전에
글번호랑 같이 넘겨지는지 확인하기 위해
request.getParameter를 사용합니다.
BoardUpdateFormServlet

integger를 사용해서 정수로 다시 만들어 줍니다.
System.out.println을 이용해서 확인을 해줍니다.

디테일 페이지에 가서 접속을 해 확인을 해보겠습니다.

콘솔창에서 수정페이지 진입 확인이 가능하게 됨으로서 진입이 확인이 되었습니다.

BoardUpdateFormServlet
수정 버튼을 눌렀을때 글제목, 글내용, 글쓴이 등이 기입된 상태로 수정창이 열려야 합니다.
기입된 상태가 되려면 먼저 입력된 글 번호에 해당하는 글 정보를 DB에서 자바로 가져와야 합니다.
글 번호 입력시 해당 번호 글의 정보를 가져오는 로직은 BoardDAO의 getBoardDerail에 작성되어 있어서 따로 작성을 안해도 됩니다.

1. dao 생성 // 다오에서 메서드 호출

2. BoardVO가져오기

3. 가져온 데이터 바인딩

4. 목적지로 포워딩

(SELECT - 포워딩)

boardUpdateForm.jsp를 만들어 데이터가 잘 전달되는지 보겠습니다.

BoardUpdateFormServlet에서 board라는 명칭으로 보내주고 있기 때문에
boardUpdateForm.jsp에 el문을써 board라는 명칭으로 찍어주면 됩니다.
포워딩 되는지 확인해 보겠습니다.

포워딩 되는걸 확인할 수 있습니다.

kr.co.ict.servlet에서 BoardUpdateServlet을 만들어 줍니다.
주소는 /boardUpdate, doPost만 체크 해줍니다.

boardUpdateForm.jsp
목적지가 /boardUpdate 메서드는 post인 form을 만들어 줍니다.

날려야 하는 데이터의 name을 넣어 줍니다.(글제목, 본문, 글번호)

수정하기를 눌러 f12눌러 페이로드에 나오는걸 확인 가능

(13번글 삭제해서 12번글로 함ㅠ)

boardDAO로 와서 작성해줍니다.


update SELECT가 아니므로 void리턴 자료형을 가집니다.

try진입 전 db연결 해주고 선언을 해 줍니다.

쿼리문을 작성 해줍니다.

?가 세개이므로 3개 넣어주고 excuteUpdate로 실행 해줍니다.

catct를 이용해 닫아주면 끝!

폼에서 보내준 name을 request.getParameter로 받아줍니다.

post는 한글이 깨지므로 utf-8까지 위에 써줍니다.


저장한 변수를 이용해 updateBoard()메서들르 호출해 줍니다.


boarddetail?board_num=글번호 로 Redirect를 이용해 수정이 완료되면 수정글을 확인 할 수 있게 만들어 줍니다.
실행해보면

쓴날짜와 수정한날짜가 다른걸 확인할 수 있습니다.

profile
코딩 일기장

0개의 댓글