board - 삭제

Hwawon_2·2022년 3월 10일
0

삭제기능을 추가할겁니다.
kr.co.ict.servlet에서 BoardDeleteSerblet를 만들어 줍니다.
(주소는 /boardDelete dopost만 체크 해줍니다. )
(SELETE 구문 이외는 모두 dopost로 처리합니다. )

post지역에 system.out.println으로 접속이 되는지 확인을 해보겠습니다.

* 여기서 run as로 서버에 접속을 할려면 접속은 안됩니다.
이유는 get방식이 아니라 post 방식이기 때문
get방식은 주소를 직접쳐서 들어가는 방식이기때문에 post에서는 접속이 안됨

(post로 접근할수 있는 form을 생성해줘야합니다. )
boarddetail.jsp에 post로 접근할수 있는 form을 생성하겠습니다.
)
삭제하기 버튼을 클릭하면 /boardDelete로 넘어가고,
전달하는 데이터는 지금당장은 없고 다음에 글번호로 넘길겁니다.
실행해보면

삭제하기 버튼을 확인할 수 있습니다.

콘솔창에 "삭제페이지 접근 성공" 뜨면 성공한겁니다.
버튼을 눌렀을때만 가능해야 합니다. (주소로 접근하면 에러가 뜨는게 맞습니다. 405에러 )

*get post구분하는 기준
(SELECT get 허용
SELRCT 아닌건 post만 허용
post로 특정 페이지로 넘어가는건 form을 쓰면 됩니다.

글 번호(board_num)을 넘기도록 폼을 수정하도록 하겠습니다.

name="board_num"으로 주었기 때문에 board_num으로 넘어옵니다.
boardDeleteServlet으로 와서 request.getParameter로 받아줍니다.

(int이기 때문에 integger을 이용해서 바꿔줍니다. )
실행해보면


삭제되는걸 확인할 수 있습니다.

저 번호 칸을 없애기 위해서는

boarddetaul.jsp로 와서number->hidden으로 바꿔줍니다.
(hidden - 눈에 보이지는 않지만 전달되는걸 말한다. )

없어진걸 확인할 수 있습니다.

-post방식으로 넘어간걸 selvlet에서 접수해서 처리할수 있는걸 확인할수 있음

boardDAO에 delete문을 만들어 줍니다.
deleteBoard 메서드를 만들어 줍니다.

() 글 번호로 받아서 처리를 하기 때문에 board_num을 넣어줍니다.

DB 연결

Connection 선언

쿼리문은 2종류
(SELECT인것과 아닌것)

삭제 쿼리문


?를 채워주고
첫번째 물음표에 board_num을 넣어주겠다.
(int라서 setInt로 받아줌)

pstmt.executeUpdate();실행 해줍니다.

catch로 닫아주면 끝!

BoardDeleteServlet로 와서
1. DAO 생성

2. 삭제로직 실행

(dao.(다오에서 만든 메서드 이름)(위에서 호출받은 명칭)
3. 삭제후 boardList로 리다이렉트
(포워딩은 결과페이지에 데이터를 넘겨주면서 같이 넘어갈때 사용)

/boardlist에서 실행해서 삭제버튼을 누르면 삭제되는걸 확인할 수 있습니다.

profile
코딩 일기장

0개의 댓글